Merge branch 'feature/REQ-2752' into dev
This commit is contained in:
commit
e72fbd74af
@ -71,6 +71,9 @@ public class PendingMessageBizConfig {
|
|||||||
@Getter
|
@Getter
|
||||||
private int getLatestByBizCodeMaxSize = 500;
|
private int getLatestByBizCodeMaxSize = 500;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private int getTodoSimpleSize = 500;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置待办隐藏的隐藏时间
|
* 设置待办隐藏的隐藏时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeReques
|
|||||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest;
|
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.CompletePendingMessageRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||||
|
import cn.axzo.msg.center.service.pending.request.GetTodoRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
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.PendingMessageCountUncompletedRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
||||||
@ -256,6 +257,12 @@ public class PendingMessageNewController implements PendingMessageClient {
|
|||||||
return CommonResponse.success(todoSimpleQueryService.getLatestTodosByBiz(param));
|
return CommonResponse.success(todoSimpleQueryService.getLatestTodosByBiz(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResponse<List<PendingMessageSimpleDTO>> getTodosSimple(GetTodoRequest request) {
|
||||||
|
log.info("getTodos, request={}", JSON.toJSONString(request));
|
||||||
|
return CommonResponse.success(todoSimpleQueryService.getTodosSimple(request));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Boolean> setHide(SetHideRequest req) {
|
public CommonResponse<Boolean> setHide(SetHideRequest req) {
|
||||||
log.info("setHide, request={}", JSON.toJSONString(req));
|
log.info("setHide, request={}", JSON.toJSONString(req));
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package cn.axzo.msg.center.message.service.todo;
|
package cn.axzo.msg.center.message.service.todo;
|
||||||
|
|
||||||
|
import cn.axzo.basics.common.BeanMapper;
|
||||||
import cn.axzo.msg.center.dal.SampleTodos;
|
import cn.axzo.msg.center.dal.SampleTodos;
|
||||||
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
||||||
import cn.axzo.msg.center.dal.TodoBusinesses;
|
import cn.axzo.msg.center.dal.TodoBusinesses;
|
||||||
@ -13,6 +14,7 @@ import cn.axzo.msg.center.message.service.MessageTemplateNewService;
|
|||||||
import cn.axzo.msg.center.message.service.impl.PendingMessageNewServiceImpl;
|
import cn.axzo.msg.center.message.service.impl.PendingMessageNewServiceImpl;
|
||||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||||
|
import cn.axzo.msg.center.service.pending.response.PendingMessageSimpleDTO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@ -120,6 +122,14 @@ class TodoRespBuilder {
|
|||||||
return adapters;
|
return adapters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<PendingMessageSimpleDTO> buildTodosSimple(List<Todo> todos) {
|
||||||
|
List<PendingRecordAdapter> adapters = buildTodoAdapters(todos);
|
||||||
|
return adapters.stream()
|
||||||
|
.map(MigrateUtils::convertAdapterToPending)
|
||||||
|
.map(p -> BeanMapper.copyBean(p, PendingMessageSimpleDTO.class))
|
||||||
|
.collect(toList());
|
||||||
|
}
|
||||||
|
|
||||||
List<PendingRecordAdapter> buildTodoAdapters(List<Todo> todos) {
|
List<PendingRecordAdapter> buildTodoAdapters(List<Todo> todos) {
|
||||||
if (CollectionUtils.isEmpty(todos))
|
if (CollectionUtils.isEmpty(todos))
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package cn.axzo.msg.center.message.service.todo;
|
package cn.axzo.msg.center.message.service.todo;
|
||||||
|
|
||||||
import cn.axzo.basics.common.BeanMapper;
|
|
||||||
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
|
||||||
import cn.axzo.msg.center.common.utils.BizAssertions;
|
import cn.axzo.msg.center.common.utils.BizAssertions;
|
||||||
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
||||||
@ -12,6 +11,7 @@ import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
|
|||||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||||
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
import cn.axzo.msg.center.service.enums.TodoQueryType;
|
||||||
import cn.axzo.msg.center.service.enums.TodoType;
|
import cn.axzo.msg.center.service.enums.TodoType;
|
||||||
|
import cn.axzo.msg.center.service.pending.request.GetTodoRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest;
|
import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest;
|
||||||
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
import cn.axzo.msg.center.service.pending.response.PendingMessageResponse;
|
||||||
@ -124,11 +124,18 @@ public class TodoSimpleQueryService {
|
|||||||
.max(comparing(Todo::getId))
|
.max(comparing(Todo::getId))
|
||||||
.ifPresent(latestTodos::add);
|
.ifPresent(latestTodos::add);
|
||||||
}
|
}
|
||||||
List<PendingRecordAdapter> adapters = todoRespBuilder.buildTodoAdapters(latestTodos);
|
return todoRespBuilder.buildTodosSimple(latestTodos);
|
||||||
return adapters.stream()
|
|
||||||
.map(MigrateUtils::convertAdapterToPending)
|
|
||||||
.map(p -> BeanMapper.copyBean(p, PendingMessageSimpleDTO.class))
|
|
||||||
.collect(toList());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<PendingMessageSimpleDTO> getTodosSimple(GetTodoRequest request) {
|
||||||
|
List<Todo> todos = 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.getExecutorPersonIds()), Todo::getExecutorPersonId, request.getExecutorPersonIds())
|
||||||
|
.in(CollectionUtils.isNotEmpty(request.getStates()), Todo::getState, request.getStates())
|
||||||
|
.last("LIMIT " + cfg.getGetTodoSimpleSize())
|
||||||
|
.list();
|
||||||
|
return todoRespBuilder.buildTodosSimple(todos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -7,6 +7,7 @@ import cn.axzo.msg.center.service.pending.request.CompletePendingBySubCodeReques
|
|||||||
import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest;
|
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.CompletePendingMessageRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
import cn.axzo.msg.center.service.pending.request.GetPendingTodosRequest;
|
||||||
|
import cn.axzo.msg.center.service.pending.request.GetTodoRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageByBizCodeRequest;
|
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.PendingMessageCountUncompletedRequest;
|
||||||
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
import cn.axzo.msg.center.service.pending.request.PendingMessageFixedTemplatePageRequest;
|
||||||
@ -332,4 +333,8 @@ public interface PendingMessageClient {
|
|||||||
@PostMapping(value = "/pending-message/set-copied-to-me-read", produces = {MediaType.APPLICATION_JSON_VALUE})
|
@PostMapping(value = "/pending-message/set-copied-to-me-read", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
CommonResponse<Boolean> setCopiedToMeRead(@RequestParam("personId") Long personId,
|
CommonResponse<Boolean> setCopiedToMeRead(@RequestParam("personId") Long personId,
|
||||||
@RequestParam(value = "identityCode", defaultValue = "") String identityCode);
|
@RequestParam(value = "identityCode", defaultValue = "") String identityCode);
|
||||||
|
|
||||||
|
@PostMapping(value = "/pending-message/record/get-todos-simple", produces = {MediaType.APPLICATION_JSON_VALUE})
|
||||||
|
CommonResponse<List<PendingMessageSimpleDTO>> getTodosSimple(@RequestBody @Valid GetTodoRequest request);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
package cn.axzo.msg.center.service.pending.request;
|
||||||
|
|
||||||
|
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class GetTodoRequest {
|
||||||
|
private Set<String> identityCodes;
|
||||||
|
private Set<String> templateCodes;
|
||||||
|
private Set<String> bizCodes;
|
||||||
|
private Set<Long> executorPersonIds;
|
||||||
|
private Set<PendingMessageStateEnum> states;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return JSON.toJSONString(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,31 +0,0 @@
|
|||||||
package cn.axzo.msg.center.api;
|
|
||||||
|
|
||||||
import cn.axzo.msg.center.MsgCenterApplication;
|
|
||||||
import cn.axzo.msg.center.api.request.v4.MessageSendRequestV4;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
|
||||||
import org.springframework.test.annotation.Commit;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author yanglin
|
|
||||||
*/
|
|
||||||
@SpringBootTest(classes = MsgCenterApplication.class)
|
|
||||||
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
|
||||||
class MessageAPIV4Test {
|
|
||||||
|
|
||||||
private final MessageAPIV4 messageAPIV4;
|
|
||||||
|
|
||||||
@Test @Transactional @Commit
|
|
||||||
void exec() {
|
|
||||||
String json = "{\"eventMappingCode\":\"gaia_projectComplete_closeOrCancel_workpoint\",\"sendBasicInfo\":{\"bizCode\":\"421\",\"bizExtParams\":{\"reason\":\"记工单关联的部分工程已完结\",\"count\":\"1 单\",\"type\":\"系统自动撤销记工单\"},\"receivers\":[{\"id\":2810}],\"receiversOrgType\":\"PROJECT\",\"receiversOuId\":6458,\"receiversWorkspaceId\":326,\"routerParams\":{\"projectId\":421,\"workspaceId\":326}},\"templates\":[{\"channel\":\"NOTIFICATION\",\"templateCodes\":[\"75d88ddae7914c7089b67d944357fa1c\"]}]}";
|
|
||||||
MessageSendRequestV4 request = JSON.parseObject(json, MessageSendRequestV4.class);;
|
|
||||||
messageAPIV4.send(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user