移动端文章接口以及二次查询只返回需要的字段

This commit is contained in:
86182
2022-11-09 14:36:52 +08:00
parent d075c6e617
commit 2a82f1ed5e
6 changed files with 86 additions and 3 deletions

View File

@@ -129,7 +129,26 @@ public class Article extends BaseEntity {
this.shares = shares;
this.favorites = favorites;
}
public Article(String id,String title,String coverurl,String summary,String sysCreateBy,String sysCreateAid,LocalDateTime sysCreateTime,
LocalDateTime publishTime,Integer views, Integer comments, Integer praises, Integer shares,
Integer favorites,String source,Boolean enabled,Boolean deleted){
this.setId(id);
this.setTitle(title);
this.summary=summary;
this.coverurl=coverurl;
this.publishTime=publishTime;
this.views = views;
this.comments = comments;
this.praises = praises;
this.shares = shares;
this.favorites = favorites;
super.setSysCreateBy(sysCreateBy);
super.setSysCreateAid(sysCreateAid);
super.setSysCreateTime(sysCreateTime);
this.source = source;
this.enabled = enabled;
super.setDeleted(deleted);
}
public Article(String id,String title,String summary,String coverurl,String author,String authorInfo,LocalDateTime publishTime) {
this.setId(id);

View File

@@ -23,6 +23,11 @@ public interface IArticleService {
* 首页二期第一张必须是带图的
* */
List<Article> articelList(Integer type);
/**
* 移动端首页 必须都是带图的
* */
List<Article> mobileList(Integer type);
/**
* 自定义条件查询

View File

@@ -90,6 +90,25 @@ public class ArticleServiceImpl implements IArticleService{
}
@Override
public List<Article> mobileList(Integer type) {
QueryBuilder builder = QueryBuilder.from(Article.class);
if(type==2){
builder.addOrder(OrderCondition.desc("views"));
}else{
builder.addOrder(OrderCondition.desc("sysCreateTime"));
}
builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH));
builder.addFilter(FieldFilters.eq("enabled",true));
builder.addFilter(FieldFilters.eq("deleted",false));
builder.addFilter(FieldFilters.isNotNull("coverurl"));
builder.addFilter(FieldFilters.ge("coverurl", ""));
builder.setPageSize(4);
List<Article> list = dao.findList(builder.builder());
return list;
}
//当前先实现,后续优化
@Override
public PageList<Article> query(Integer pageIndex, Integer pageSize,List<IFieldFilter> filters, OrderCondition order) {
@@ -331,7 +350,10 @@ public class ArticleServiceImpl implements IArticleService{
@Override
public List<Article> ids(List<String> ids) {
List<Article> list = dao.findList(FieldFilters.in("id", ids));
QueryBuilder builder = QueryBuilder.from(Article.class);
builder.addFilter(FieldFilters.in("id", ids));
builder.addFields("new Article(id,title,coverurl,summary,sysCreateBy,sysCreateAid,sysCreateTime,publishTime,views,comments,praises,shares,favorites,source,enabled,deleted)");
List<Article> list = dao.findList(builder.builder());
return list;
}

View File

@@ -262,4 +262,20 @@ public class Cases extends BaseEntity {
super.setId(id);
this.title=title;
}
public Cases(String id,String title,String summary,String coverUrl,String authorId,String authorName,LocalDateTime sysCreateTime,Integer breCommend,Integer views,Integer comments,Integer praises,Integer shares,Integer favorites,Boolean deleted){
this.title=title;
super.setId(id);
this.authorId=authorId;
this.authorName=authorName;
super.setSysCreateTime(sysCreateTime);
this.summary=summary;
this.coverUrl=coverUrl;
this.breCommend=breCommend;
this.views=views;
this.comments=comments;
this.praises=praises;
this.shares=shares;
this.favorites=favorites;
super.setDeleted(deleted);
}
}

View File

@@ -452,7 +452,10 @@ public class CasesServiceImpl implements ICasesService {
@Override
public List<Cases> ids(List<String> ids) {
List<Cases> cases = casesDao.findList(FieldFilters.in("id", ids));
QueryBuilder builder = QueryBuilder.from(Cases.class);
builder.addFilter(FieldFilters.in("id", ids));
builder.addFields("id","title","summary","coverUrl","comments","praises","favorites","sysCreateAid","sysCreateBy","sysCreateTime","authorId","authorName","views","deleted");
List<Cases> cases = casesDao.findList(builder.builder());
return cases;
}

View File

@@ -243,6 +243,24 @@ public class PortalIndexApi extends ApiBaseController{
}
/**
* 移动端首页文章列表
* */
@GetMapping("/mobile-article")
public JsonResponse<List<Article>> mobileArticle(Integer type){
if(type==null || type==0){
return badRequest("参数异常");
}
try {
List<Article> articles = articleService.mobileList(type);
return success(articles);
} catch (Exception e) {
return error("查询失败",e.getMessage());
}
}
}