فهرست منبع

Merge remote-tracking branch 'origin/20230922_mp_price_zero' into mp-server-test

Chris-zy 1 سال پیش
والد
کامیت
d04a23a173

+ 8 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -223,7 +223,7 @@ public class UserTicketOrderController extends BaseApiController {
         if (null == orderSettleVO) {
             return AjaxResult.error("订单已过期,请重新下单");
         }
-
+        String repeatSubmitKey = RedisKey.build(RedisKey.LIMIT_USER_REPEAT_SUBMIT, userId, orderSettleVO.getBoxId());
         TicketBox ticketBox = ticketBoxService.getById(orderSettleVO.getBoxId());
         if (TicketBoxStatusEnum.STOP.getValue().equals(ticketBox.getStatus().getValue())) {
             return AjaxResult.error("盲票已停售!");
@@ -236,6 +236,13 @@ public class UserTicketOrderController extends BaseApiController {
                 return AjaxResult.error("您已领取过盲票!");
             }
         }
+        //限制前端重复提交请求
+        String repeatSubmitRecord = redisCache.getCacheObject(repeatSubmitKey);
+        if (StringUtils.isNotBlank(repeatSubmitRecord)) {
+            return AjaxResult.error("请稍候点击!");
+        }else {
+            redisCache.setCacheObject(repeatSubmitKey, "用户userId:"+userId+"已请求", 3, TimeUnit.SECONDS);
+        }
 
         String orderId = userTicketOrderService.submitOrder(userId, orderSettleVO, userShareVO);
         JSONObject jsonObject = new JSONObject();

+ 1 - 0
mp-service/src/main/java/com/qs/mp/framework/redis/RedisKey.java

@@ -19,6 +19,7 @@ public enum RedisKey {
     OFFLINE_TICKET_ID_KEY("offline_ticket_id_key_{0}", "线下盲票ID"),
     USER_PRIZE_RECOVERY_KEY("user_prize_recovery_key_{0}", "用户奖品回收"),
     CHANNEL_GOODS_ORDER_KEY("channel_goods_order_key_{0}", "经销商下的商品采购订单"),
+    LIMIT_USER_REPEAT_SUBMIT("limit_user_repeat_submit_{0}_{1}", "限制用户重复提交请求"),
     ;
 
     public String keyTemplate;