同步流程状态

This commit is contained in:
yanglin 2024-12-30 19:51:46 +08:00
parent eaa54500bc
commit 7d9e13f762
2 changed files with 20 additions and 4 deletions

View File

@ -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

View File

@ -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);
}
}