Merge branch 'refs/heads/feature/REQ-2699' into dev
This commit is contained in:
commit
303ee09b1a
@ -15,6 +15,7 @@ import cn.axzo.msg.center.service.pending.client.PendingMessageClient;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageCountUncompletedRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
||||
@ -111,6 +112,12 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<List<PendingMessageResponse>> getPendingTodos(GetPendingTodosRequest request) {
|
||||
log.info("getPendingTodos, request={}", JSON.toJSONString(request));
|
||||
return CommonResponse.success(todoRangeQueryService.getPendingTodos(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<PersonTodoToBeDoneStatResponse> personTodoToBeDoneStat(PersonTodoToBeDoneStatRequest request) {
|
||||
log.info("personTodoToBeDoneStat, request={}", JSON.toJSONString(request));
|
||||
|
||||
@ -30,6 +30,7 @@ import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoType;
|
||||
import cn.axzo.msg.center.service.pending.request.AnalysisInfo;
|
||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest.CopiedToMeParam;
|
||||
import cn.axzo.msg.center.service.pending.request.PersonTodoToBeDoneStatRequest;
|
||||
@ -167,7 +168,6 @@ public class TodoRangeQueryService {
|
||||
.eq(request.getMsgState() != null, Todo::getState, request.getMsgState())
|
||||
.eq(request.getWorkspaceId() != null, Todo::getOrgId, request.getWorkspaceId())
|
||||
.last(nested.isEmptyOfWhere(), "1 = 1"))
|
||||
.eq(CollectionUtils.isNotEmpty(request.getTemplateCodes()), Todo::getTemplateCode, request.getTemplateCodes())
|
||||
// 这个条件放在最后, 因为templateCodes一般比较多
|
||||
// 如果放到前面, 格式化后会不方便查看其它的查询条件
|
||||
// 用于查询的模版会通过一个单独的字段打印出来, 用于排查问题
|
||||
@ -370,6 +370,17 @@ public class TodoRangeQueryService {
|
||||
.in(CollectionUtils.isNotEmpty(ouIds), Todo::getOuId, ouIds);
|
||||
}
|
||||
|
||||
public List<PendingMessageResponse> getPendingTodos(GetPendingTodosRequest request) {
|
||||
List<Todo> todos = todoDao.list(query(Todo.class)
|
||||
.eq(Todo::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.in(CollectionUtils.isNotEmpty(request.getPersonIds()), Todo::getExecutorPersonId, request.getPersonIds())
|
||||
.in(CollectionUtils.isNotEmpty(request.getOuIds()), Todo::getOuId, request.getOuIds())
|
||||
.in(CollectionUtils.isNotEmpty(request.getTemplateCodes()), Todo::getTemplateCode, request.getTemplateCodes())
|
||||
.last("LIMIT " + request.determineLimit()));
|
||||
List<PendingRecordAdapter> message = todoRespBuilder.buildTodoAdapters(todos);
|
||||
return todoRespBuilder.convertAdapter2MessageResponse(message, request.getTerminalType());
|
||||
}
|
||||
|
||||
@RequiredArgsConstructor
|
||||
private static class OuInfo {
|
||||
final Long ouId;
|
||||
|
||||
@ -6,6 +6,7 @@ import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageCountUncompletedRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
||||
@ -106,6 +107,9 @@ public interface PendingMessageClient {
|
||||
@PostMapping(value = "/pending-message/record/page", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<AnalysisPage<PendingMessageResponse>> pageQuery(@RequestBody @Valid PendingMessagePageRequest request);
|
||||
|
||||
@PostMapping(value = "/pending-message/record/getPendingTodos", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<List<PendingMessageResponse>> getPendingTodos(@RequestBody @Valid GetPendingTodosRequest request);
|
||||
|
||||
/**
|
||||
* 统计个人未完成的待办数量
|
||||
*/
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
package cn.axzo.msg.center.service.pending.request;
|
||||
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
public class GetPendingTodosRequest {
|
||||
/**
|
||||
* 待办执行人id
|
||||
*/
|
||||
private Set<Long> personIds;
|
||||
/**
|
||||
* 待办单位id
|
||||
*/
|
||||
private Set<Long> ouIds;
|
||||
/**
|
||||
* 模版id
|
||||
*/
|
||||
private Set<String> templateCodes;
|
||||
|
||||
/**
|
||||
* 最大查询数据. 最多不超过 5000
|
||||
*/
|
||||
private int limit = 10;
|
||||
|
||||
private TerminalTypeEnum terminalType;
|
||||
|
||||
public int determineLimit() {
|
||||
return Math.max(Math.min(limit, 5000), 10);
|
||||
}
|
||||
|
||||
}
|
||||
@ -22,7 +22,6 @@ import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @description
|
||||
@ -148,11 +147,6 @@ public class PendingMessagePageRequest extends PageRequest implements Serializab
|
||||
*/
|
||||
private Boolean queryTemplateTerminals;
|
||||
|
||||
/**
|
||||
* 指定模版编码
|
||||
*/
|
||||
private Set<String> templateCodes;
|
||||
|
||||
// !! 用于排查问题
|
||||
private String analysisToken;
|
||||
private AnalysisInfo a = new AnalysisInfo();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user