Browse Source

消息id调整,避免出现重复

feature-1.1
wuxicheng 3 years ago
parent
commit
351fbf497f
  1. 15
      bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java
  2. 4
      bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java
  3. 6
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java
  4. 6
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java
  5. 7
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java

15
bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/constant/RocketMqRepeatConstant.java

@ -20,4 +20,19 @@ 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-";
}

4
bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java

@ -49,7 +49,9 @@ public class RocketMQEnhanceTemplate {
*/
public String reBuildTopic(String topic) {
if(rocketEnhanceProperties.isEnabledIsolation() && StringUtils.isNoneBlank(rocketEnhanceProperties.getEnvironment())){
return topic +"-" + rocketEnhanceProperties.getEnvironment();
if (!topic.endsWith(rocketEnhanceProperties.getEnvironment())){
return topic +"-" + rocketEnhanceProperties.getEnvironment();
}
}
return topic;
}

6
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/ImgMqMessageRecordServiceImpl.java

@ -1,11 +1,13 @@
package com.bnyer.img.service.impl;
import cn.hutool.core.util.IdUtil;
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;
@ -68,7 +70,7 @@ public class ImgMqMessageRecordServiceImpl implements ImgMqMessageRecordService
mqRecordMessage.setTopic(buildTopic);
mqRecordMessage.setTag(tag);
mqRecordMessage.setConsumerGroupName(buildTopic);
mqRecordMessage.setMessageKey(IdUtils.randomUUID());
mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_IMG + IdUtil.getSnowflakeNextIdStr());
mqRecordMessage.setContent(JSON.toJSONString(message));
mqRecordMessage.setSource(applicationName);
mqRecordMessage.setReturnTopic(RocketMqTopic.IMG_RETURN_MSG_TOPIC);
@ -175,7 +177,7 @@ public class ImgMqMessageRecordServiceImpl implements ImgMqMessageRecordService
imgMqMessageRecord.setTopic(message.getTopic());
imgMqMessageRecord.setTag(message.getTag());
imgMqMessageRecord.setCreateTime(new Date());
imgMqMessageRecord.setMessageKey(IdUtils.randomUUID());
imgMqMessageRecord.setMessageKey(message.getMessageKey());
imgMqMessageRecord.setContent(JSON.toJSONString(message));
imgMqMessageRecordMapper.insert(imgMqMessageRecord);
return imgMqMessageRecord;

6
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/service/impl/OrderMqMessageRecordServiceImpl.java

@ -1,11 +1,13 @@
package com.bnyer.order.service.impl;
import cn.hutool.core.util.IdUtil;
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;
@ -67,7 +69,7 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ
mqRecordMessage.setTopic(buildTopic);
mqRecordMessage.setTag(tag);
mqRecordMessage.setConsumerGroupName(buildTopic);
mqRecordMessage.setMessageKey(IdUtils.randomUUID());
mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_ORDER + IdUtil.getSnowflakeNextIdStr());
mqRecordMessage.setContent(JSON.toJSONString(message));
mqRecordMessage.setSource(applicationName);
mqRecordMessage.setReturnTopic(RocketMqTopic.ORDER_RETURN_MSG_TOPIC);
@ -174,7 +176,7 @@ public class OrderMqMessageRecordServiceImpl implements OrderMqMessageRecordServ
orderMqMessageRecord.setTopic(message.getTopic());
orderMqMessageRecord.setTag(message.getTag());
orderMqMessageRecord.setCreateTime(new Date());
orderMqMessageRecord.setMessageKey(IdUtils.randomUUID());
orderMqMessageRecord.setMessageKey(message.getMessageKey());
orderMqMessageRecord.setContent(JSON.toJSONString(message));
orderMqMessageRecordMapper.insert(orderMqMessageRecord);
return orderMqMessageRecord;

7
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/service/impl/PayMqMessageRecordServiceImpl.java

@ -1,12 +1,13 @@
package com.bnyer.pay.service.impl;
import cn.hutool.core.util.IdUtil;
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.bean.EntityConvertUtil;
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;
@ -69,7 +70,7 @@ public class PayMqMessageRecordServiceImpl implements PayMqMessageRecordService
mqRecordMessage.setTopic(buildTopic);
mqRecordMessage.setTag(tag);
mqRecordMessage.setConsumerGroupName(buildTopic);
mqRecordMessage.setMessageKey(IdUtils.randomUUID());
mqRecordMessage.setMessageKey(RocketMqRepeatConstant.MESSAGE_ID_PREFIX_PAY + IdUtil.getSnowflakeNextIdStr());
mqRecordMessage.setContent(JSON.toJSONString(message));
mqRecordMessage.setSource(applicationName);
mqRecordMessage.setReturnTopic(RocketMqTopic.PAY_RETURN_MSG_TOPIC);
@ -176,7 +177,7 @@ public class PayMqMessageRecordServiceImpl implements PayMqMessageRecordService
payMqMessageRecord.setTopic(message.getTopic());
payMqMessageRecord.setTag(message.getTag());
payMqMessageRecord.setCreateTime(new Date());
payMqMessageRecord.setMessageKey(IdUtils.randomUUID());
payMqMessageRecord.setMessageKey(message.getMessageKey());
payMqMessageRecord.setContent(JSON.toJSONString(message));
payMqMessageRecordMapper.insert(payMqMessageRecord);
return payMqMessageRecord;

Loading…
Cancel
Save