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(
executor, button, CardBizState.fromPresetButton(request.getPresetButtonType())));
if (result == UpdateStateResult.UPDATED) {
cardBroadcaster.firePresetButtonPressed(executor.updatedCards, request);
cardBroadcaster.firePresetButtonPressed(executor.updatedCards, request, requestContext);
executor.updateCardLogger.reloadAndLogCards("presetButtonPressed:mq:success");
} else {
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.dal.CardDao;
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.MqProducer;
import cn.axzo.msg.center.service.enums.MqMessageType;
@ -25,13 +26,16 @@ public class CardBroadcaster {
private final CardDao cardDao;
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)) {
CardPresetButtonPressedMessage message = new CardPresetButtonPressedMessage();
message.setPresetButtonType(request.getPresetButtonType());
message.setOperatorId(request.getOperatorId());
message.setOperatorName(request.getOperatorName());
message.setCardInfo(BeanMapper.copyBean(card, CardInfo.class));
message.setBatchNo(requestContext.getBatchNo());
mqProducer.send(MqMessageRecord
.builder(MqMessageType.CARD_PRESET_BUTTON_PRESSED, message)
.messageKey(card.getIdentityCode())

View File

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

View File

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