From 7d9e13f762e2e7a02b4e169f48439822cd89d060 Mon Sep 17 00:00:00 2001 From: yanglin Date: Mon, 30 Dec 2024 19:51:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=B5=81=E7=A8=8B=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todo/card/CardSyncTodoHandler.java | 2 +- .../todo/card/TodoSyncCardService.java | 22 ++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/CardSyncTodoHandler.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/CardSyncTodoHandler.java index 2562b263..f4f3a464 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/CardSyncTodoHandler.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/CardSyncTodoHandler.java @@ -22,7 +22,7 @@ public class CardSyncTodoHandler implements EventHandler, InitializingBean { @Override public void onEvent(Event event, EventConsumer.Context context) { CardPresetButtonPressedMessage message = event.normalizedData(CardPresetButtonPressedMessage.class); - todoSyncCardService.onCardPresetButtonPressed(message); + todoSyncCardService.syncCardPresetButtonPressed(message); } @Override diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/TodoSyncCardService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/TodoSyncCardService.java index 75bc89de..15d3999e 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/TodoSyncCardService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/card/TodoSyncCardService.java @@ -29,6 +29,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Sets; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; /** @@ -97,7 +98,7 @@ class TodoSyncCardService { } else { updateCardState(event, business, todo); if (business.getBizCategory() == BizCategoryEnum.FLOW) - updateFlowButtonStates(event, business, todo); + maybeSetFlowActionPerformed(event, business, todo); } } @@ -157,7 +158,7 @@ class TodoSyncCardService { } } - private void updateFlowButtonStates(Event event, TodoBusiness business, Todo todo) { + private void maybeSetFlowActionPerformed(Event event, TodoBusiness business, Todo todo) { if (business.getBizFinalState() == null || !business.getBizFinalState().isEnableActionPerformed()) { log.warn("TodoSyncStateToCardService.updateFlowButtonStates:" + " bizFinalState is null or not action performable, business={}, todo={}", business, todo); @@ -202,14 +203,29 @@ class TodoSyncCardService { return null; } - void onCardPresetButtonPressed(CardPresetButtonPressedMessage message) { + void syncCardPresetButtonPressed(CardPresetButtonPressedMessage message) { log.info("TodoSyncStateToCardService.onCardPresetButtonPressed: {}", message); if(!APP_CODE.equals(message.getCardInfo().getAppCode())) { log.info("TodoSyncStateToCardService.onCardPresetButtonPressed: not msg-center:todo, message={}", message); return; } + String identityCode = message.getCardInfo().getBizParam().getString(TODO_IDENTITY_CODE_BIZ_PARAM_KEY); + if (StringUtils.isBlank(identityCode)) { + log.warn("TodoSyncStateToCardService.onCardPresetButtonPressed: identityCode is blank, message={}", message); + return; + } + Todo todo = todoDao.findTodoByCode(identityCode).orElse(null); + if (todo == null) { + log.info("TodoSyncStateToCardService.onCardPresetButtonPressed: todo not found, message={}", message); + return; + } PresetButtonPressedRequest request = new PresetButtonPressedRequest(); + request.setIdentityCode(identityCode); + request.setPresetButtonType(message.getPresetButtonType()); + request.setOperatorId(message.getOperatorId()); + request.setOperatorName(message.getOperatorName()); todoManager.firePresetButtonPressed(request, false); + todoLogger.logTodoUpdated(TodoRequestContext.create("syncCardState", message), todo); } } \ No newline at end of file