分离不同状态的数据 #11

Merged
xiaohai2271 merged 13 commits from dev into master 2020-08-31 13:01:09 +08:00
4 changed files with 36 additions and 4 deletions
Showing only changes of commit 9f883d12df - Show all commits

View File

@@ -120,7 +120,7 @@ public class ArticleController {
@GetMapping("/admin/articles")
public Response adminArticles(@RequestParam(name = "page", defaultValue = "1") int page,
@RequestParam(name = "count", defaultValue = "10") int count,
@RequestParam(name = "deleted", defaultValue = "false") boolean deleted) {
@RequestParam(name = "deleted", required = false) Boolean deleted) {
return Response.success(articleService.adminArticles(count, page, deleted));
}

View File

@@ -52,7 +52,7 @@ public interface ArticleService {
* @param page 数据页
* @return 分页数据
*/
PageData<ArticleModel> adminArticles(int count, int page, boolean deleted);
PageData<ArticleModel> adminArticles(int count, int page, Boolean deleted);
/**
* 获取文章状态为开放的文章

View File

@@ -278,11 +278,16 @@ public class ArticleServiceImpl implements ArticleService {
* @return PageInfo
*/
@Override
public PageData<ArticleModel> adminArticles(int count, int page, boolean deleted) {
public PageData<ArticleModel> adminArticles(int count, int page, Boolean deleted) {
List<Article> articleList = articleMapper.findAll();
PageData<ArticleModel> pageData = new PageData<>(null, 0, count, page);
List<Article> collect = articleList.stream().filter(article -> article.isDeleted() == deleted).collect(Collectors.toList());
List<Article> collect;
if (deleted != null) {
collect = articleList.stream().filter(article -> article.isDeleted() == deleted).collect(Collectors.toList());
} else {
collect = articleList;
}
pageData.setTotal(collect.size());
List<ArticleModel> articleModels = collect.stream()
.peek(article -> article.setMdContent(null))

View File

@@ -0,0 +1,27 @@
package cn.celess.blog.service;
import cn.celess.blog.BaseTest;
import cn.celess.blog.entity.model.ArticleModel;
import cn.celess.blog.entity.model.PageData;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import static org.junit.Assert.*;
public class ArticleServiceTest extends BaseTest {
@Autowired
ArticleService articleService;
@Test
public void adminArticles() {
// 测deleted参数传值
PageData<ArticleModel> pageData = articleService.adminArticles(10, 1, true);
assertTrue(pageData.getList().stream().allMatch(ArticleModel::isDeleted));
pageData = articleService.adminArticles(10, 1, false);
assertFalse(pageData.getList().stream().allMatch(ArticleModel::isDeleted));
pageData = articleService.adminArticles(10, 1, null);
assertTrue(pageData.getList().stream().anyMatch(ArticleModel::isDeleted));
assertTrue(pageData.getList().stream().anyMatch(articleModel -> !articleModel.isDeleted()));
}
}