修改响应的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.Tag;
|
||||
import cn.celess.blog.entity.model.TagModel;
|
||||
import cn.celess.blog.service.TagService;
|
||||
import cn.celess.blog.util.ResponseUtil;
|
||||
import net.sf.json.JSONObject;
|
||||
@@ -56,12 +57,11 @@ public class TagController {
|
||||
@GetMapping("/tags/nac")
|
||||
public Response getTagNameAndCount() {
|
||||
List<JSONObject> nameAndCount = new ArrayList<>();
|
||||
List<Tag> all = tagService.findAll();
|
||||
for (Tag t : all) {
|
||||
List<TagModel> all = tagService.findAll();
|
||||
for (TagModel t : all) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("name", t.getName());
|
||||
String articles = t.getArticles();
|
||||
jsonObject.put("size", articles == null ? 0 : articles.split(",").length);
|
||||
jsonObject.put("size", t.getArticles() == null ? 0 : t.getArticles().size());
|
||||
nameAndCount.add(jsonObject);
|
||||
}
|
||||
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;
|
||||
|
||||
import cn.celess.blog.entity.Tag;
|
||||
import cn.celess.blog.entity.model.TagModel;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -18,7 +19,7 @@ public interface TagService {
|
||||
* @param name 标签名
|
||||
* @return 新增后的数据
|
||||
*/
|
||||
Tag create(String name);
|
||||
TagModel create(String name);
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
@@ -27,7 +28,7 @@ public interface TagService {
|
||||
* @return 新增后的数据
|
||||
*/
|
||||
|
||||
Tag create(Tag tag);
|
||||
TagModel create(Tag tag);
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
@@ -44,7 +45,7 @@ public interface TagService {
|
||||
* @param name 改名的name值
|
||||
* @return 更新后的数据
|
||||
*/
|
||||
Tag update(Long id, String name);
|
||||
TagModel update(Long id, String name);
|
||||
|
||||
/**
|
||||
* 查询单个标签信息
|
||||
@@ -52,7 +53,7 @@ public interface TagService {
|
||||
* @param tagId id
|
||||
* @return 标签的数据
|
||||
*/
|
||||
Tag retrieveOneById(long tagId);
|
||||
TagModel retrieveOneById(long tagId);
|
||||
|
||||
/**
|
||||
* 通过name查询标签的信息
|
||||
@@ -60,7 +61,7 @@ public interface TagService {
|
||||
* @param name tag的名称
|
||||
* @return 标签数据
|
||||
*/
|
||||
Tag retrieveOneByName(String name);
|
||||
TagModel retrieveOneByName(String name);
|
||||
|
||||
|
||||
/**
|
||||
@@ -70,13 +71,13 @@ public interface TagService {
|
||||
* @param page 数据页
|
||||
* @return 分页数据
|
||||
*/
|
||||
PageInfo<Tag> retrievePage(int page, int count);
|
||||
PageInfo<TagModel> retrievePage(int page, int count);
|
||||
|
||||
/**
|
||||
* 获取全部标签数据
|
||||
*
|
||||
* @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.entity.Article;
|
||||
import cn.celess.blog.entity.Tag;
|
||||
import cn.celess.blog.entity.model.TagModel;
|
||||
import cn.celess.blog.exception.MyException;
|
||||
import cn.celess.blog.mapper.ArticleMapper;
|
||||
import cn.celess.blog.mapper.TagMapper;
|
||||
@@ -13,6 +14,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;
|
||||
|
||||
/**
|
||||
@@ -29,7 +31,7 @@ public class TagServiceImpl implements TagService {
|
||||
ArticleMapper articleMapper;
|
||||
|
||||
@Override
|
||||
public Tag create(String name) {
|
||||
public TagModel create(String name) {
|
||||
boolean b = tagMapper.existsByName(name);
|
||||
if (b) {
|
||||
throw new MyException(ResponseEnum.TAG_HAS_EXIST);
|
||||
@@ -37,16 +39,16 @@ public class TagServiceImpl implements TagService {
|
||||
Tag tag = new Tag();
|
||||
tag.setName(name);
|
||||
tagMapper.insert(tag);
|
||||
return tag;
|
||||
return new TagModel(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag create(Tag tag) {
|
||||
public TagModel create(Tag tag) {
|
||||
if (tag == null) {
|
||||
throw new MyException(ResponseEnum.PARAMETERS_ERROR);
|
||||
}
|
||||
tagMapper.insert(tag);
|
||||
return tag;
|
||||
return new TagModel(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -55,11 +57,12 @@ public class TagServiceImpl implements TagService {
|
||||
if (tag == null) {
|
||||
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
||||
}
|
||||
if (tag.getArticles()==null){
|
||||
if (tag.getArticles() == null) {
|
||||
return tagMapper.delete(tagId) == 1;
|
||||
}
|
||||
String[] articleArray = tag.getArticles().split(",");
|
||||
for (int i = 0; i < articleArray.length; i++) {
|
||||
// FIXME :: bug
|
||||
if (articleArray[i] == null || "".equals(articleArray)) {
|
||||
continue;
|
||||
}
|
||||
@@ -76,7 +79,7 @@ public class TagServiceImpl implements TagService {
|
||||
|
||||
|
||||
@Override
|
||||
public Tag update(Long id,String name) {
|
||||
public TagModel update(Long id, String name) {
|
||||
if (id == null) {
|
||||
throw new MyException(ResponseEnum.PARAMETERS_ERROR.getCode(), "缺少ID");
|
||||
}
|
||||
@@ -84,37 +87,43 @@ public class TagServiceImpl implements TagService {
|
||||
tagFromDB.setName(name);
|
||||
|
||||
tagMapper.update(tagFromDB);
|
||||
return tagFromDB;
|
||||
return new TagModel(tagFromDB);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag retrieveOneById(long tagId) {
|
||||
public TagModel retrieveOneById(long tagId) {
|
||||
Tag tag = tagMapper.findTagById(tagId);
|
||||
if (tag == null) {
|
||||
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
||||
}
|
||||
return tag;
|
||||
return new TagModel(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tag retrieveOneByName(String name) {
|
||||
public TagModel retrieveOneByName(String name) {
|
||||
Tag tag = tagMapper.findTagByName(name);
|
||||
if (tag == null) {
|
||||
throw new MyException(ResponseEnum.TAG_NOT_EXIST);
|
||||
}
|
||||
return tag;
|
||||
return new TagModel(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<Tag> retrievePage(int page, int count) {
|
||||
public PageInfo<TagModel> retrievePage(int page, int 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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tag> findAll() {
|
||||
return tagMapper.findAll();
|
||||
public List<TagModel> findAll() {
|
||||
List<TagModel> list = new ArrayList<>();
|
||||
tagMapper.findAll().forEach(e -> list.add(new TagModel(e)));
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user