文章列表展示
阿新 • • 發佈:2021-09-22
檢視介面傳入的引數 有使用者id 關鍵字 文章狀態 釋出時間 分頁引數
業務邏輯:
- 判斷分頁引數是否存在 若不存在設定一個預設值
- 判斷傳入的條件是否存在 若存在則使用queryWrapper新增引數
- 構造分頁引數 並進行分頁查詢
controller
- 首先判斷分頁引數是否存在 若不存在設定一個預設值
- 呼叫service方法進行查詢 並將查詢結果返回給前端
public GraceJSONResult queryMyList(String userId, String keyword, Integer status, String startDate, String endDate, Integer page, Integer pageSize) { if (page == null) { page = 0; } if (pageSize == null) { pageSize = 10; } PageGridResult articles = articleService.queryArticleListByCondition(userId, keyword, status, startDate, endDate, page, pageSize); return GraceJSONResult.ok(articles); } }
service
根據傳入的引數構造查詢條件 gt 大於 lt小於 最後根據建立時間進行排序 前端傳入的文章狀態為0表示查詢全部文章 若為12表示查詢稽核中的文章
if (userId == null) { GraceException.display(ResponseStatusEnum.USER_NOT_EXIST_ERROR); } QueryWrapper<Article> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("publish_user_id", userId); if (StringUtils.isNotBlank(keyword)) { queryWrapper.like("title", keyword); } if (status != null && status != 12 && status != 0) { queryWrapper.eq("article_status", status); } if (status != null && status == 12) { queryWrapper.eq("article_status", ArticleStatusEnums.auditing.getType()); } if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) { queryWrapper.gt("create_time", startDate); queryWrapper.lt("create_time", endDate); } queryWrapper.orderByAsc("create_time"); queryWrapper.eq("is_delete", YesOrNoEnums.NO.getType());
抽出pageGaidResult方法來 因為這個方法會被多次呼叫 進行分頁查詢並進行返回
@NotNull private PageGridResult getPageGridResult(Integer page, Integer pageSize, QueryWrapper<Article> queryWrapper) { Page<Article> articlePage = new Page<>(page, pageSize); articleMapper.selectPage(articlePage, queryWrapper); PageGridResult pageGridResult = new PageGridResult(); pageGridResult.setPage(articlePage.getCurrent()); pageGridResult.setRows(articlePage.getRecords()); pageGridResult.setTotal(articlePage.getTotal()); pageGridResult.setRecords(articlePage.getTotal()); return pageGridResult; }