REQ-2595-增加待办数量查询接口
This commit is contained in:
parent
2f14bad660
commit
f2b73c2b60
@ -8,6 +8,7 @@ import cn.axzo.msg.center.message.service.todo.TodoRangeQueryService;
|
||||
import cn.axzo.msg.center.message.service.todo.TodoSimpleQueryService;
|
||||
import cn.axzo.msg.center.message.service.todo.TodoWorkerQueryService;
|
||||
import cn.axzo.msg.center.message.service.todo.manage.TodoManager;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
import cn.axzo.msg.center.service.enums.TodoType;
|
||||
@ -56,6 +57,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import javax.validation.Valid;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
@ -271,6 +273,11 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
return CommonResponse.success(todoSimpleQueryService.getTodosSimple(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Map<BizCategoryEnum, Integer>> getTodosSimpleCount(GetTodoRequest request) {
|
||||
return CommonResponse.success(todoSimpleQueryService.getTodosSimpleCount(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Page<PendingMessageSimpleDTO>> getTodosSimplePage(@RequestBody GetTodoPageRequest request) {
|
||||
log.info("getTodos page, request={}", JSON.toJSONString(request));
|
||||
|
||||
@ -8,6 +8,7 @@ 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.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
import cn.axzo.msg.center.service.enums.TodoType;
|
||||
@ -27,6 +28,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -149,6 +151,33 @@ public class TodoSimpleQueryService {
|
||||
return todoRespBuilder.buildTodosSimple(todos);
|
||||
}
|
||||
|
||||
public Map<BizCategoryEnum, Integer> getTodosSimpleCount(GetTodoRequest request) {
|
||||
List<Todo> list = todoDao.lambdaQuery()
|
||||
.in(CollectionUtils.isNotEmpty(request.getIdentityCodes()), Todo::getIdentityCode, request.getIdentityCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getTemplateCodes()), Todo::getTemplateCode, request.getTemplateCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getBizCodes()), Todo::getBizCode, request.getBizCodes())
|
||||
.in(CollectionUtils.isNotEmpty(request.getStates()), Todo::getState, request.getStates())
|
||||
.and(CollectionUtils.isNotEmpty(request.getExecutors()), wrapper -> {
|
||||
for (GetTodoRequest.Executor executor : request.getExecutors()) {
|
||||
wrapper.or()
|
||||
.eq(executor.getOuId() != null, Todo::getOuId, executor.getOuId())
|
||||
.eq(executor.getOuId() != null, Todo::getOrgId, executor.getWorkspaceId())
|
||||
.in(CollectionUtils.isNotEmpty(executor.getPersonIds()), Todo::getExecutorPersonId, executor.getPersonIds());
|
||||
}
|
||||
})
|
||||
.select(Todo::getId, Todo::getExecutorId, Todo::getOrgId, Todo::getExecutorPersonId, Todo::getState, Todo::getTodoBusinessId)
|
||||
.list();
|
||||
List<PendingMessageSimpleDTO> messageSimpleDTOS = todoRespBuilder.buildTodosSimple(list);
|
||||
Map<BizCategoryEnum, Integer> resultMap = new EnumMap<>(BizCategoryEnum.class);
|
||||
if (CollectionUtils.isNotEmpty(request.getBizCodes())) {
|
||||
for (PendingMessageSimpleDTO messageSimpleDTO : messageSimpleDTOS) {
|
||||
Integer i = resultMap.computeIfAbsent(messageSimpleDTO.getBizCategory(), k -> 0);
|
||||
resultMap.put(messageSimpleDTO.getBizCategory(), i + 1);
|
||||
}
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
public Page<PendingMessageSimpleDTO> getTodosSimplePage(GetTodoPageRequest request) {
|
||||
IPage<Todo> page = todoDao.lambdaQuery()
|
||||
.in(CollectionUtils.isNotEmpty(request.getIdentityCodes()), Todo::getIdentityCode, request.getIdentityCodes())
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package cn.axzo.msg.center.service.pending.client;
|
||||
|
||||
import cn.axzo.msg.center.api.response.MessageDetailRes;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeRequest;
|
||||
@ -46,6 +47,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 代办消息模块管理
|
||||
@ -348,6 +350,9 @@ public interface PendingMessageClient {
|
||||
@PostMapping(value = "/pending-message/record/get-todos-simple", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<List<PendingMessageSimpleDTO>> getTodosSimple(@RequestBody @Valid GetTodoRequest request);
|
||||
|
||||
@PostMapping(value = "/pending-message/record/get-todos-simple/count", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Map<BizCategoryEnum, Integer>> getTodosSimpleCount(@RequestBody @Valid GetTodoRequest request);
|
||||
|
||||
@PostMapping(value = "/pending-message/record/get-todos-simple/page", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Page<PendingMessageSimpleDTO>> getTodosSimplePage(@RequestBody @Valid GetTodoPageRequest request);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user