From ddf250e1a0a1c20b015229db485ebb48bcc0f48a Mon Sep 17 00:00:00 2001 From: wuxicheng <1441859745@qq.com> Date: Mon, 22 May 2023 22:29:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core}/annotation/LimitRepeatRequest.java | 2 +- .../common/core/domain/BaseMqMessage.java | 6 ++ .../template/RocketMQEnhanceTemplate.java | 3 +- .../img/mapper/ImgMqMessageRecordMapper.xml | 2 + .../order/aop/LimitRepeatRequestAspect.java | 4 +- .../order/controller/VipOrderController.java | 1 - .../mapper/OrderMqMessageRecordMapper.xml | 2 + .../pay/annotation/LimitRepeatRequest.java | 63 ------------------- .../pay/aop/LimitRepeatRequestAspect.java | 2 +- .../pay/mapper/PayMqMessageRecordMapper.xml | 2 + 10 files changed, 18 insertions(+), 69 deletions(-) rename {bnyer-services/bnyer-order/src/main/java/com/bnyer/order => bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core}/annotation/LimitRepeatRequest.java (97%) delete mode 100644 bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/annotation/LimitRepeatRequest.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/annotation/LimitRepeatRequest.java similarity index 97% rename from bnyer-services/bnyer-order/src/main/java/com/bnyer/order/annotation/LimitRepeatRequest.java rename to bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/annotation/LimitRepeatRequest.java index a300398..0beb60a 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/annotation/LimitRepeatRequest.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/annotation/LimitRepeatRequest.java @@ -1,4 +1,4 @@ -package com.bnyer.order.annotation; +package com.bnyer.common.core.annotation; import java.lang.annotation.Documented; import java.lang.annotation.Retention; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseMqMessage.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseMqMessage.java index da17c87..251243d 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseMqMessage.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseMqMessage.java @@ -45,6 +45,12 @@ public class BaseMqMessage { @TableField(value = "consumer_group_name") private String consumerGroupName; + /** + * 返回主题 + */ + @TableField(value = "return_topic") + private String returnTopic; + /** * 消息状态 */ 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 897a415..f6c836a 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 @@ -163,6 +163,7 @@ public class RocketMQEnhanceTemplate { * @param */ public boolean sendTransactionalMsg(String topic, String tag,String arg, T message) { + buildBaseMessage(topic,tag,message); String destination = buildDestination(topic, tag); TransactionSendResult sendResult = template.sendMessageInTransaction(destination, MessageBuilder.withPayload(message).build(), arg); log.info("Send transaction msg result: " + sendResult); @@ -177,7 +178,7 @@ public class RocketMQEnhanceTemplate { * @param message * @param */ - private void buildBaseMessage(String topic,String tag,T message){ + private void buildBaseMessage(String topic,String tag,T message){ String buildTopic = reBuildTopic(topic); message.setSource(applicationName); message.setMessageKey(applicationName + "-" + IdUtil.getSnowflakeNextIdStr()); diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml index ef4a915..d2a9560 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml @@ -8,6 +8,7 @@ + @@ -20,6 +21,7 @@ t.topic, t.tag, t.consumer_group_name, + t.return_topic, t.status, t.err_msg, t.content, diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/aop/LimitRepeatRequestAspect.java b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/aop/LimitRepeatRequestAspect.java index 12973e0..fd8022d 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/aop/LimitRepeatRequestAspect.java +++ b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/aop/LimitRepeatRequestAspect.java @@ -1,4 +1,4 @@ -package com.bnyer.pay.aop; +package com.bnyer.order.aop; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; @@ -11,7 +11,7 @@ import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.core.vo.UserInfoVo; import com.bnyer.common.redis.service.RedissonService; import com.bnyer.common.security.utils.SecurityUtils; -import com.bnyer.order.annotation.LimitRepeatRequest; +import com.bnyer.common.core.annotation.LimitRepeatRequest; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; diff --git a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java index a8261cc..d3358dd 100644 --- a/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java +++ b/bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java @@ -2,7 +2,6 @@ package com.bnyer.order.controller; import com.bnyer.common.core.domain.R; import com.bnyer.common.core.web.controller.BaseController; -import com.bnyer.order.annotation.LimitRepeatRequest; import com.bnyer.order.bean.dto.AddVipOrderDto; import com.bnyer.order.bean.query.VipOrderExtQuery; import com.bnyer.order.bean.query.VipOrderQuery; 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 d4b680f..d58f505 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 @@ -8,6 +8,7 @@ + @@ -20,6 +21,7 @@ t.topic, t.tag, t.consumer_group_name, + t.return_topic, t.status, t.err_msg, t.content, diff --git a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java b/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java deleted file mode 100644 index c226583..0000000 --- a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.bnyer.pay.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import static java.lang.annotation.ElementType.METHOD; - -/** - * @author :WXC - * @Date :2023/05/12 - * @description : 防重复提交 - */ -@Target({ METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface LimitRepeatRequest { - - /** - * 限制当前用户同一个api 不能重复提交 - */ - String SELF="self"; - - /** - * 限制所有用户同一个参数不能重复提交,如我新增了用户 张三, 那么其他人不能再并发情况下重复添加张三 - */ - String ALL_USER="all"; - - /** - * 当前时间内 api 只能请求一次,单位秒 - * @return - */ - long time() default 5; - - /** - * 对部分参数做重复请求限制 - * @return - */ - String[] bodyParam() default {}; - - /** - * 是否对全部参数做重复请求限制 - * @return - */ - boolean bodyAllParam() default false; - - /** - * 重复请求限制的用户范围 - * LimitRepeatRequest.SELF:针对当前登录用户 - * LimitRepeatRequest.ALL_USER:针对所有用户 - * - * @return - */ - String userRange() default SELF; - - /** - * 错误提示信息 - * @return - */ - String message() default ""; - -} diff --git a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/aop/LimitRepeatRequestAspect.java b/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/aop/LimitRepeatRequestAspect.java index fa81d3b..82f2d87 100644 --- a/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/aop/LimitRepeatRequestAspect.java +++ b/bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/aop/LimitRepeatRequestAspect.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.bnyer.common.core.annotation.LimitRepeatRequest; import com.bnyer.common.core.enums.ResponseEnum; import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.utils.MD5Util; @@ -11,7 +12,6 @@ import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.core.vo.UserInfoVo; import com.bnyer.common.redis.service.RedissonService; import com.bnyer.common.security.utils.SecurityUtils; -import com.bnyer.pay.annotation.LimitRepeatRequest; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; diff --git a/bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml b/bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml index 89af895..2c2c495 100644 --- a/bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml +++ b/bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml @@ -8,6 +8,7 @@ + @@ -20,6 +21,7 @@ t.topic, t.tag, t.consumer_group_name, + t.return_topic, t.status, t.err_msg, t.content,