diff --git a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/order/OrderMqLocalRecordMessage.java b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/order/OrderMqLocalRecordMessage.java index 47a993c..198e508 100644 --- a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/order/OrderMqLocalRecordMessage.java +++ b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/order/OrderMqLocalRecordMessage.java @@ -30,10 +30,4 @@ public class OrderMqLocalRecordMessage extends BaseMessage { */ private String content; - /** - * 创建时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date createTime; - } diff --git a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/handle/EnhanceMessageHandler.java b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/handle/EnhanceMessageHandler.java index 45e6b0e..aa0f95e 100644 --- a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/handle/EnhanceMessageHandler.java +++ b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/handle/EnhanceMessageHandler.java @@ -1,10 +1,14 @@ package com.bnyer.common.rocketmq.handle; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; +import com.bnyer.common.core.constant.ServiceNameConstants; +import com.bnyer.common.core.enums.EnumMessageStatus; import com.bnyer.common.rocketmq.config.RepeatConsumerConfig; import com.bnyer.common.rocketmq.constant.RocketMqConstant; import com.bnyer.common.rocketmq.domain.BaseMessage; import com.bnyer.common.rocketmq.domain.RepeatElement; +import com.bnyer.common.rocketmq.domain.order.OrderMqLocalRecordMessage; import com.bnyer.common.rocketmq.persist.IPersist; import com.bnyer.common.rocketmq.strategy.RepeatConsumerStrategy; import com.bnyer.common.rocketmq.strategy.NormalRepeatStrategy; @@ -208,4 +212,17 @@ public abstract class EnhanceMessageHandler { return message.getMessageKey(); } + /** + * 构建返回队列通知 + * @param success + * @param message + */ + protected void buildRerunMessage(EnumMessageStatus success, OrderMqLocalRecordMessage message) { + OrderMqLocalRecordMessage orderMqLocalRecordMessage = new OrderMqLocalRecordMessage(); + orderMqLocalRecordMessage.setStatus(success); + orderMqLocalRecordMessage.setId(message.getId()); + orderMqLocalRecordMessage.setSource(ServiceNameConstants.IMG_SERVICE); + orderMqLocalRecordMessage.setMessageKey(IdUtil.randomUUID()); + } + } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/listener/VipRecordCreateConsumer.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/listener/VipRecordCreateConsumer.java index 960680b..b13494b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/listener/VipRecordCreateConsumer.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/listener/VipRecordCreateConsumer.java @@ -1,9 +1,12 @@ package com.bnyer.img.listener; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; +import com.bnyer.common.core.constant.ServiceNameConstants; import com.bnyer.common.core.dto.AddUserVipRecordDto; import com.bnyer.common.core.enums.EnumMessageStatus; import com.bnyer.common.core.utils.bean.EntityConvertUtil; +import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.rocketmq.constant.RocketMqTopic; import com.bnyer.common.rocketmq.domain.img.AddUserVipRecordMessage; import com.bnyer.common.rocketmq.domain.order.OrderMqLocalRecordMessage; @@ -49,7 +52,7 @@ public class VipRecordCreateConsumer extends EnhanceMessageHandler { - + /** + * 更新状态 + * @param status + * @return + */ + Integer updateStatusByStatus(@Param("id") Long id, @Param("status") EnumMessageStatus status, @Param("errMsg") String errMsg); } diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/OrderMqMessageRecordService.java b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/OrderMqMessageRecordService.java index 4e0aaf6..602b248 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/OrderMqMessageRecordService.java +++ b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/OrderMqMessageRecordService.java @@ -1,6 +1,7 @@ package com.bnyer.order.service; import com.bnyer.common.core.domain.OrderMqMessageRecord; +import com.bnyer.common.core.enums.EnumMessageStatus; import com.bnyer.common.rocketmq.domain.BaseMessage; /** @@ -40,9 +41,11 @@ public interface OrderMqMessageRecordService { OrderMqMessageRecord saveMessageRecord(String topic, String tag, T message); /** - * 修改消息记录 - * @param orderMqMessageRecord + * 修改消息记录状态 + * @param id + * @param status + * @param errMsg */ - void editMessageRecord(OrderMqMessageRecord orderMqMessageRecord); + void editMessageRecordStatus(Long id, EnumMessageStatus status,String errMsg); } diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java index bdccaf5..cbc5487 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java +++ b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java @@ -65,7 +65,7 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ log.error("消息发送失败,topic:{},tag:{},error:{}",topic,tag,throwable.getMessage()); log.info("消息发送失败,更新消息记录,等待定时任务进行消息补偿"); orderMqMessageRecord.setErrMsg(throwable.getMessage()); - editMessageRecord(orderMqMessageRecord); + editMessageRecordStatus(orderMqMessageRecord.getId(),orderMqMessageRecord.getStatus(),orderMqMessageRecord.getErrMsg()); } }); } @@ -93,8 +93,7 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ public void onException(Throwable throwable) { log.error("消息发送失败,topic:{},tag:{},error:{}",topic,tag,throwable.getMessage()); log.info("消息发送失败,更新消息记录,等待定时任务进行消息补偿"); - orderMqMessageRecord.setErrMsg(throwable.getMessage()); - editMessageRecord(orderMqMessageRecord); + editMessageRecordStatus(orderMqMessageRecord.getId(),orderMqMessageRecord.getStatus(),throwable.getMessage()); } },TIME_OUT,delayLevel); } @@ -120,12 +119,13 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ } /** - * 修改消息记录 - * @param orderMqMessageRecord + * 修改消息记录状态 + * @param id + * @param status */ @Transactional - public void editMessageRecord(OrderMqMessageRecord orderMqMessageRecord){ - orderMqMessageRecordMapper.updateById(orderMqMessageRecord); + public void editMessageRecordStatus(Long id,EnumMessageStatus status,String errMsg){ + orderMqMessageRecordMapper.updateStatusByStatus(id,status,errMsg); } } diff --git a/bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml b/bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml index 70718a3..d4b680f 100644 --- a/bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml +++ b/bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml @@ -25,5 +25,13 @@ t.content, t.create_time, + + update order_mq_message_record + set status = #{status} + + ,err_msg = #{errMsg} + + where id = #{id} +