diff --git a/src/main/java/cn/celess/blog/entity/model/CategoryModel.java b/src/main/java/cn/celess/blog/entity/model/CategoryModel.java new file mode 100644 index 0000000..f601030 --- /dev/null +++ b/src/main/java/cn/celess/blog/entity/model/CategoryModel.java @@ -0,0 +1,43 @@ +package cn.celess.blog.entity.model; + +import cn.celess.blog.entity.Category; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * @Author: 小海 + * @Date: 2020-03-29 12:18 + * @Desc: + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CategoryModel { + private Long id; + + private String name; + + private List articles; + + + public CategoryModel(Category category) { + this.id = category.getId(); + this.name = category.getName(); + if (category.getArticles() == null || category.getArticles().length() == 0) { + articles = null; + } else { + articles = new ArrayList<>(); + for (String s : category.getArticles().split(",")) { + if ("".equals(s)) { + return; + } + articles.add(Integer.parseInt(s)); + } + } + } +} diff --git a/src/main/java/cn/celess/blog/service/CategoryService.java b/src/main/java/cn/celess/blog/service/CategoryService.java index 561b99f..d5e5470 100644 --- a/src/main/java/cn/celess/blog/service/CategoryService.java +++ b/src/main/java/cn/celess/blog/service/CategoryService.java @@ -1,6 +1,7 @@ package cn.celess.blog.service; import cn.celess.blog.entity.Category; +import cn.celess.blog.entity.model.CategoryModel; import org.springframework.stereotype.Service; import java.util.List; @@ -17,7 +18,7 @@ public interface CategoryService { * @param name 分类名 * @return 所增加的分类数据 */ - Category create(String name); + CategoryModel create(String name); /** * 增加一个分类 @@ -25,7 +26,7 @@ public interface CategoryService { * @param category 分类对象 * @return 所增加的分类数据 */ - Category create(Category category); + CategoryModel create(Category category); /** * 通过id删除分类 @@ -42,13 +43,13 @@ public interface CategoryService { * @param name 分类名字 * @return 更新后的分类的数据 */ - Category update(Long id, String name); + CategoryModel update(Long id, String name); /** * 获取全部的分类数据 * * @return 全部的分类数据 */ - List retrievePage(); + List retrievePage(); } diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java index 3c319b5..e76062a 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java @@ -3,6 +3,7 @@ package cn.celess.blog.service.serviceimpl; import cn.celess.blog.enmu.ResponseEnum; import cn.celess.blog.entity.Article; import cn.celess.blog.entity.Category; +import cn.celess.blog.entity.model.CategoryModel; import cn.celess.blog.exception.MyException; import cn.celess.blog.mapper.ArticleMapper; import cn.celess.blog.mapper.CategoryMapper; @@ -11,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; /** @@ -27,7 +29,7 @@ public class CategoryServiceImpl implements CategoryService { ArticleMapper articleMapper; @Override - public Category create(String name) { + public CategoryModel create(String name) { if (categoryMapper.existsByName(name)) { throw new MyException(ResponseEnum.CATEGORY_HAS_EXIST); } @@ -35,16 +37,16 @@ public class CategoryServiceImpl implements CategoryService { category.setName(name); category.setArticles(""); categoryMapper.insert(category); - return category; + return new CategoryModel(category); } @Override - public Category create(Category category) { + public CategoryModel create(Category category) { if (category == null) { throw new MyException(ResponseEnum.PARAMETERS_ERROR); } categoryMapper.insert(category); - return category; + return new CategoryModel(category); } @Override @@ -74,18 +76,20 @@ public class CategoryServiceImpl implements CategoryService { @Override - public Category update(Long id, String name) { + public CategoryModel update(Long id, String name) { if (id == null) { throw new MyException(ResponseEnum.PARAMETERS_ERROR.getCode(), "id不可为空"); } Category category = categoryMapper.findCategoryById(id); category.setName(name); categoryMapper.update(category); - return category; + return new CategoryModel(category); } @Override - public List retrievePage() { - return categoryMapper.findAll(); + public List retrievePage() { + List list = new ArrayList<>(); + categoryMapper.findAll().forEach(e -> list.add(new CategoryModel(e))); + return list; } } diff --git a/src/test/java/cn/celess/blog/controller/CategoryControllerTest.java b/src/test/java/cn/celess/blog/controller/CategoryControllerTest.java index 258778f..5c1d040 100644 --- a/src/test/java/cn/celess/blog/controller/CategoryControllerTest.java +++ b/src/test/java/cn/celess/blog/controller/CategoryControllerTest.java @@ -2,6 +2,7 @@ package cn.celess.blog.controller; import cn.celess.blog.BaseTest; import cn.celess.blog.entity.Category; +import cn.celess.blog.entity.model.CategoryModel; import cn.celess.blog.mapper.CategoryMapper; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -45,10 +46,10 @@ public class CategoryControllerTest extends BaseTest { .andDo(result -> { JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); assertEquals(SUCCESS.getCode(), object.getInt(Code)); - Category category = (Category) JSONObject.toBean(object.getJSONObject(Result), Category.class); + CategoryModel category = (CategoryModel) JSONObject.toBean(object.getJSONObject(Result), CategoryModel.class); assertEquals(categoryName, category.getName()); assertNotNull(category.getId()); - assertNotNull(category.getArticles()); + assertNotEquals(0, category.getArticles()); }); } @@ -105,9 +106,9 @@ public class CategoryControllerTest extends BaseTest { .andDo(result -> { JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString()); assertEquals(SUCCESS.getCode(), object.getInt(Code)); - Category c = (Category) JSONObject.toBean(object.getJSONObject(Result), Category.class); + CategoryModel c = (CategoryModel) JSONObject.toBean(object.getJSONObject(Result), CategoryModel.class); assertEquals(name, c.getName()); - assertNotNull(c.getArticles()); + assertNotEquals(0, c.getArticles()); assertNotNull(c.getId()); }); } @@ -121,10 +122,10 @@ public class CategoryControllerTest extends BaseTest { JSONArray jsonArray = object.getJSONArray(Result); assertNotNull(jsonArray); jsonArray.forEach(o -> { - Category c = (Category) JSONObject.toBean(JSONObject.fromObject(o), Category.class); + CategoryModel c = (CategoryModel) JSONObject.toBean(JSONObject.fromObject(o), CategoryModel.class); assertNotNull(c.getName()); assertNotNull(c.getId()); - assertNotNull(c.getArticles()); + assertNotEquals(0, c.getArticles()); }); });