From f7cefe35709cd90b77d93e8d98e0bce2f4390d07 Mon Sep 17 00:00:00 2001 From: luofu Date: Thu, 16 Nov 2023 19:23:24 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(REQ-1507):=20=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=88=86=E7=B1=BB=E5=8A=9F=E8=83=BD=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1507?goToView=1 修改: 1、模板移除分类功能问题处理; 影响: 无 --- .../controller/MessageGroupController.java | 15 ++++++++++----- .../message/domain/dto/PendingMessageDTO.java | 5 +++-- .../impl/PendingMessageNewServiceImpl.java | 6 +++--- .../cn/axzo/msg/center/utils/MessageCardUtil.java | 8 ++++++++ 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java index bb8eb752..1cf2dfd6 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/MessageGroupController.java @@ -21,6 +21,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -60,9 +62,11 @@ public class MessageGroupController implements MessageGroupClient { .listGroupTree(request.getCategory(), request.getNodeName()); List groupTreeNodes; if (StringUtils.isNotBlank(request.getNodeName())) { - // 根据分类结点名称搜索时需要剪枝 + // 根据结点类型为分类类型的结点名称搜索时需要剪枝TODO:[cold_blade] [P0] + final Function cutFunc = e -> e.canMountTemplate() + && Objects.equals(e.getNodeName(), request.getNodeName()); groupTreeNodes = trees.stream() - .map(this::convertCutTree) + .map(e -> convertCutTree(e, cutFunc)) .filter(e -> CollectionUtils.isNotEmpty(e.getChildren())) .collect(Collectors.toList()); } else { @@ -77,7 +81,7 @@ public class MessageGroupController implements MessageGroupClient { public CommonResponse> listCutTree(MessageGroupQueryRequest request) { List groupTreeNodes = messageGroupNodeService .listGroupTree(request.getCategory(), request.getNodeName()).stream() - .map(this::convertCutTree) + .map(e -> convertCutTree(e, TreeHelperUtil::containsMountTemplateChild)) .filter(e -> CollectionUtils.isNotEmpty(e.getChildren())) .collect(Collectors.toList()); return CommonResponse.success(groupTreeNodes); @@ -92,7 +96,8 @@ public class MessageGroupController implements MessageGroupClient { return CommonResponse.success(groupTreeNodes); } - private MessageGroupTreeNodeResponse convertCutTree(GroupTreeNodeDTO srcRootNode) { + private MessageGroupTreeNodeResponse convertCutTree(GroupTreeNodeDTO srcRootNode, + Function cutFunc) { MessageGroupTreeNodeResponse tgtRootNode = convert(srcRootNode); if (CollectionUtils.isEmpty(srcRootNode.getNodeChildren())) { return tgtRootNode; @@ -102,7 +107,7 @@ public class MessageGroupController implements MessageGroupClient { LinkedList stack = new LinkedList<>(srcRootNode.getNodeChildren()); while (!stack.isEmpty()) { GroupTreeNodeDTO node = stack.pop(); - if (TreeHelperUtil.containsMountTemplateChild(node)) { + if (cutFunc.apply(node)) { MessageGroupTreeNodeResponse child = convert(node); map.get(node.getParentNode()).addChild(child); map.put(node, child); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java index 4009d8cf..4e36e4d6 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java @@ -8,6 +8,7 @@ import cn.axzo.msg.center.service.enums.BizCategoryEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.utils.DateFormatUtil; +import cn.axzo.msg.center.utils.MessageCardUtil; import cn.axzo.msg.center.utils.MessageRouterUtil; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; @@ -135,8 +136,8 @@ public class PendingMessageDTO implements Serializable { .build(); return PendingMessageDTO.builder() .identityCode(pendingMessageRecord.getIdentityCode()) - .title(pendingMessageRecord.getTitle()) - .content(pendingMessageRecord.getContent()) + .title(MessageCardUtil.parseParam(pendingMessageRecord.getTitle(), pendingMessageRecord.getBizExtParam())) + .content(MessageCardUtil.parseParam(pendingMessageRecord.getContent(), pendingMessageRecord.getBizExtParam())) .promoter(promoter) .executor(executor) .bizCode(pendingMessageRecord.getBizCode()) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java index 5a4a4702..191a3862 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java @@ -191,10 +191,10 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { SimpleWorkspaceRes workspace = null; Long workspaceId = param.getWorkspaceId(); Result workspaceRes = workspaceApi.getOne(workspaceId); - if (!"200".equals(workspaceRes.getCode())) { - log.info("未查询到工作台信息 workspaceId:{}", workspaceId); - } else { + if (200 == workspaceRes.getCode()) { workspace = workspaceRes.getData(); + } else { + log.info("未查询到工作台信息 workspaceId:{}", workspaceId); } List record = convert(param, msgTemplate, requestNo, workspace); pendingMessageRecordDao.saveBatch(record); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java index 703ade92..0d4f469f 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java @@ -43,4 +43,12 @@ public final class MessageCardUtil { } return msgCardContentItems; } + + public static String parseParam(String srcStr, String bizExtParamStr) { + if (StringUtils.isBlank(srcStr) || StringUtils.isBlank(bizExtParamStr)) { + return srcStr; + } + JSONObject bizExtParam = JSON.parseObject(bizExtParamStr); + return PlaceholderResolver.getDefaultResolver().resolveByMap(srcStr, bizExtParam); + } } From 0da6f8a705bb418092dfc8be0a9391183aa8acca Mon Sep 17 00:00:00 2001 From: luofu Date: Thu, 16 Nov 2023 19:56:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat(REQ-1507):=20=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=96=B0=E5=A2=9E=E4=BC=81=E4=B8=9Aid?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1507?goToView=1 修改: 1、待办记录新增企业id字段; 影响: 无 --- .../message/domain/dto/PendingMessageDTO.java | 5 ++--- .../service/impl/PendingMessageNewServiceImpl.java | 13 ++++++------- .../cn/axzo/msg/center/utils/MessageCardUtil.java | 8 -------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java index 4e36e4d6..4009d8cf 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/dto/PendingMessageDTO.java @@ -8,7 +8,6 @@ import cn.axzo.msg.center.service.enums.BizCategoryEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; import cn.axzo.msg.center.utils.DateFormatUtil; -import cn.axzo.msg.center.utils.MessageCardUtil; import cn.axzo.msg.center.utils.MessageRouterUtil; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; @@ -136,8 +135,8 @@ public class PendingMessageDTO implements Serializable { .build(); return PendingMessageDTO.builder() .identityCode(pendingMessageRecord.getIdentityCode()) - .title(MessageCardUtil.parseParam(pendingMessageRecord.getTitle(), pendingMessageRecord.getBizExtParam())) - .content(MessageCardUtil.parseParam(pendingMessageRecord.getContent(), pendingMessageRecord.getBizExtParam())) + .title(pendingMessageRecord.getTitle()) + .content(pendingMessageRecord.getContent()) .promoter(promoter) .executor(executor) .bizCode(pendingMessageRecord.getBizCode()) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java index 191a3862..f2fcfa31 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java @@ -383,7 +383,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { // 构建代办记录的人维度的相关信息 buildPersonInfo(record, param.getPromoter(), executor); // 构建模板信息 - buildTemplateInfo(record, msgTemplate, param.getRouterParams()); + buildTemplateInfo(record, msgTemplate, param.getBizExtParams()); // 构建代办所属企业/项目等相关信息 record.setOrgType(Objects.isNull(param.getOrgType()) ? OrganizationTypeEnum.UNKNOWN : param.getOrgType()); record.setOrgId(param.getWorkspaceId()); @@ -408,17 +408,15 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { } - private void buildTemplateInfo(PendingMessageRecord record, MessageTemplateDTO msgTemplate, String routeParam) { - // TODO:[cold_blade] [P3] 后续其它业务对接的时候,需要明确业务扩展字段和路由参数的分界 - JSONObject routerParamObj = JSONObjectUtil.parseObject(routeParam); + private void buildTemplateInfo(PendingMessageRecord record, MessageTemplateDTO msgTemplate, String bizParam) { + JSONObject bizExtParam = JSONObjectUtil.parseObject(bizParam); String title = PlaceholderResolver - .getDefaultResolver().resolveByMap(msgTemplate.getTitle(), routerParamObj); + .getDefaultResolver().resolveByMap(msgTemplate.getTitle(), bizExtParam); String content = PlaceholderResolver - .getDefaultResolver().resolveByMap(msgTemplate.getContent(), routerParamObj); + .getDefaultResolver().resolveByMap(msgTemplate.getContent(), bizExtParam); record.setTitle(title); record.setContent(content); record.setTemplateCode(msgTemplate.getCode()); - record.setRouterParams(routerParamObj.toJSONString()); } private void buildBusinessInfo(PendingMessageRecord record, PendingMessagePushParam param) { @@ -427,6 +425,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { record.setBizDesc(param.getBizDesc()); record.setBizCategory(param.getBizCategory()); record.setBizExtParam(JSONObjectUtil.checkAndReturn(param.getBizExtParams())); + record.setRouterParams(JSONObjectUtil.checkAndReturn(param.getRouterParams())); record.setBizFlag(param.getBizFlag()); record.setBizFinalState(param.getBizFinalState()); record.setDeadline(param.getDeadline()); diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java index 0d4f469f..703ade92 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/utils/MessageCardUtil.java @@ -43,12 +43,4 @@ public final class MessageCardUtil { } return msgCardContentItems; } - - public static String parseParam(String srcStr, String bizExtParamStr) { - if (StringUtils.isBlank(srcStr) || StringUtils.isBlank(bizExtParamStr)) { - return srcStr; - } - JSONObject bizExtParam = JSON.parseObject(bizExtParamStr); - return PlaceholderResolver.getDefaultResolver().resolveByMap(srcStr, bizExtParam); - } } From c3fb5a57fdd41b934e01d218f24d54dfb106d7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Thu, 16 Nov 2023 20:33:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BE=85=E5=8A=9Ecomplet?= =?UTF-8?q?eById=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PendingMessageNewController.java | 12 +++++++--- .../service/PendingMessageNewService.java | 15 +++++++++--- .../impl/PendingMessageNewServiceImpl.java | 18 +++++++++++--- .../pending/client/PendingMessageClient.java | 20 ++++++++++++---- .../PendingMessageClientFallback.java | 6 ++--- .../CompletePendingMessageByIdRequest.java | 24 +++++++++++++++++++ ...ava => CompletePendingMessageRequest.java} | 2 +- 7 files changed, 79 insertions(+), 18 deletions(-) create mode 100644 msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java rename msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/{CompleteMessageRequest.java => CompletePendingMessageRequest.java} (89%) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java index 94669f46..30fd3d27 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/controller/PendingMessageNewController.java @@ -7,7 +7,8 @@ import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam; import cn.axzo.msg.center.message.service.PendingMessageNewService; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.PendingMessageClient; -import cn.axzo.msg.center.service.pending.request.CompleteMessageRequest; +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.PendingMessageCountUncompletedRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; @@ -84,18 +85,23 @@ public class PendingMessageNewController implements PendingMessageClient { return CommonResponse.success(pendingMessageNewService.complete(requestNo)); } + @Override + public CommonResponse completeById(CompletePendingMessageByIdRequest param) { + return CommonResponse.success(pendingMessageNewService.completeById(param)); + } + @Override public CommonResponse revoke(String requestNo) { return CommonResponse.success(pendingMessageNewService.revoke(requestNo)); } @Override - public CommonResponse completeByTemplateCodeBizCode(CompleteMessageRequest param) { + public CommonResponse completeByTemplateCodeBizCode(CompletePendingMessageRequest param) { return CommonResponse.success(pendingMessageNewService.completeByTemplateCodeBizCode(param)); } @Override - public CommonResponse revokeByTemplateCodeBizCode(CompleteMessageRequest param) { + public CommonResponse revokeByTemplateCodeBizCode(CompletePendingMessageRequest param) { return CommonResponse.success(pendingMessageNewService.revokeByTemplateCodeBizCode(param)); } } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java index 079e04c7..d6bc38da 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/PendingMessageNewService.java @@ -5,7 +5,8 @@ import cn.axzo.msg.center.message.domain.dto.PendingMessageStatisticDTO; import cn.axzo.msg.center.message.domain.param.MessageGroupNodeStatisticParam; import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.request.CompleteMessageRequest; +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.PendingMessagePageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; @@ -91,6 +92,14 @@ public interface PendingMessageNewService { */ Boolean complete(String requestNo); + /** + * 完成代办 + * + * @param param 代办唯一标识 + * @return 成功返回 {@code true} 失败返回 {@code false} + */ + Boolean completeById(CompletePendingMessageByIdRequest param); + /** * 撤销代办 * @@ -105,7 +114,7 @@ public interface PendingMessageNewService { * @param param * @return 成功返回 {@code true} 失败返回 {@code false} */ - Boolean completeByTemplateCodeBizCode(CompleteMessageRequest param); + Boolean completeByTemplateCodeBizCode(CompletePendingMessageRequest param); /** * 通过业务编码和模版编码撤销代办 @@ -113,5 +122,5 @@ public interface PendingMessageNewService { * @param param * @return 成功返回 {@code true} 失败返回 {@code false} */ - Boolean revokeByTemplateCodeBizCode(CompleteMessageRequest param); + Boolean revokeByTemplateCodeBizCode(CompletePendingMessageRequest param); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java index f2fcfa31..1929ce88 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/PendingMessageNewServiceImpl.java @@ -30,7 +30,8 @@ import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; import cn.axzo.msg.center.service.enums.PendingMessageRoleCategoryEnum; import cn.axzo.msg.center.service.enums.PendingMessageStateEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; -import cn.axzo.msg.center.service.pending.request.CompleteMessageRequest; +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.PendingMessagePageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessageQueryRequest; import cn.axzo.msg.center.service.pending.response.PendingMessageResponse; @@ -222,6 +223,17 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { .update(); } + @Override + public Boolean completeById(CompletePendingMessageByIdRequest param) { + log.info("the [{}] record is updated complete by id.", param); + return pendingMessageRecordDao.lambdaUpdate() + .set(PendingMessageRecord::getState, PendingMessageStateEnum.COMPLETED) + .eq(PendingMessageRecord::getId, param.getId()) + .eq(PendingMessageRecord::getState, PendingMessageStateEnum.HAS_BEEN_SENT) + .eq(PendingMessageRecord::getIsDelete, TableIsDeleteEnum.NORMAL.value) + .update(); + } + @Override public Boolean revoke(String requestNo) { if (StringUtils.isBlank(requestNo)) { @@ -238,7 +250,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { } @Override - public Boolean completeByTemplateCodeBizCode(CompleteMessageRequest param) { + public Boolean completeByTemplateCodeBizCode(CompletePendingMessageRequest param) { log.info("the [{}] record is completeByTemplateCodeBizCode retract.", param); return pendingMessageRecordDao.lambdaUpdate() .set(PendingMessageRecord::getState, PendingMessageStateEnum.COMPLETED) @@ -250,7 +262,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService { } @Override - public Boolean revokeByTemplateCodeBizCode(CompleteMessageRequest param) { + public Boolean revokeByTemplateCodeBizCode(CompletePendingMessageRequest param) { log.info("the [{}] record is revokeByTemplateCodeBizCode retract.", param); return pendingMessageRecordDao.lambdaUpdate() .set(PendingMessageRecord::getState, PendingMessageStateEnum.RETRACT) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java index 203f77d4..4f5d80b1 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/PendingMessageClient.java @@ -2,7 +2,8 @@ package cn.axzo.msg.center.service.pending.client; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.fallback.PendingMessageClientFallback; -import cn.axzo.msg.center.service.pending.request.CompleteMessageRequest; +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.PendingMessageCountUncompletedRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; @@ -102,6 +103,15 @@ public interface PendingMessageClient { @PostMapping(value = "/pending-message/complete", produces = {MediaType.APPLICATION_JSON_VALUE}) CommonResponse complete(@RequestParam("requestNo") String requestNo); + /** + * 完成代办 + * + * @param param + * @return 成功返回 {@code true} 失败返回 {@code false} + */ + @PostMapping(value = "/pending-message/complete/by-id", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse completeById(@RequestBody @Valid CompletePendingMessageByIdRequest param); + /** * 撤销代办 * @@ -117,8 +127,8 @@ public interface PendingMessageClient { * @param param * @return */ - @PostMapping(value = "/pending-message/completeByTemplateCodeBizCode", produces = {MediaType.APPLICATION_JSON_VALUE}) - CommonResponse completeByTemplateCodeBizCode(@RequestBody @Valid CompleteMessageRequest param); + @PostMapping(value = "/pending-message/complete/by-biz-code", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse completeByTemplateCodeBizCode(@RequestBody @Valid CompletePendingMessageRequest param); /** * 通过模版编号和业务编号撤销代办 @@ -126,6 +136,6 @@ public interface PendingMessageClient { * @param param * @return 成功返回 {@code true} 失败返回 {@code false} */ - @PostMapping(value = "/pending-message/revokeByTemplateCodeBizCode", produces = {MediaType.APPLICATION_JSON_VALUE}) - CommonResponse revokeByTemplateCodeBizCode(@RequestBody @Valid CompleteMessageRequest param); + @PostMapping(value = "/pending-message/revoke/by-biz-code", produces = {MediaType.APPLICATION_JSON_VALUE}) + CommonResponse revokeByTemplateCodeBizCode(@RequestBody @Valid CompletePendingMessageRequest param); } \ No newline at end of file diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java index 30f4caf7..dcde76f1 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/client/fallback/PendingMessageClientFallback.java @@ -2,7 +2,7 @@ package cn.axzo.msg.center.service.pending.client.fallback; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.pending.client.PendingMessageClient; -import cn.axzo.msg.center.service.pending.request.CompleteMessageRequest; +import cn.axzo.msg.center.service.pending.request.CompletePendingMessageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessageCountUncompletedRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePageRequest; import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; @@ -79,13 +79,13 @@ public class PendingMessageClientFallback implements PendingMessageClient { } @Override - public CommonResponse completeByTemplateCodeBizCode(CompleteMessageRequest param) { + public CommonResponse completeByTemplateCodeBizCode(CompletePendingMessageRequest param) { log.error("fall back while completing pending message by biz code. request:[{}]", param); return CommonResponse.error("fall back while completing pending message by biz code"); } @Override - public CommonResponse revokeByTemplateCodeBizCode(CompleteMessageRequest param) { + public CommonResponse revokeByTemplateCodeBizCode(CompletePendingMessageRequest param) { log.error("fall back while revoking pending message by biz code. msgIdentityCode:[{}]", param); return CommonResponse.error("fall back while revoking pending message by biz code"); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java new file mode 100644 index 00000000..afbf64cc --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageByIdRequest.java @@ -0,0 +1,24 @@ +package cn.axzo.msg.center.service.pending.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +/** + * @author haiyangjin + * @date 2023/11/16 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CompletePendingMessageByIdRequest { + /** + * 关联业务主键 + */ + @NotNull(message = "消息ID不能为空") + private Long id; +} diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompleteMessageRequest.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageRequest.java similarity index 89% rename from msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompleteMessageRequest.java rename to msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageRequest.java index 211b99d2..bddfdbe2 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompleteMessageRequest.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/request/CompletePendingMessageRequest.java @@ -16,7 +16,7 @@ import java.io.Serializable; @Builder @AllArgsConstructor @NoArgsConstructor -public class CompleteMessageRequest implements Serializable { +public class CompletePendingMessageRequest implements Serializable { /** * 关联业务主键 */