修改响应的Tag的articles字段类型
This commit is contained in:
@@ -2,6 +2,7 @@ package cn.celess.blog.controller;
|
|||||||
|
|
||||||
import cn.celess.blog.entity.Response;
|
import cn.celess.blog.entity.Response;
|
||||||
import cn.celess.blog.entity.Tag;
|
import cn.celess.blog.entity.Tag;
|
||||||
|
import cn.celess.blog.entity.model.TagModel;
|
||||||
import cn.celess.blog.service.TagService;
|
import cn.celess.blog.service.TagService;
|
||||||
import cn.celess.blog.util.ResponseUtil;
|
import cn.celess.blog.util.ResponseUtil;
|
||||||
import net.sf.json.JSONObject;
|
import net.sf.json.JSONObject;
|
||||||
@@ -56,12 +57,11 @@ public class TagController {
|
|||||||
@GetMapping("/tags/nac")
|
@GetMapping("/tags/nac")
|
||||||
public Response getTagNameAndCount() {
|
public Response getTagNameAndCount() {
|
||||||
List<JSONObject> nameAndCount = new ArrayList<>();
|
List<JSONObject> nameAndCount = new ArrayList<>();
|
||||||
List<Tag> all = tagService.findAll();
|
List<TagModel> all = tagService.findAll();
|
||||||
for (Tag t : all) {
|
for (TagModel t : all) {
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("name", t.getName());
|
jsonObject.put("name", t.getName());
|
||||||
String articles = t.getArticles();
|
jsonObject.put("size", t.getArticles() == null ? 0 : t.getArticles().size());
|
||||||
jsonObject.put("size", articles == null ? 0 : articles.split(",").length);
|
|
||||||
nameAndCount.add(jsonObject);
|
nameAndCount.add(jsonObject);
|
||||||
}
|
}
|
||||||
return ResponseUtil.success(nameAndCount);
|
return ResponseUtil.success(nameAndCount);
|
||||||
|
|||||||
41
src/main/java/cn/celess/blog/entity/model/TagModel.java
Normal file
41
src/main/java/cn/celess/blog/entity/model/TagModel.java
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package cn.celess.blog.entity.model;
|
||||||
|
|
||||||
|
import cn.celess.blog.entity.Tag;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: 小海
|
||||||
|
* @Date: 2020-03-29 13:56
|
||||||
|
* @Desc:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class TagModel {
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private List<Integer> articles;
|
||||||
|
|
||||||
|
public TagModel(Tag tag) {
|
||||||
|
this.id = tag.getId();
|
||||||
|
this.name = tag.getName();
|
||||||
|
if (tag.getArticles() == null || tag.getArticles().length() == 0) {
|
||||||
|
articles = null;
|
||||||
|
} else {
|
||||||
|
articles = new ArrayList<>();
|
||||||
|
for (String s : tag.getArticles().split(",")) {
|
||||||
|
if ("".equals(s)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
articles.add(Integer.parseInt(s));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package cn.celess.blog.service;
|
package cn.celess.blog.service;
|
||||||
|
|
||||||
import cn.celess.blog.entity.Tag;
|
import cn.celess.blog.entity.Tag;
|
||||||
|
import cn.celess.blog.entity.model.TagModel;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -18,7 +19,7 @@ public interface TagService {
|
|||||||
* @param name 标签名
|
* @param name 标签名
|
||||||
* @return 新增后的数据
|
* @return 新增后的数据
|
||||||
*/
|
*/
|
||||||
Tag create(String name);
|
TagModel create(String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
@@ -27,7 +28,7 @@ public interface TagService {
|
|||||||
* @return 新增后的数据
|
* @return 新增后的数据
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Tag create(Tag tag);
|
TagModel create(Tag tag);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除数据
|
* 删除数据
|
||||||
@@ -44,7 +45,7 @@ public interface TagService {
|
|||||||
* @param name 改名的name值
|
* @param name 改名的name值
|
||||||
* @return 更新后的数据
|
* @return 更新后的数据
|
||||||
*/
|
*/
|
||||||
Tag update(Long id, String name);
|
TagModel update(Long id, String name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询单个标签信息
|
* 查询单个标签信息
|
||||||
@@ -52,7 +53,7 @@ public interface TagService {
|
|||||||
* @param tagId id
|
* @param tagId id
|
||||||
* @return 标签的数据
|
* @return 标签的数据
|
||||||
*/
|
*/
|
||||||
Tag retrieveOneById(long tagId);
|
TagModel retrieveOneById(long tagId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过name查询标签的信息
|
* 通过name查询标签的信息
|
||||||
@@ -60,7 +61,7 @@ public interface TagService {
|
|||||||
* @param name tag的名称
|
* @param name tag的名称
|
||||||
* @return 标签数据
|
* @return 标签数据
|
||||||
*/
|
*/
|
||||||
Tag retrieveOneByName(String name);
|
TagModel retrieveOneByName(String name);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,13 +71,13 @@ public interface TagService {
|
|||||||
* @param page 数据页
|
* @param page 数据页
|
||||||
* @return 分页数据
|
* @return 分页数据
|
||||||
*/
|
*/
|
||||||
PageInfo<Tag> retrievePage(int page, int count);
|
PageInfo<TagModel> retrievePage(int page, int count);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取全部标签数据
|
* 获取全部标签数据
|
||||||
*
|
*
|
||||||
* @return 标签数据列表
|
* @return 标签数据列表
|
||||||
*/
|
*/
|
||||||
List<Tag> findAll();
|
List<TagModel> findAll();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package cn.celess.blog.service.serviceimpl;
|
|||||||
import cn.celess.blog.enmu.ResponseEnum;
|
import cn.celess.blog.enmu.ResponseEnum;
|
||||||
import cn.celess.blog.entity.Article;
|
import cn.celess.blog.entity.Article;
|
||||||
import cn.celess.blog.entity.Tag;
|
import cn.celess.blog.entity.Tag;
|
||||||
|
import cn.celess.blog.entity.model.TagModel;
|
||||||
import cn.celess.blog.exception.MyException;
|
import cn.celess.blog.exception.MyException;
|
||||||
import cn.celess.blog.mapper.ArticleMapper;
|
import cn.celess.blog.mapper.ArticleMapper;
|
||||||
import cn.celess.blog.mapper.TagMapper;
|
import cn.celess.blog.mapper.TagMapper;
|
||||||
@@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,7 +31,7 @@ public class TagServiceImpl implements TagService {
|
|||||||
ArticleMapper articleMapper;
|
ArticleMapper articleMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tag create(String name) {
|
public TagModel create(String name) {
|
||||||
boolean b = tagMapper.existsByName(name);
|
boolean b = tagMapper.existsByName(name);
|
||||||
if (b) {
|
if (b) {
|
||||||
throw new MyException(ResponseEnum.TAG_HAS_EXIST);
|
throw new MyException(ResponseEnum.TAG_HAS_EXIST);
|
||||||
@@ -37,16 +39,16 @@ public class TagServiceImpl implements TagService {
|
|||||||
Tag tag = new Tag();
|
Tag tag = new Tag();
|
||||||
tag.setName(name);
|
tag.setName(name);
|
||||||
tagMapper.insert(tag);
|
tagMapper.insert(tag);
|
||||||
return tag;
|
return new TagModel(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tag create(Tag tag) {
|
public TagModel create(Tag tag) {
|
||||||
if (tag == null) {
|
if (tag == null) {
|
||||||
throw new MyException(ResponseEnum.PARAMETERS_ERROR);
|
throw new MyException(ResponseEnum.PARAMETERS_ERROR);
|
||||||
}
|
}
|
||||||
tagMapper.insert(tag);
|
tagMapper.insert(tag);
|
||||||
return tag;
|
return new TagModel(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -60,6 +62,7 @@ public class TagServiceImpl implements TagService {
|
|||||||
}
|
}
|
||||||
String[] articleArray = tag.getArticles().split(",");
|
String[] articleArray = tag.getArticles().split(",");
|
||||||
for (int i = 0; i < articleArray.length; i++) {
|
for (int i = 0; i < articleArray.length; i++) {
|
||||||
|
// FIXME :: bug
|
||||||
if (articleArray[i] == null || "".equals(articleArray)) {
|
if (articleArray[i] == null || "".equals(articleArray)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -76,7 +79,7 @@ public class TagServiceImpl implements TagService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tag update(Long id,String name) {
|
public TagModel update(Long id, String name) {
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
throw new MyException(ResponseEnum.PARAMETERS_ERROR.getCode(), "缺少ID");
|
throw new MyException(ResponseEnum.PARAMETERS_ERROR.getCode(), "缺少ID");
|
||||||
}
|
}
|
||||||
@@ -84,37 +87,43 @@ public class TagServiceImpl implements TagService {
|
|||||||
tagFromDB.setName(name);
|
tagFromDB.setName(name);
|
||||||
|
|
||||||
tagMapper.update(tagFromDB);
|
tagMapper.update(tagFromDB);
|
||||||
return tagFromDB;
|
return new TagModel(tagFromDB);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tag retrieveOneById(long tagId) {
|
public TagModel retrieveOneById(long tagId) {
|
||||||
Tag tag = tagMapper.findTagById(tagId);
|
Tag tag = tagMapper.findTagById(tagId);
|
||||||
if (tag == null) {
|
if (tag == null) {
|
||||||
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
||||||
}
|
}
|
||||||
return tag;
|
return new TagModel(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Tag retrieveOneByName(String name) {
|
public TagModel retrieveOneByName(String name) {
|
||||||
Tag tag = tagMapper.findTagByName(name);
|
Tag tag = tagMapper.findTagByName(name);
|
||||||
if (tag == null) {
|
if (tag == null) {
|
||||||
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
||||||
}
|
}
|
||||||
return tag;
|
return new TagModel(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<Tag> retrievePage(int page, int count) {
|
public PageInfo<TagModel> retrievePage(int page, int count) {
|
||||||
PageHelper.startPage(page, count);
|
PageHelper.startPage(page, count);
|
||||||
PageInfo pageInfo = new PageInfo(tagMapper.findAll());
|
List<Tag> tagList = tagMapper.findAll();
|
||||||
|
PageInfo pageInfo = new PageInfo(tagList);
|
||||||
|
List<TagModel> list = new ArrayList<>();
|
||||||
|
tagList.forEach(e -> list.add(new TagModel(e)));
|
||||||
|
pageInfo.setList(list);
|
||||||
return pageInfo;
|
return pageInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Tag> findAll() {
|
public List<TagModel> findAll() {
|
||||||
return tagMapper.findAll();
|
List<TagModel> list = new ArrayList<>();
|
||||||
|
tagMapper.findAll().forEach(e -> list.add(new TagModel(e)));
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package cn.celess.blog.controller;
|
|||||||
|
|
||||||
import cn.celess.blog.BaseTest;
|
import cn.celess.blog.BaseTest;
|
||||||
import cn.celess.blog.entity.Tag;
|
import cn.celess.blog.entity.Tag;
|
||||||
|
import cn.celess.blog.entity.model.TagModel;
|
||||||
import cn.celess.blog.mapper.TagMapper;
|
import cn.celess.blog.mapper.TagMapper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import net.sf.json.JSONArray;
|
import net.sf.json.JSONArray;
|
||||||
@@ -29,7 +30,7 @@ public class TagControllerTest extends BaseTest {
|
|||||||
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
||||||
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
||||||
JSONObject resJson = object.getJSONObject(Result);
|
JSONObject resJson = object.getJSONObject(Result);
|
||||||
Tag tag = (Tag) JSONObject.toBean(resJson, Tag.class);
|
TagModel tag = (TagModel) JSONObject.toBean(resJson, TagModel.class);
|
||||||
assertNotNull(tag.getId());
|
assertNotNull(tag.getId());
|
||||||
assertEquals(name, tag.getName());
|
assertEquals(name, tag.getName());
|
||||||
});
|
});
|
||||||
@@ -63,9 +64,11 @@ public class TagControllerTest extends BaseTest {
|
|||||||
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
||||||
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
||||||
assertNotNull(object.getJSONObject(Result));
|
assertNotNull(object.getJSONObject(Result));
|
||||||
Tag t = (Tag) JSONObject.toBean(object.getJSONObject(Result), Tag.class);
|
TagModel t = (TagModel) JSONObject.toBean(object.getJSONObject(Result), TagModel.class);
|
||||||
assertEquals(name, t.getName());
|
assertEquals(name, t.getName());
|
||||||
assertEquals(tag.getArticles(), t.getArticles());
|
StringBuilder s = new StringBuilder();
|
||||||
|
t.getArticles().forEach(e -> s.append(e).append(","));
|
||||||
|
assertEquals(tag.getArticles(), s.toString());
|
||||||
assertEquals(tag.getId(), t.getId());
|
assertEquals(tag.getId(), t.getId());
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -79,7 +82,7 @@ public class TagControllerTest extends BaseTest {
|
|||||||
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
||||||
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
||||||
assertNotNull(object.getJSONObject(Result));
|
assertNotNull(object.getJSONObject(Result));
|
||||||
Tag t = (Tag) JSONObject.toBean(object.getJSONObject(Result), Tag.class);
|
TagModel t = (TagModel) JSONObject.toBean(object.getJSONObject(Result), TagModel.class);
|
||||||
assertEquals(tag.getId(), t.getId());
|
assertEquals(tag.getId(), t.getId());
|
||||||
assertNotNull(t.getName());
|
assertNotNull(t.getName());
|
||||||
});
|
});
|
||||||
@@ -93,7 +96,7 @@ public class TagControllerTest extends BaseTest {
|
|||||||
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
JSONObject object = JSONObject.fromObject(result.getResponse().getContentAsString());
|
||||||
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
assertEquals(SUCCESS.getCode(), object.getInt(Code));
|
||||||
assertNotNull(object.getJSONObject(Result));
|
assertNotNull(object.getJSONObject(Result));
|
||||||
Tag t = (Tag) JSONObject.toBean(object.getJSONObject(Result), Tag.class);
|
TagModel t = (TagModel) JSONObject.toBean(object.getJSONObject(Result), TagModel.class);
|
||||||
assertEquals(tag.getName(), t.getName());
|
assertEquals(tag.getName(), t.getName());
|
||||||
assertNotNull(t.getId());
|
assertNotNull(t.getId());
|
||||||
});
|
});
|
||||||
@@ -119,7 +122,7 @@ public class TagControllerTest extends BaseTest {
|
|||||||
assertEquals(5, pageInfo.getPageSize());
|
assertEquals(5, pageInfo.getPageSize());
|
||||||
// 内容完整
|
// 内容完整
|
||||||
for (Object tag : pageInfo.getList()) {
|
for (Object tag : pageInfo.getList()) {
|
||||||
Tag t = (Tag) JSONObject.toBean(JSONObject.fromObject(tag), Tag.class);
|
TagModel t = (TagModel) JSONObject.toBean(JSONObject.fromObject(tag), TagModel.class);
|
||||||
assertNotNull(t.getId());
|
assertNotNull(t.getId());
|
||||||
assertNotNull(t.getName());
|
assertNotNull(t.getName());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user