Browse Source

消息表增加返回主题

feature-1.1
wuxicheng 3 years ago
parent
commit
ddf250e1a0
  1. 2
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/annotation/LimitRepeatRequest.java
  2. 6
      bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseMqMessage.java
  3. 1
      bnyer-common/bnyer-common-rocketmq/src/main/java/com/bnyer/common/rocketmq/template/RocketMQEnhanceTemplate.java
  4. 2
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml
  5. 4
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/aop/LimitRepeatRequestAspect.java
  6. 1
      bnyer-services/bnyer-order/src/main/java/com/bnyer/order/controller/VipOrderController.java
  7. 2
      bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml
  8. 63
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java
  9. 2
      bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/aop/LimitRepeatRequestAspect.java
  10. 2
      bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml

2
bnyer-services/bnyer-order/src/main/java/com/bnyer/order/annotation/LimitRepeatRequest.java → 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.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

6
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") @TableField(value = "consumer_group_name")
private String consumerGroupName; private String consumerGroupName;
/**
* 返回主题
*/
@TableField(value = "return_topic")
private String returnTopic;
/** /**
* 消息状态 * 消息状态
*/ */

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

@ -163,6 +163,7 @@ public class RocketMQEnhanceTemplate {
* @param <T> * @param <T>
*/ */
public <T extends BaseMessage> boolean sendTransactionalMsg(String topic, String tag,String arg, T message) { public <T extends BaseMessage> boolean sendTransactionalMsg(String topic, String tag,String arg, T message) {
buildBaseMessage(topic,tag,message);
String destination = buildDestination(topic, tag); String destination = buildDestination(topic, tag);
TransactionSendResult sendResult = template.sendMessageInTransaction(destination, MessageBuilder.withPayload(message).build(), arg); TransactionSendResult sendResult = template.sendMessageInTransaction(destination, MessageBuilder.withPayload(message).build(), arg);
log.info("Send transaction msg result: " + sendResult); log.info("Send transaction msg result: " + sendResult);

2
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/ImgMqMessageRecordMapper.xml

@ -8,6 +8,7 @@
<result column="topic" jdbcType="VARCHAR" property="topic" /> <result column="topic" jdbcType="VARCHAR" property="topic" />
<result column="tag" jdbcType="VARCHAR" property="tag" /> <result column="tag" jdbcType="VARCHAR" property="tag" />
<result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" /> <result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" />
<result column="return_topic" jdbcType="VARCHAR" property="returnTopic" />
<result column="status" jdbcType="VARCHAR" property="status" /> <result column="status" jdbcType="VARCHAR" property="status" />
<result column="err_msg" jdbcType="VARCHAR" property="errMsg" /> <result column="err_msg" jdbcType="VARCHAR" property="errMsg" />
<result column="content" jdbcType="VARCHAR" property="content" /> <result column="content" jdbcType="VARCHAR" property="content" />
@ -20,6 +21,7 @@
t.topic, t.topic,
t.tag, t.tag,
t.consumer_group_name, t.consumer_group_name,
t.return_topic,
t.status, t.status,
t.err_msg, t.err_msg,
t.content, t.content,

4
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 cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON; 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.core.vo.UserInfoVo;
import com.bnyer.common.redis.service.RedissonService; import com.bnyer.common.redis.service.RedissonService;
import com.bnyer.common.security.utils.SecurityUtils; 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 lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature; import org.aspectj.lang.Signature;

1
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.domain.R;
import com.bnyer.common.core.web.controller.BaseController; 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.dto.AddVipOrderDto;
import com.bnyer.order.bean.query.VipOrderExtQuery; import com.bnyer.order.bean.query.VipOrderExtQuery;
import com.bnyer.order.bean.query.VipOrderQuery; import com.bnyer.order.bean.query.VipOrderQuery;

2
bnyer-services/bnyer-order/src/main/resources/com/bnyer/order/mapper/OrderMqMessageRecordMapper.xml

@ -8,6 +8,7 @@
<result column="topic" jdbcType="VARCHAR" property="topic" /> <result column="topic" jdbcType="VARCHAR" property="topic" />
<result column="tag" jdbcType="VARCHAR" property="tag" /> <result column="tag" jdbcType="VARCHAR" property="tag" />
<result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" /> <result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" />
<result column="return_topic" jdbcType="VARCHAR" property="returnTopic" />
<result column="status" jdbcType="VARCHAR" property="status" /> <result column="status" jdbcType="VARCHAR" property="status" />
<result column="err_msg" jdbcType="VARCHAR" property="errMsg" /> <result column="err_msg" jdbcType="VARCHAR" property="errMsg" />
<result column="content" jdbcType="VARCHAR" property="content" /> <result column="content" jdbcType="VARCHAR" property="content" />
@ -20,6 +21,7 @@
t.topic, t.topic,
t.tag, t.tag,
t.consumer_group_name, t.consumer_group_name,
t.return_topic,
t.status, t.status,
t.err_msg, t.err_msg,
t.content, t.content,

63
bnyer-services/bnyer-pay/src/main/java/com/bnyer/pay/annotation/LimitRepeatRequest.java

@ -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 "";
}

2
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.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.bnyer.common.core.annotation.LimitRepeatRequest;
import com.bnyer.common.core.enums.ResponseEnum; import com.bnyer.common.core.enums.ResponseEnum;
import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.MD5Util; 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.core.vo.UserInfoVo;
import com.bnyer.common.redis.service.RedissonService; import com.bnyer.common.redis.service.RedissonService;
import com.bnyer.common.security.utils.SecurityUtils; import com.bnyer.common.security.utils.SecurityUtils;
import com.bnyer.pay.annotation.LimitRepeatRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature; import org.aspectj.lang.Signature;

2
bnyer-services/bnyer-pay/src/main/resources/com/bnyer/pay/mapper/PayMqMessageRecordMapper.xml

@ -8,6 +8,7 @@
<result column="topic" jdbcType="VARCHAR" property="topic" /> <result column="topic" jdbcType="VARCHAR" property="topic" />
<result column="tag" jdbcType="VARCHAR" property="tag" /> <result column="tag" jdbcType="VARCHAR" property="tag" />
<result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" /> <result column="consumer_group_name" jdbcType="VARCHAR" property="consumerGroupName" />
<result column="return_topic" jdbcType="VARCHAR" property="returnTopic" />
<result column="status" jdbcType="VARCHAR" property="status" /> <result column="status" jdbcType="VARCHAR" property="status" />
<result column="err_msg" jdbcType="VARCHAR" property="errMsg" /> <result column="err_msg" jdbcType="VARCHAR" property="errMsg" />
<result column="content" jdbcType="VARCHAR" property="content" /> <result column="content" jdbcType="VARCHAR" property="content" />
@ -20,6 +21,7 @@
t.topic, t.topic,
t.tag, t.tag,
t.consumer_group_name, t.consumer_group_name,
t.return_topic,
t.status, t.status,
t.err_msg, t.err_msg,
t.content, t.content,

Loading…
Cancel
Save