Commit c3c83ccf by Administrator

Merge branch 'feature/order_by_user_num' into 'master'

feat: [none] 群筛选新增根据群人数排序选项

See merge request rays/pcloud-book!894
parents 472e4ef8 6881208c
...@@ -27,5 +27,5 @@ public interface ESBookGroupQrcodeBiz { ...@@ -27,5 +27,5 @@ public interface ESBookGroupQrcodeBiz {
*/ */
void save(List<ESBookGroupQrcodeDTO> dtos); void save(List<ESBookGroupQrcodeDTO> dtos);
PageBeanNew<GroupQrcodeSearchDTO> search(String text, String methodType, Integer pageSize, Integer pageNum); PageBeanNew<GroupQrcodeSearchDTO> search(String text, String methodType, Boolean isOrder, Integer pageSize, Integer pageNum);
} }
...@@ -267,14 +267,19 @@ public class ESBookGroupQrcodeBizImpl implements ESBookGroupQrcodeBiz { ...@@ -267,14 +267,19 @@ public class ESBookGroupQrcodeBizImpl implements ESBookGroupQrcodeBiz {
} }
@Override @Override
public PageBeanNew<GroupQrcodeSearchDTO> search(String text, String methodType, Integer pageSize, Integer pageNum) { public PageBeanNew<GroupQrcodeSearchDTO> search(String text, String methodType, Boolean isOrder, Integer pageSize, Integer pageNum) {
QueryBuilder queryBuilder; QueryBuilder queryBuilder;
PageRequest pageRequest; PageRequest pageRequest;
if (Objects.nonNull(isOrder)&&isOrder){
pageRequest = new PageRequest(pageNum,pageSize,new Sort(Sort.Direction.DESC,"groupMemberCount","userNumber"));
}else {
pageRequest = new PageRequest(pageNum, pageSize);
}
if (StrUtil.isEmpty(text)) { if (StrUtil.isEmpty(text)) {
queryBuilder = QueryBuilders.boolQuery(); queryBuilder = QueryBuilders.boolQuery();
pageRequest = new PageRequest(pageNum, pageSize, new Sort(Sort.Direction.DESC, "groupMemberCount", "userNumber"));
} else { } else {
pageRequest = new PageRequest(pageNum, pageSize);
if ("AND".equals(methodType)) { if ("AND".equals(methodType)) {
queryBuilder = QueryBuilders.multiMatchQuery(text, "groupName", "groupNameTags", "qrcodeBookName", "bookNameTags", "cityTags", "pressTags", "pressTags", "adviserName").type(MultiMatchQueryBuilder.Type.CROSS_FIELDS).operator(MatchQueryBuilder.Operator.AND); queryBuilder = QueryBuilders.multiMatchQuery(text, "groupName", "groupNameTags", "qrcodeBookName", "bookNameTags", "cityTags", "pressTags", "pressTags", "adviserName").type(MultiMatchQueryBuilder.Type.CROSS_FIELDS).operator(MatchQueryBuilder.Operator.AND);
} else { } else {
......
...@@ -32,12 +32,13 @@ public class ESBookGroupQrcodeFacadeImpl { ...@@ -32,12 +32,13 @@ public class ESBookGroupQrcodeFacadeImpl {
@RequestMapping(value = "/search", method = RequestMethod.GET) @RequestMapping(value = "/search", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<GroupQrcodeSearchDTO>> search(@RequestParam(value = "keyword", required = false) String keyword, public ResponseDto<PageBeanNew<GroupQrcodeSearchDTO>> search(@RequestParam(value = "keyword", required = false) String keyword,
@RequestParam(value = "methodType",required = false) String methodType, @RequestParam(value = "methodType",required = false) String methodType,
@RequestParam(value = "isOrder",required = false) Boolean isOrder,
@RequestParam("numPerPage") Integer numPerPage, @RequestParam("numPerPage") Integer numPerPage,
@RequestParam("currentPage") Integer currentPage) { @RequestParam("currentPage") Integer currentPage) {
if (StrUtil.isBlank(methodType)){ if (StrUtil.isBlank(methodType)){
methodType = "OR"; methodType = "OR";
} }
return new ResponseDto<>(esBookGroupQrcodeBiz.search(keyword, methodType, numPerPage, currentPage)); return new ResponseDto<>(esBookGroupQrcodeBiz.search(keyword, methodType, isOrder,numPerPage, currentPage));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment