diff --git a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java index 1802dbe..ec24b49 100644 --- a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java +++ b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java @@ -20,19 +20,4 @@ public class RocketMqRepeatConstant { */ public final static String REPEAT_REDIS_KEY_PREFIX = "RepeatMessage:"; - /** - * 订单服务消息id前缀 - */ - public final static String MESSAGE_ID_PREFIX_ORDER = "order-"; - - /** - * 支付服务消息id前缀 - */ - public final static String MESSAGE_ID_PREFIX_PAY = "pay-"; - - /** - * 图片服务消息id前缀 - */ - public final static String MESSAGE_ID_PREFIX_IMG = "img-"; - } diff --git a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/img/ImgMqLocalRecordMessage.java b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/img/ImgMqLocalRecordMessage.java deleted file mode 100644 index 896f621..0000000 --- a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/domain/img/ImgMqLocalRecordMessage.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.bnyer.common.rocketmq.domain.img; - -import com.bnyer.common.core.enums.EnumMessageStatus; -import com.bnyer.common.rocketmq.domain.BaseMessage; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -/** - * @author :WXC - * @Date :2023/05/18 - * @description :图片服务本地消息表记录 - */ -@Getter -@Setter -@NoArgsConstructor -public class ImgMqLocalRecordMessage extends BaseMessage { - /** - * 主键id - */ - private Long id; - - /** - * 消息状态 - */ - private EnumMessageStatus status; - - /** - * 消息内容 - */ - private String content; - -} 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 35dd15e..863193e 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 @@ -214,29 +214,14 @@ public abstract class EnhanceMessageHandler { return message.getMessageKey(); } - /** - * 构建返回队列通知消息 - * @param message - * @param status - * @return - */ - protected MqRecordMessage buildReturnMessage(MqRecordMessage message,EnumMessageStatus status){ - MqRecordMessage mqRecordMessage = new MqRecordMessage(); - mqRecordMessage.setMessageKey(IdUtil.randomUUID()); - mqRecordMessage.setSource(applicationName); - mqRecordMessage.setTopic(message.getReturnTopic()); - mqRecordMessage.setConsumerGroupName(message.getReturnTopic()); - mqRecordMessage.setStatus(status); - mqRecordMessage.setId(message.getId()); - return mqRecordMessage; - } - /** * 返回成功通知 * @param message */ protected void sendReturnSuccessMessage(MqRecordMessage message){ - MqRecordMessage returnMessage = buildReturnMessage(message, EnumMessageStatus.SUCCESS); + MqRecordMessage returnMessage = new MqRecordMessage(); + returnMessage.setStatus(EnumMessageStatus.SUCCESS); + returnMessage.setId(message.getId()); rocketMQEnhanceTemplate.sendAsyncMsg(message.getReturnTopic(),null,returnMessage); } @@ -245,7 +230,9 @@ public abstract class EnhanceMessageHandler { * @param message */ protected void sendReturnFailsMessage(MqRecordMessage message){ - MqRecordMessage returnMessage = buildReturnMessage(message, EnumMessageStatus.FAILS); + MqRecordMessage returnMessage = new MqRecordMessage(); + returnMessage.setStatus(EnumMessageStatus.FAILS); + returnMessage.setId(message.getId()); rocketMQEnhanceTemplate.sendAsyncMsg(message.getReturnTopic(),null,returnMessage); } diff --git a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java index 8c184b8..897a415 100644 --- a/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java +++ b/bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java @@ -1,5 +1,6 @@ package com.bnyer.common.rocketmq.template; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.common.rocketmq.config.RocketEnhanceProperties; @@ -11,9 +12,11 @@ import org.apache.rocketmq.client.producer.*; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.apache.rocketmq.spring.support.RocketMQHeaders; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; +import javax.annotation.PostConstruct; import javax.annotation.Resource; /** @@ -30,6 +33,16 @@ public class RocketMQEnhanceTemplate { @Resource private RocketEnhanceProperties rocketEnhanceProperties; + @Resource + private Environment env; + + private String applicationName; + + @PostConstruct + public void init(){ + this.applicationName = env.getProperty("spring.application.name"); + } + public RocketMQTemplate getTemplate() { return template; } @@ -67,6 +80,7 @@ public class RocketMQEnhanceTemplate { public SendResult send(String topic, String tag, T message) { // 设置业务键,此处根据公共的参数进行处理 // 更多的其它基础业务处理... + buildBaseMessage(topic,tag,message); Message sendMessage = MessageBuilder.withPayload(message).setHeader(RocketMQHeaders.KEYS, message.getMessageKey()).build(); SendResult sendResult; try { @@ -89,6 +103,7 @@ public class RocketMQEnhanceTemplate { * @param */ public SendResult send(String topic, String tag, T message, int delayLevel) { + buildBaseMessage(topic,tag,message); Message sendMessage = MessageBuilder.withPayload(message).setHeader(RocketMQHeaders.KEYS, message.getMessageKey()).build(); SendResult sendResult; try { @@ -105,6 +120,7 @@ public class RocketMQEnhanceTemplate { * (适合对响应时间敏感的业务场景) */ public void sendAsyncMsg(String topic, String tag, T message) { + buildBaseMessage(topic,tag,message); template.asyncSend(buildDestination(topic,tag), MessageBuilder.withPayload(message).build(), new SendCallback() { @Override public void onSuccess(SendResult sendResult) { @@ -124,6 +140,7 @@ public class RocketMQEnhanceTemplate { * (适合对响应时间敏感的业务场景) */ public void sendAsyncMsg(String topic, String tag, T message, int delayLevel) { + buildBaseMessage(topic,tag,message); template.asyncSend(buildDestination(topic,tag), MessageBuilder.withPayload(message).build(), new SendCallback() { @Override public void onSuccess(SendResult sendResult) { @@ -153,5 +170,20 @@ public class RocketMQEnhanceTemplate { } + /** + * 构建消息体基本信息 + * @param topic + * @param tag + * @param message + * @param + */ + private void buildBaseMessage(String topic,String tag,T message){ + String buildTopic = reBuildTopic(topic); + message.setSource(applicationName); + message.setMessageKey(applicationName + "-" + IdUtil.getSnowflakeNextIdStr()); + message.setTopic(buildTopic); + message.setTag(tag); + message.setConsumerGroupName(buildTopic); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java index 28173e7..94f599f 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java @@ -5,9 +5,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.domain.ImgMqMessageRecord; import com.bnyer.common.core.enums.EnumMessageStatus; -import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.rocketmq.constant.RocketMqConstant; -import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; import com.bnyer.common.rocketmq.constant.RocketMqTopic; import com.bnyer.common.rocketmq.domain.MqRecordMessage; import com.bnyer.common.rocketmq.template.RocketMQEnhanceTemplate; @@ -71,7 +69,7 @@ public class ImgMqMessageRecordServiceImpl implements ImgMqMessageRecordService mqRecordMessage.setTopic(buildTopic); mqRecordMessage.setTag(tag); mqRecordMessage.setConsumerGroupName(buildTopic); - mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_IMG + IdUtil.getSnowflakeNextIdStr()); + mqRecordMessage.setMessageKey(applicationName + "-"+ IdUtil.getSnowflakeNextIdStr()); mqRecordMessage.setContent(JSON.toJSONString(message)); mqRecordMessage.setSource(applicationName); mqRecordMessage.setReturnTopic(buildReturnTopic); 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 bbe1ccb..284cfd7 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 @@ -5,9 +5,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.domain.OrderMqMessageRecord; import com.bnyer.common.core.enums.EnumMessageStatus; -import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.rocketmq.constant.RocketMqConstant; -import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; import com.bnyer.common.rocketmq.constant.RocketMqTopic; import com.bnyer.common.rocketmq.domain.MqRecordMessage; import com.bnyer.common.rocketmq.template.RocketMQEnhanceTemplate; @@ -70,7 +68,7 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ mqRecordMessage.setTopic(buildTopic); mqRecordMessage.setTag(tag); mqRecordMessage.setConsumerGroupName(buildTopic); - mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_ORDER + IdUtil.getSnowflakeNextIdStr()); + mqRecordMessage.setMessageKey(applicationName + "-" + IdUtil.getSnowflakeNextIdStr()); mqRecordMessage.setContent(JSON.toJSONString(message)); mqRecordMessage.setSource(applicationName); mqRecordMessage.setReturnTopic(buildReturnTopic); diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java index e725614..db4136f 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java +++ b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/VipOrderServiceImpl.java @@ -16,6 +16,7 @@ import com.bnyer.common.core.utils.bean.EntityConvertUtil; import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.core.vo.UserInfoVo; import com.bnyer.common.rocketmq.constant.RocketMqConstant; +import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; import com.bnyer.common.rocketmq.constant.RocketMqTag; import com.bnyer.common.rocketmq.constant.RocketMqTopic; import com.bnyer.common.rocketmq.domain.img.AddUserVipRecordMessage; diff --git a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java b/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java index 949c5be..75abe55 100644 --- a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java +++ b/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java @@ -5,9 +5,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.domain.PayMqMessageRecord; import com.bnyer.common.core.enums.EnumMessageStatus; -import com.bnyer.common.core.utils.uuid.IdUtils; import com.bnyer.common.rocketmq.constant.RocketMqConstant; -import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; import com.bnyer.common.rocketmq.constant.RocketMqTopic; import com.bnyer.common.rocketmq.domain.MqRecordMessage; import com.bnyer.common.rocketmq.template.RocketMQEnhanceTemplate; @@ -71,7 +69,7 @@ public class PayMqMessageRecordServiceImpl implements PayMqMessageRecordService mqRecordMessage.setTopic(buildTopic); mqRecordMessage.setTag(tag); mqRecordMessage.setConsumerGroupName(buildTopic); - mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_PAY + IdUtil.getSnowflakeNextIdStr()); + mqRecordMessage.setMessageKey(applicationName + "-" + IdUtil.getSnowflakeNextIdStr()); mqRecordMessage.setContent(JSON.toJSONString(message)); mqRecordMessage.setSource(applicationName); mqRecordMessage.setReturnTopic(buildReturnTopic);