mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 20:06:51 +08:00
学员案例列表查询
This commit is contained in:
@@ -0,0 +1,22 @@
|
|||||||
|
package com.xboe.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* excellent 最佳案例
|
||||||
|
* recommend 推荐
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Getter
|
||||||
|
public enum CasesSearchTypeEnum {
|
||||||
|
|
||||||
|
excellent("excellent","最佳案例"),
|
||||||
|
recommend("recommend","推荐"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -111,6 +111,40 @@ public class CasesApi extends ApiBaseController {
|
|||||||
}
|
}
|
||||||
return success(views);
|
return success(views);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/queryListV2")
|
||||||
|
public JsonResponse<PageList<Cases>> queryCaseBreV2(@RequestBody CasePageVo req){
|
||||||
|
String type = req.getType();
|
||||||
|
PageList<Cases> views = null;
|
||||||
|
if (type.equals("recommend")) {
|
||||||
|
views = casesService.queryRecommendPageCasesV2(req);
|
||||||
|
} else {
|
||||||
|
views = casesService.queryPageCasesV2(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(views!=null){
|
||||||
|
if(views.getList()!=null && !views.getList().isEmpty()){
|
||||||
|
for (Cases c:views.getList()) {
|
||||||
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
|
List<CasesMajorType> caseId = casesMajorTypeDao.findList(FieldFilters.eq("caseId", c.getId()));
|
||||||
|
if(caseId!=null && !caseId.isEmpty()){
|
||||||
|
for (CasesMajorType cm:caseId) {
|
||||||
|
stringBuffer.append(cm.getMajorId());
|
||||||
|
stringBuffer.append(",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(stringBuffer.length()>0){
|
||||||
|
stringBuffer.deleteCharAt(stringBuffer.length()-1);
|
||||||
|
c.setMajorType(stringBuffer.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return success(views);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例分页搜索 是否置顶
|
* 案例分页搜索 是否置顶
|
||||||
* */
|
* */
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package com.xboe.module.boecase.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CasePageVo extends PageDto {
|
||||||
|
|
||||||
|
|
||||||
|
private String keyWord;
|
||||||
|
|
||||||
|
private Boolean breCommend;
|
||||||
|
|
||||||
|
private String orderField;
|
||||||
|
|
||||||
|
private Boolean orderAsc;
|
||||||
|
|
||||||
|
private List<OrgDomainDto> orgDomainDtos;//后台查询一级
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业分类
|
||||||
|
*/
|
||||||
|
private String majorType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 置顶
|
||||||
|
*/
|
||||||
|
private Boolean isTop;
|
||||||
|
|
||||||
|
private String caseType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最佳案例
|
||||||
|
*/
|
||||||
|
private Boolean excellent;
|
||||||
|
|
||||||
|
|
||||||
|
private String authorName;
|
||||||
|
|
||||||
|
private List<String> years;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已经返回给前端的案例需要过滤掉
|
||||||
|
*/
|
||||||
|
private List<Long> notInIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* excellent 最佳案例
|
||||||
|
* recommend 推荐
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.xboe.module.boecase.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OrgDomainDto {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组织领域1级
|
||||||
|
*/
|
||||||
|
private String orgDomainParent;
|
||||||
|
/**
|
||||||
|
* 组织领域2级
|
||||||
|
*/
|
||||||
|
private String orgDomainParent2;
|
||||||
|
/**
|
||||||
|
* 组织领域3级
|
||||||
|
*/
|
||||||
|
private String orgDomainParent3;
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.xboe.module.boecase.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PageDto {
|
||||||
|
|
||||||
|
private int pageIndex = 1;
|
||||||
|
private int pageSize = 10;
|
||||||
|
}
|
||||||
@@ -232,6 +232,9 @@ public class Cases extends BaseEntity {
|
|||||||
private String caseValue;
|
private String caseValue;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最佳案例标识
|
||||||
|
*/
|
||||||
@Column(name = "excellent")
|
@Column(name = "excellent")
|
||||||
private Boolean excellent;
|
private Boolean excellent;
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ public interface ICasesService{
|
|||||||
* */
|
* */
|
||||||
PageList<Cases> queryPageCases(int pageIndex, int pageSize, CaseVo caseVo);
|
PageList<Cases> queryPageCases(int pageIndex, int pageSize, CaseVo caseVo);
|
||||||
|
|
||||||
|
PageList<Cases> queryPageCasesV2(CasePageVo caseVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例管理列表搜索
|
* 案例管理列表搜索
|
||||||
* */
|
* */
|
||||||
@@ -97,5 +99,6 @@ public interface ICasesService{
|
|||||||
void excellent(String id,Boolean excellent);
|
void excellent(String id,Boolean excellent);
|
||||||
|
|
||||||
|
|
||||||
|
PageList<Cases> queryRecommendPageCasesV2(CasePageVo req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import java.util.stream.Collectors;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.xboe.common.utils.IDGenerator;
|
import com.xboe.common.utils.IDGenerator;
|
||||||
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
||||||
import com.xboe.module.boecase.dto.*;
|
import com.xboe.module.boecase.dto.*;
|
||||||
@@ -160,6 +162,300 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
|
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案例分页查询,用于门户的查询 v2
|
||||||
|
* */
|
||||||
|
@Override
|
||||||
|
public PageList<Cases> queryPageCasesV2(CasePageVo caseVo) {
|
||||||
|
QueryBuilder query=QueryBuilder.from(Cases.class);
|
||||||
|
PageList<Cases> page=null;
|
||||||
|
List<IFieldFilter> filters = new ArrayList<>();
|
||||||
|
filters.add(FieldFilters.eq("deleted",false));
|
||||||
|
List<IFieldFilter> likes=new ArrayList<IFieldFilter>();
|
||||||
|
likes.add(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("authorName", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword1", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword2", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword3", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword4", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword5", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
List<Long> notInIds = caseVo.getNotInIds();
|
||||||
|
if (CollUtil.isNotEmpty(notInIds)) {
|
||||||
|
filters.add(FieldFilters.notIn("id", notInIds));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotBlank(caseVo.getKeyWord())) {
|
||||||
|
filters.add(FieldFilters.or(likes));
|
||||||
|
}
|
||||||
|
|
||||||
|
List<OrgDomainDto> orgDomainDtos = caseVo.getOrgDomainDtos();
|
||||||
|
IFieldFilter orgDomain = null;
|
||||||
|
if(CollUtil.isNotEmpty(orgDomainDtos)){
|
||||||
|
for (int i = 0; i < orgDomainDtos.size(); i++) {
|
||||||
|
OrgDomainDto domainDto = orgDomainDtos.get(i);
|
||||||
|
String orgDomainParent = domainDto.getOrgDomainParent();
|
||||||
|
String orgDomainParent2 = domainDto.getOrgDomainParent2();
|
||||||
|
String orgDomainParent3 = domainDto.getOrgDomainParent3();
|
||||||
|
List<IFieldFilter> fieldFilters = new ArrayList<>();
|
||||||
|
IFieldFilter itemFilter = null;
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent)) {
|
||||||
|
itemFilter = FieldFilters.eq("orgDomainParent",orgDomainParent);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent2)) {
|
||||||
|
IFieldFilter orgDomainParentFilter = FieldFilters.eq("orgDomainParent2", orgDomainParent2);
|
||||||
|
if (Objects.nonNull(itemFilter)) {
|
||||||
|
itemFilter = FieldFilters.and(itemFilter, orgDomainParentFilter);
|
||||||
|
} else {
|
||||||
|
itemFilter = orgDomainParentFilter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent3)) {
|
||||||
|
IFieldFilter orgDomainParent3Filter = FieldFilters.eq("orgDomainParent3", orgDomainParent3);
|
||||||
|
if (Objects.nonNull(itemFilter)) {
|
||||||
|
itemFilter = FieldFilters.and(itemFilter, orgDomainParent3Filter);
|
||||||
|
} else {
|
||||||
|
itemFilter = orgDomainParent3Filter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i==0) {
|
||||||
|
orgDomain = itemFilter;
|
||||||
|
} else {
|
||||||
|
orgDomain = FieldFilters.or(orgDomain, itemFilter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(orgDomain)) {
|
||||||
|
filters.add(orgDomain);
|
||||||
|
}
|
||||||
|
//创建时间过滤
|
||||||
|
List<String> years = caseVo.getYears();
|
||||||
|
if (CollUtil.isNotEmpty(years)) {
|
||||||
|
FieldFilters.in("YEAR(sysCreateTime)",years);
|
||||||
|
}
|
||||||
|
|
||||||
|
//增加只是查询有附件的
|
||||||
|
filters.add(FieldFilters.isNotNull("filePath"));
|
||||||
|
filters.add(FieldFilters.ne("filePath",""));
|
||||||
|
|
||||||
|
if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
|
|
||||||
|
QueryBuilder from = QueryBuilder.from(CasesMajorType.class);
|
||||||
|
//前端直接字符串拼接传,后端转化数组
|
||||||
|
if(caseVo.getMajorType().contains(",")){
|
||||||
|
String[] split = caseVo.getMajorType().split(",");
|
||||||
|
List<String> strings = Arrays.asList(split);
|
||||||
|
from.addFilter(FieldFilters.in("majorId",strings));
|
||||||
|
}else{
|
||||||
|
from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType()));
|
||||||
|
}
|
||||||
|
from.addGroupBy("caseId");
|
||||||
|
from.addFields("id","caseId");
|
||||||
|
// List<CasesMajorType> list = casesMajorTypeDao.findList(from.builder());
|
||||||
|
List<Object[]> listFields=null;
|
||||||
|
try {
|
||||||
|
listFields = casesMajorTypeDao.findListFields(from.builder());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询失败",e);
|
||||||
|
}
|
||||||
|
List<String> list1 = new ArrayList<>();
|
||||||
|
if(listFields!=null && !listFields.isEmpty()){
|
||||||
|
for (Object[] obj:listFields) {
|
||||||
|
list1.add((String) obj[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(list1!=null &&!list1.isEmpty()){
|
||||||
|
query.addFilter(FieldFilters.in("id",list1));
|
||||||
|
}else {
|
||||||
|
//如果所点击的内容分类都没有案例数据,应该返回空
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getCaseType())){
|
||||||
|
filters.add(FieldFilters.eq("caseType",caseVo.getCaseType()));
|
||||||
|
}
|
||||||
|
if(caseVo.getBreCommend()!=null){
|
||||||
|
if(!caseVo.getBreCommend()){
|
||||||
|
filters.add(FieldFilters.eq("breCommend",0));
|
||||||
|
}else {
|
||||||
|
filters.add(FieldFilters.eq("breCommend", 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(caseVo.getIsTop()!=null && caseVo.getIsTop()) {
|
||||||
|
query.addOrder(OrderCondition.desc("isTop"));
|
||||||
|
query.addOrder(OrderCondition.desc("topTime"));
|
||||||
|
}
|
||||||
|
//如果选择的是优秀案例,那么这里就按优秀案例的试试排序
|
||||||
|
if(caseVo.getExcellent()!=null && caseVo.getExcellent()){
|
||||||
|
filters.add(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||||
|
}
|
||||||
|
OrderCondition order=null;
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||||
|
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||||
|
order=OrderCondition.asc(caseVo.getOrderField());
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc(caseVo.getOrderField());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc("sysCreateTime");
|
||||||
|
}
|
||||||
|
|
||||||
|
query.addFilters(filters);
|
||||||
|
query.addOrder(order);
|
||||||
|
query.addOrder(OrderCondition.rand());
|
||||||
|
query.setPageIndex(caseVo.getPageIndex());
|
||||||
|
query.setPageSize(caseVo.getPageSize());
|
||||||
|
page = casesDao.findPage(query.builder());
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageList<Cases> queryRecommendPageCasesV2(CasePageVo caseVo) {
|
||||||
|
QueryBuilder query=QueryBuilder.from(Cases.class);
|
||||||
|
PageList<Cases> page=null;
|
||||||
|
List<IFieldFilter> filters = new ArrayList<>();
|
||||||
|
filters.add(FieldFilters.eq("deleted",false));
|
||||||
|
List<IFieldFilter> likes=new ArrayList<IFieldFilter>();
|
||||||
|
likes.add(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("authorName", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword1", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword2", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword3", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword4", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
likes.add(FieldFilters.like("keyword5", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||||
|
List<Long> notInIds = caseVo.getNotInIds();
|
||||||
|
if (CollUtil.isNotEmpty(notInIds)) {
|
||||||
|
filters.add(FieldFilters.notIn("id", notInIds));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotBlank(caseVo.getKeyWord())) {
|
||||||
|
filters.add(FieldFilters.or(likes));
|
||||||
|
}
|
||||||
|
|
||||||
|
List<OrgDomainDto> orgDomainDtos = caseVo.getOrgDomainDtos();
|
||||||
|
IFieldFilter orgDomain = null;
|
||||||
|
if(CollUtil.isNotEmpty(orgDomainDtos)){
|
||||||
|
for (int i = 0; i < orgDomainDtos.size(); i++) {
|
||||||
|
OrgDomainDto domainDto = orgDomainDtos.get(i);
|
||||||
|
String orgDomainParent = domainDto.getOrgDomainParent();
|
||||||
|
String orgDomainParent2 = domainDto.getOrgDomainParent2();
|
||||||
|
String orgDomainParent3 = domainDto.getOrgDomainParent3();
|
||||||
|
List<IFieldFilter> fieldFilters = new ArrayList<>();
|
||||||
|
IFieldFilter itemFilter = null;
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent)) {
|
||||||
|
itemFilter = FieldFilters.eq("orgDomainParent",orgDomainParent);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent2)) {
|
||||||
|
IFieldFilter orgDomainParentFilter = FieldFilters.eq("orgDomainParent2", orgDomainParent2);
|
||||||
|
if (Objects.nonNull(itemFilter)) {
|
||||||
|
itemFilter = FieldFilters.and(itemFilter, orgDomainParentFilter);
|
||||||
|
} else {
|
||||||
|
itemFilter = orgDomainParentFilter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(orgDomainParent3)) {
|
||||||
|
IFieldFilter orgDomainParent3Filter = FieldFilters.eq("orgDomainParent3", orgDomainParent3);
|
||||||
|
if (Objects.nonNull(itemFilter)) {
|
||||||
|
itemFilter = FieldFilters.and(itemFilter, orgDomainParent3Filter);
|
||||||
|
} else {
|
||||||
|
itemFilter = orgDomainParent3Filter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i==0) {
|
||||||
|
orgDomain = itemFilter;
|
||||||
|
} else {
|
||||||
|
orgDomain = FieldFilters.or(orgDomain, itemFilter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(orgDomain)) {
|
||||||
|
filters.add(orgDomain);
|
||||||
|
}
|
||||||
|
//创建时间过滤
|
||||||
|
List<String> years = caseVo.getYears();
|
||||||
|
if (CollUtil.isNotEmpty(years)) {
|
||||||
|
FieldFilters.in("YEAR(sysCreateTime)",years);
|
||||||
|
}
|
||||||
|
|
||||||
|
//增加只是查询有附件的
|
||||||
|
filters.add(FieldFilters.isNotNull("filePath"));
|
||||||
|
filters.add(FieldFilters.ne("filePath",""));
|
||||||
|
|
||||||
|
if(StringUtil.isNotBlank(caseVo.getMajorType())){
|
||||||
|
|
||||||
|
QueryBuilder from = QueryBuilder.from(CasesMajorType.class);
|
||||||
|
//前端直接字符串拼接传,后端转化数组
|
||||||
|
if(caseVo.getMajorType().contains(",")){
|
||||||
|
String[] split = caseVo.getMajorType().split(",");
|
||||||
|
List<String> strings = Arrays.asList(split);
|
||||||
|
from.addFilter(FieldFilters.in("majorId",strings));
|
||||||
|
}else{
|
||||||
|
from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType()));
|
||||||
|
}
|
||||||
|
from.addGroupBy("caseId");
|
||||||
|
from.addFields("id","caseId");
|
||||||
|
// List<CasesMajorType> list = casesMajorTypeDao.findList(from.builder());
|
||||||
|
List<Object[]> listFields=null;
|
||||||
|
try {
|
||||||
|
listFields = casesMajorTypeDao.findListFields(from.builder());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询失败",e);
|
||||||
|
}
|
||||||
|
List<String> list1 = new ArrayList<>();
|
||||||
|
if(listFields!=null && !listFields.isEmpty()){
|
||||||
|
for (Object[] obj:listFields) {
|
||||||
|
list1.add((String) obj[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(list1!=null &&!list1.isEmpty()){
|
||||||
|
query.addFilter(FieldFilters.in("id",list1));
|
||||||
|
}else {
|
||||||
|
//如果所点击的内容分类都没有案例数据,应该返回空
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getCaseType())){
|
||||||
|
filters.add(FieldFilters.eq("caseType",caseVo.getCaseType()));
|
||||||
|
}
|
||||||
|
if(caseVo.getBreCommend()!=null){
|
||||||
|
if(!caseVo.getBreCommend()){
|
||||||
|
filters.add(FieldFilters.eq("breCommend",0));
|
||||||
|
}else {
|
||||||
|
filters.add(FieldFilters.eq("breCommend", 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(caseVo.getIsTop()!=null && caseVo.getIsTop()) {
|
||||||
|
query.addOrder(OrderCondition.desc("isTop"));
|
||||||
|
query.addOrder(OrderCondition.desc("topTime"));
|
||||||
|
}
|
||||||
|
//如果选择的是优秀案例,那么这里就按优秀案例的试试排序
|
||||||
|
if(caseVo.getExcellent()!=null && caseVo.getExcellent()){
|
||||||
|
filters.add(FieldFilters.eq("excellent",caseVo.getExcellent()));
|
||||||
|
}
|
||||||
|
OrderCondition order=null;
|
||||||
|
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||||
|
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||||
|
order=OrderCondition.asc(caseVo.getOrderField());
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc(caseVo.getOrderField());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
order=OrderCondition.desc("sysCreateTime");
|
||||||
|
}
|
||||||
|
|
||||||
|
query.addFilters(filters);
|
||||||
|
query.addOrder(order);
|
||||||
|
query.addOrder(OrderCondition.rand());
|
||||||
|
query.setPageIndex(caseVo.getPageIndex());
|
||||||
|
query.setPageSize(caseVo.getPageSize());
|
||||||
|
page = casesDao.findPage(query.builder());
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 案例分页查询,是否置顶*/
|
* 案例分页查询,是否置顶*/
|
||||||
@Override
|
@Override
|
||||||
@@ -647,4 +943,5 @@ public class CasesServiceImpl implements ICasesService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user