REQ-2595-待办查询增加端查询条件
This commit is contained in:
parent
8920a3145c
commit
454631e648
@ -1,5 +1,6 @@
|
||||
package cn.axzo.msg.center.message.service.todo;
|
||||
|
||||
import cn.axzo.maokai.api.vo.response.tree.ValueNode;
|
||||
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.msg.center.common.utils.BizAssertions;
|
||||
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
||||
@ -8,6 +9,8 @@ import cn.axzo.msg.center.domain.entity.PendingRecordAdapter;
|
||||
import cn.axzo.msg.center.domain.entity.Todo;
|
||||
import cn.axzo.msg.center.domain.entity.TodoBusiness;
|
||||
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
||||
import cn.axzo.msg.center.message.service.group.GroupTemplateService;
|
||||
import cn.axzo.msg.center.message.service.group.NodeWrapper;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
@ -32,6 +35,7 @@ import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.Comparator.comparing;
|
||||
import static java.util.stream.Collectors.groupingBy;
|
||||
@ -49,6 +53,7 @@ public class TodoSimpleQueryService {
|
||||
private final TodoDao todoDao;
|
||||
private final TodoRespBuilder todoRespBuilder;
|
||||
private final PendingMessageBizConfig cfg;
|
||||
private final GroupTemplateService groupTemplateService;
|
||||
|
||||
public PendingMessageResponse query(PendingMessageQueryRequest req) {
|
||||
// 虽然通过code可以查询到唯一的记录, 把一些事情交给数据库去库, 成本不高
|
||||
@ -183,9 +188,27 @@ public class TodoSimpleQueryService {
|
||||
}
|
||||
|
||||
public Page<PendingMessageSimpleDTO> getTodosSimplePage(GetTodoPageRequest request) {
|
||||
List<String> groupTempCodes = null;
|
||||
if (request.getAppTerminalType() != null) {
|
||||
List<ValueNode<NodeWrapper>> nodes = groupTemplateService.getTodoGroups(request.getAppTerminalType());
|
||||
groupTempCodes = groupTemplateService.collectTemplateCodes(nodes);
|
||||
}
|
||||
List<String> valuableTempCodes = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(groupTempCodes)) {
|
||||
if (CollectionUtils.isNotEmpty(request.getTemplateCodes())) {
|
||||
valuableTempCodes.addAll(request.getTemplateCodes().stream()
|
||||
.filter(groupTempCodes::contains)
|
||||
.collect(Collectors.toList()));
|
||||
} else {
|
||||
valuableTempCodes.addAll(groupTempCodes);
|
||||
}
|
||||
} else if (CollectionUtils.isNotEmpty(request.getTemplateCodes())) {
|
||||
valuableTempCodes.addAll(request.getTemplateCodes());
|
||||
}
|
||||
|
||||
IPage<Todo> page = todoDao.lambdaQuery()
|
||||
.in(CollectionUtils.isNotEmpty(request.getIdentityCodes()), Todo::getIdentityCode, request.getIdentityCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getTemplateCodes()), Todo::getTemplateCode, request.getTemplateCodes())
|
||||
.in(CollectionUtils.isNotEmpty(valuableTempCodes), Todo::getTemplateCode, request.getTemplateCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getBizCodes()), Todo::getBizCode, request.getBizCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getStates()), Todo::getState, request.getStates())
|
||||
.likeRight(StringUtils.isNotBlank(request.getTitleLike()), Todo::getTitle, request.getTitleLike())
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
package cn.axzo.msg.center.service.pending.request;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -19,7 +21,8 @@ import java.util.Set;
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class GetTodoPageRequest extends PageRequest {
|
||||
|
||||
private TerminalTypeEnum terminalType;
|
||||
private AppTerminalTypeEnum appTerminalType;
|
||||
private String titleLike;
|
||||
private BizCategoryEnum bizCategory;
|
||||
private Set<String> identityCodes;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user