修改文章列表的搜索参数
This commit is contained in:
parent
712538213b
commit
ae398bf417
|
|
@ -48,10 +48,9 @@ public class ArticleController {
|
|||
*/
|
||||
@GetMapping("/list")
|
||||
public AjaxResult<PageResult<ArticleListedVo>> list(@Validated PageValidate pageValidate,
|
||||
@Validated ArticleSearchValidate searchValidate,
|
||||
@RequestParam(value = "cid", defaultValue = "0") Integer cid) {
|
||||
@Validated ArticleSearchValidate searchValidate) {
|
||||
Integer userId = LikeFrontThreadLocal.getUserId();
|
||||
PageResult<ArticleListedVo> list = iArticleService.list(pageValidate, cid, userId);
|
||||
PageResult<ArticleListedVo> list = iArticleService.list(userId, pageValidate, searchValidate);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.mdd.front.service;
|
||||
|
||||
import com.mdd.common.core.PageResult;
|
||||
import com.mdd.front.validate.ArticleSearchValidate;
|
||||
import com.mdd.front.validate.commons.PageValidate;
|
||||
import com.mdd.front.vo.article.ArticleCateVo;
|
||||
import com.mdd.front.vo.article.ArticleCollectVo;
|
||||
|
|
@ -26,12 +27,12 @@ public interface IArticleService {
|
|||
* 文章分类
|
||||
*
|
||||
* @author fzr
|
||||
* @param pageValidate 分页参数
|
||||
* @param cid 分类ID
|
||||
* @param userId 用户ID
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<ArticleListVo>
|
||||
*/
|
||||
PageResult<ArticleListedVo> list(PageValidate pageValidate, Integer cid, Integer userId);
|
||||
PageResult<ArticleListedVo> list(Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate);
|
||||
|
||||
/**
|
||||
* 文章详情
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import com.mdd.common.util.StringUtils;
|
|||
import com.mdd.common.util.TimeUtils;
|
||||
import com.mdd.common.util.UrlUtils;
|
||||
import com.mdd.front.service.IArticleService;
|
||||
import com.mdd.front.validate.ArticleSearchValidate;
|
||||
import com.mdd.front.validate.commons.PageValidate;
|
||||
import com.mdd.front.vo.article.ArticleCateVo;
|
||||
import com.mdd.front.vo.article.ArticleCollectVo;
|
||||
|
|
@ -74,13 +75,13 @@ public class ArticleServiceImpl implements IArticleService {
|
|||
* 文章列表
|
||||
*
|
||||
* @author fzr
|
||||
* @param pageValidate 分页参数
|
||||
* @param cid 分类ID
|
||||
* @param userId 用户ID
|
||||
* @param pageValidate 分页参数
|
||||
* @param searchValidate 搜索参数
|
||||
* @return PageResult<ArticleListVo>
|
||||
*/
|
||||
@Override
|
||||
public PageResult<ArticleListedVo> list(PageValidate pageValidate, Integer cid, Integer userId) {
|
||||
public PageResult<ArticleListedVo> list( Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate) {
|
||||
Integer pageNo = pageValidate.getPageNo();
|
||||
Integer pageSize = pageValidate.getPageSize();
|
||||
|
||||
|
|
@ -88,9 +89,23 @@ public class ArticleServiceImpl implements IArticleService {
|
|||
queryWrapper.select("id,title,image,intro,visit,create_time");
|
||||
queryWrapper.eq("is_delete", 0);
|
||||
queryWrapper.eq("is_show", 1);
|
||||
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
|
||||
if (cid > 0) {
|
||||
queryWrapper.eq("cid", cid);
|
||||
|
||||
articleMapper.setSearch(queryWrapper, searchValidate, new String[]{
|
||||
"=:cid:int",
|
||||
"like:keyword@title:str"
|
||||
});
|
||||
|
||||
if (StringUtils.isNotNull(searchValidate.getSort())) {
|
||||
switch (searchValidate.getSort()) {
|
||||
case "hot": // 最热
|
||||
queryWrapper.orderByDesc(Arrays.asList("visit", "id"));
|
||||
break;
|
||||
case "new": // 最新
|
||||
queryWrapper.orderByDesc("id");
|
||||
break;
|
||||
default: // 默认
|
||||
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
|
||||
}
|
||||
}
|
||||
|
||||
IPage<Article> iPage = articleMapper.selectPage(new Page<>(pageNo, pageSize), queryWrapper);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.mdd.front.validate;
|
||||
|
||||
import com.mdd.common.validator.annotation.StringContains;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
|
@ -12,8 +14,12 @@ public class ArticleSearchValidate implements Serializable {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer cid;
|
||||
|
||||
@Length(max = 100, message = "关键词过长了")
|
||||
private String keyword;
|
||||
|
||||
@StringContains(values = {"hot", "new"})
|
||||
private String sort;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue