浏览代码

订单锁改为锁订单号

liweifan 3 年之前
父节点
当前提交
b0b43de2da

+ 1 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/UserOrderClient.java

@@ -95,7 +95,7 @@ public class UserOrderClient extends BaseController {
             }
             try {
                 DistributedLock.of(redissonClient)
-                        .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(userOrderVo.getUserId())
+                        .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(userOrderVo.getOrderNo())
                                 , () -> {
                                     if (MethodNameEnum.executePayment.equals(data.getMethodName())) {
                                         //支付交易

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -352,7 +352,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         for (UserOrderVo orderVo : waitPayOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getUserId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getOrderNo())
                             , () -> pollingCancelOrder(orderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
 
@@ -363,7 +363,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         for (UserOrderVo orderVo : payingOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getUserId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getOrderNo())
                             , () -> pollingCancelOrder(orderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
     }

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -158,7 +158,7 @@ public class UserOrderController extends BaseController {
 
         try {
             HttpResponseResult<Boolean> res = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(user.getId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(payReq.getOrderNo())
                             , () -> userOrderService.orderCancel(payReq), 60L, TimeUnit.SECONDS);
             if(null != res){
                 return res;