diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverEvent.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverEvent.java index 6e0aa01b..247305bd 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverEvent.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverEvent.java @@ -2,9 +2,11 @@ package cn.axzo.msg.center.message.service.todo.manage.event; import cn.axzo.msg.center.domain.entity.Todo; import cn.axzo.msg.center.service.pending.request.TodoHandoverRequest; +import com.alibaba.fastjson.JSON; import lombok.Getter; import org.springframework.context.ApplicationEvent; +import java.util.HashMap; import java.util.List; /** @@ -29,4 +31,14 @@ public class HandoverEvent extends ApplicationEvent { return srcTodos.size(); } + @Override + public String toString() { + HashMap fields = new HashMap<>(); + fields.put("request", request); + fields.put("srcTodos", srcTodos); + fields.put("destTodos", destTodos); + fields.put("todoCount", todoCount()); + return JSON.toJSONString(fields); + } + } \ No newline at end of file diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverImSender.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverImSender.java index 86b7c7e9..b3f6a150 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverImSender.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/event/HandoverImSender.java @@ -37,10 +37,10 @@ class HandoverImSender implements ApplicationListener { private void sendMessage(@NotNull HandoverEvent event) { log.info("prepare - send handover im message. event={}", event); TodoHandoverRequest handoverRequest = event.getRequest(); - MessageSendReqV3 eventMappingRequest = new MessageSendReqV3(); - eventMappingRequest.setBizEventMappingCode(cfg.getTodoHandoverImBizMappingCode()); - eventMappingRequest.setBizCode(String.format( - "handover_fromPerson:%s_fromOu:%s_toPerson:%s_toOu:%s_at:%s", + MessageSendReqV3 v3Request = new MessageSendReqV3(); + v3Request.setBizEventMappingCode(cfg.getTodoHandoverImBizMappingCode()); + v3Request.setBizCode(String.format( + "todoHandover_fromPerson:%s_fromOu:%s_toPerson:%s_toOu:%s_at:%s", handoverRequest.getFromPersonId(), handoverRequest.getFromOuId(), handoverRequest.getToPersonId(), handoverRequest.getToOuId(), // 避免多次交接导致重复 @@ -48,22 +48,21 @@ class HandoverImSender implements ApplicationListener { JSONObject bizExtParams = new JSONObject(); bizExtParams.put("fromPersonName", handoverRequest.determineFromPersonName()); bizExtParams.put("handoverTodoCount", event.todoCount()); - eventMappingRequest.setBizExtParams(bizExtParams); + v3Request.setBizExtParams(bizExtParams); // sender info - eventMappingRequest.setSender(new PersonV3DTO( + v3Request.setSender(new PersonV3DTO( handoverRequest.getFromPersonId(), handoverRequest.determineFromPersonName())); - eventMappingRequest.setSenderOuId(handoverRequest.getFromOuId()); + v3Request.setSenderOuId(handoverRequest.getFromOuId()); // receiver info - eventMappingRequest.setReceivers(Collections.singletonList(new PersonV3DTO( + v3Request.setReceivers(Collections.singletonList(new PersonV3DTO( handoverRequest.getToPersonId(), handoverRequest.determineToPersonName()))); - eventMappingRequest.setReceiversOuId(handoverRequest.getToOuId()); - eventMappingRequest.setReceiversOrgType(OrganizationTypeEnum.UNKNOWN); + v3Request.setReceiversOuId(handoverRequest.getToOuId()); + v3Request.setReceiversOrgType(OrganizationTypeEnum.UNKNOWN); // let's send - log.info("start - send handover im message. event={}, eventMappingRequest={}", - event, eventMappingRequest); - MessageSendRespV3 eventMappingResp = messageServiceV3.send(eventMappingRequest); - log.info("finish - send handover im message. event={}, eventMappingRequest={}, eventMappingResp={}", - event, eventMappingRequest, eventMappingResp); + log.info("start - send handover im message. event={}, v3Request={}", event, v3Request); + MessageSendRespV3 v3Resp = messageServiceV3.send(v3Request); + log.info("finish - send handover im message. event={}, v3Request={}, v3Response={}", + event, v3Request, v3Resp); } } \ No newline at end of file diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/AppTerminalTypeEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/AppTerminalTypeEnum.java index d5327c5c..49001838 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/AppTerminalTypeEnum.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/AppTerminalTypeEnum.java @@ -42,8 +42,12 @@ public enum AppTerminalTypeEnum { private final String desc; + public boolean isManageTerminal() { + return this == B_ENTERPRISE_APP || this == OMS_WEB_PC; + } + /** - * @return 管理端终端类型列表 + * @return 管理终端类型列表 */ public static List manageTerminals() { return Arrays.asList(B_ENTERPRISE_APP, OMS_WEB_PC); diff --git a/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java b/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java new file mode 100644 index 00000000..fa8cb82a --- /dev/null +++ b/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java @@ -0,0 +1,31 @@ +package cn.axzo.msg.center.message.service.todo.manage; + +import cn.axzo.msg.center.MsgCenterApplication; +import cn.axzo.msg.center.service.pending.request.TodoHandoverRequest; +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; + +/** + * @author yanglin + */ +@SpringBootTest(classes = MsgCenterApplication.class) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +class TodoManagerTest { + + private final TodoManager todoManager; + + @Test @Commit + void foo() { + TodoHandoverRequest request = new TodoHandoverRequest(); + request.setFromPersonId(16068L); + request.setFromOuId(5140L); + request.setFromPersonName("假杨林"); + request.setToPersonId(9000394L); + request.setToOuId(5140L); + todoManager.handover(request); + } + +} \ No newline at end of file