REQ-3502: fix bugs

This commit is contained in:
yanglin 2025-01-16 19:06:59 +08:00
parent ca0032ac9f
commit 3b5e749903
4 changed files with 9 additions and 3 deletions

View File

@ -215,7 +215,7 @@ public class CardManager {
UpdateStateResult result = executor.update(new SetActionPerformedBuilder( UpdateStateResult result = executor.update(new SetActionPerformedBuilder(
executor, button, CardBizState.fromPresetButton(request.getPresetButtonType()))); executor, button, CardBizState.fromPresetButton(request.getPresetButtonType())));
if (result == UpdateStateResult.UPDATED) { if (result == UpdateStateResult.UPDATED) {
cardBroadcaster.firePresetButtonPressed(executor.updatedCards, request); cardBroadcaster.firePresetButtonPressed(executor.updatedCards, request, requestContext);
executor.updateCardLogger.reloadAndLogCards("presetButtonPressed:mq:success"); executor.updateCardLogger.reloadAndLogCards("presetButtonPressed:mq:success");
} else { } else {
executor.updateCardLogger.reloadAndLogCards("presetButtonPressed:cardNoUpdate"); executor.updateCardLogger.reloadAndLogCards("presetButtonPressed:cardNoUpdate");

View File

@ -5,6 +5,7 @@ import cn.axzo.msg.center.api.mq.CardInfo;
import cn.axzo.msg.center.api.mq.CardPresetButtonPressedMessage; import cn.axzo.msg.center.api.mq.CardPresetButtonPressedMessage;
import cn.axzo.msg.center.dal.CardDao; import cn.axzo.msg.center.dal.CardDao;
import cn.axzo.msg.center.domain.entity.Card; import cn.axzo.msg.center.domain.entity.Card;
import cn.axzo.msg.center.message.service.card.CardRequestContext;
import cn.axzo.msg.center.mq.MqMessageRecord; import cn.axzo.msg.center.mq.MqMessageRecord;
import cn.axzo.msg.center.mq.MqProducer; import cn.axzo.msg.center.mq.MqProducer;
import cn.axzo.msg.center.service.enums.MqMessageType; import cn.axzo.msg.center.service.enums.MqMessageType;
@ -25,13 +26,16 @@ public class CardBroadcaster {
private final CardDao cardDao; private final CardDao cardDao;
private final MqProducer mqProducer; private final MqProducer mqProducer;
public void firePresetButtonPressed(List<Card> cards, CardPresetButtonRequest request) { public void firePresetButtonPressed(List<Card> cards,
CardPresetButtonRequest request,
CardRequestContext<?> requestContext) {
for (Card card : cardDao.reloadCards(cards)) { for (Card card : cardDao.reloadCards(cards)) {
CardPresetButtonPressedMessage message = new CardPresetButtonPressedMessage(); CardPresetButtonPressedMessage message = new CardPresetButtonPressedMessage();
message.setPresetButtonType(request.getPresetButtonType()); message.setPresetButtonType(request.getPresetButtonType());
message.setOperatorId(request.getOperatorId()); message.setOperatorId(request.getOperatorId());
message.setOperatorName(request.getOperatorName()); message.setOperatorName(request.getOperatorName());
message.setCardInfo(BeanMapper.copyBean(card, CardInfo.class)); message.setCardInfo(BeanMapper.copyBean(card, CardInfo.class));
message.setBatchNo(requestContext.getBatchNo());
mqProducer.send(MqMessageRecord mqProducer.send(MqMessageRecord
.builder(MqMessageType.CARD_PRESET_BUTTON_PRESSED, message) .builder(MqMessageType.CARD_PRESET_BUTTON_PRESSED, message)
.messageKey(card.getIdentityCode()) .messageKey(card.getIdentityCode())

View File

@ -211,7 +211,8 @@ public class TodoSyncCardService {
request.setPresetButtonType(message.getPresetButtonType()); request.setPresetButtonType(message.getPresetButtonType());
request.setOperatorId(message.getOperatorId()); request.setOperatorId(message.getOperatorId());
request.setOperatorName(message.getOperatorName()); request.setOperatorName(message.getOperatorName());
TodoRequestContext ctx = TodoRequestContext.create("syncCardPresetButtonPressed:finished", message); TodoRequestContext ctx = TodoRequestContext.create(
"syncCardPresetButtonPressed:finished", message.getBatchNo(), message);
try { try {
if (todoManager.firePresetButtonPressed(request, false)) if (todoManager.firePresetButtonPressed(request, false))
todoLogger.logTodoUpdated(ctx, todo); todoLogger.logTodoUpdated(ctx, todo);

View File

@ -30,4 +30,5 @@ public class CardPresetButtonPressedMessage extends MqMessage implements Seriali
*/ */
private CardInfo cardInfo; private CardInfo cardInfo;
private String batchNo;
} }