Merge branch 'feature/REQ-3454'
This commit is contained in:
commit
70697b2fe2
@ -16,6 +16,7 @@ import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeReques
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByCodesRequest;
|
||||
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.FetchTodoByBizRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoCountRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoPageRequest;
|
||||
@ -283,6 +284,12 @@ public class PendingMessageNewController implements PendingMessageClient {
|
||||
return CommonResponse.success(todoSimpleQueryService.getTodosSimple(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<List<PendingMessageResponse>> fetchTodosByBiz(FetchTodoByBizRequest request) {
|
||||
log.info("fetchTodosByBiz, request={}", JSON.toJSONString(request));
|
||||
return CommonResponse.success(todoSimpleQueryService.fetchTodosByBiz(request));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Map<BizCategoryEnum, PendingMessageCountDTO>> getTodosSimpleCount(GetTodoCountRequest request) {
|
||||
return CommonResponse.success(todoSimpleQueryService.getTodosSimpleCount(request));
|
||||
|
||||
@ -17,6 +17,7 @@ import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||
import cn.axzo.msg.center.service.enums.TodoType;
|
||||
import cn.axzo.msg.center.service.pending.request.FetchTodoByBizRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoCountRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoPageRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoRequest;
|
||||
@ -26,6 +27,7 @@ import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageCountDTO;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||
import cn.axzo.msg.center.service.pending.response.PendingMessageSimpleDTO;
|
||||
import cn.axzo.msg.center.service.pending.response.v3.model.ParsedModelV3;
|
||||
import cn.azxo.framework.common.model.Page;
|
||||
import cn.hutool.core.date.StopWatch;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
@ -143,6 +145,27 @@ public class TodoSimpleQueryService {
|
||||
return todoRespBuilder.buildTodosSimple(latestTodos);
|
||||
}
|
||||
|
||||
public List<PendingMessageResponse> fetchTodosByBiz(FetchTodoByBizRequest request) {
|
||||
List<Todo> todos = todoDao.lambdaQuery()
|
||||
.and(CollectionUtils.isNotEmpty(request.getTodos()), wrapper -> {
|
||||
for (FetchTodoByBizRequest.TodoInfo todo : request.getTodos()) {
|
||||
wrapper.or()
|
||||
.eq(StringUtils.isNotBlank(todo.getTemplateCode()), Todo::getTemplateCode, todo.getTemplateCode())
|
||||
.eq(StringUtils.isNotBlank(todo.getBizCode()), Todo::getBizCode, todo.getBizCode())
|
||||
.eq(StringUtils.isNotBlank(todo.getSubBizCode()), Todo::getSubBizCode, todo.getSubBizCode());
|
||||
}
|
||||
})
|
||||
.last("LIMIT " + cfg.getGetTodoSimpleSize())
|
||||
.list();
|
||||
List<PendingMessageResponse> response = todoRespBuilder.toResponse(
|
||||
todoRespBuilder.buildTodoAdapters(todos), request);
|
||||
ParsedModelV3[] models = response.stream()
|
||||
.map(PendingMessageResponse::getModelV3)
|
||||
.toArray(ParsedModelV3[]::new);
|
||||
v3ExtPopulator.populate(models);
|
||||
return response;
|
||||
}
|
||||
|
||||
public List<PendingMessageSimpleDTO> getTodosSimple(GetTodoRequest request) {
|
||||
List<Todo> todos = todoDao.lambdaQuery()
|
||||
.in(CollectionUtils.isNotEmpty(request.getIdentityCodes()), Todo::getIdentityCode, request.getIdentityCodes())
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeReques
|
||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByCodesRequest;
|
||||
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.FetchTodoByBizRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoCountRequest;
|
||||
import cn.axzo.msg.center.service.pending.request.GetTodoPageRequest;
|
||||
@ -347,6 +348,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/fetch-todos-by-biz", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<List<PendingMessageResponse>> fetchTodosByBiz(@RequestBody @Valid FetchTodoByBizRequest request);
|
||||
|
||||
@PostMapping(value = "/pending-message/record/get-todos-simple/count", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||
CommonResponse<Map<BizCategoryEnum, PendingMessageCountDTO>> getTodosSimpleCount(@RequestBody @Valid GetTodoCountRequest request);
|
||||
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
package cn.axzo.msg.center.service.pending.request;
|
||||
|
||||
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.pending.ClientRequest;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter @Getter
|
||||
public class FetchTodoByBizRequest implements ClientRequest {
|
||||
|
||||
@NotEmpty(message = "rows不能为空")
|
||||
private List<TodoInfo> todos = new ArrayList<>();
|
||||
|
||||
public void addTodo(TodoInfo todo) {
|
||||
if (todos == null)
|
||||
todos = new ArrayList<>();
|
||||
todos.add(todo);
|
||||
}
|
||||
|
||||
@Setter @Getter
|
||||
public static class TodoInfo {
|
||||
private String templateCode;
|
||||
private String bizCode;
|
||||
private String subBizCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppTerminalTypeEnum getAppTerminalType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TerminalTypeEnum getTerminalType() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user