he2802 4 lat temu
rodzic
commit
60c8f20161

+ 0 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonController.java

@@ -77,7 +77,6 @@ public class CommonController extends BaseController {
     @ApiOperation("查询用户拥有的商品")
     @GetMapping("/test")
     public AjaxResult<Integer> test(CourseQueryBo bo) throws InterruptedException {
-        System.out.print("访问");
         Printer.num = 0;
         new Thread(new Printer(0,redisCache)).start();
         new Thread(new Printer(1,redisCache)).start();

+ 0 - 18
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Printer.java

@@ -19,24 +19,6 @@ public class Printer implements Runnable {
 
     @Override
     public void run() {
-/*        synchronized (Printer.class) {
-            while (num <= 75) {
-                if (num / 5 % 3 == id) {
-                    System.out.print("id" + id + ":");
-                    for (int i = 0; i < 5; i++)
-                        System.out.print(num++ + ",");
-                    System.out.println();
-                    Printer.class.notifyAll();
-                } else {
-                    try {
-                        Printer.class.wait();
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-            }
-        }*/
-
         while (num <= 20) {
             RedisLockEntity redisLockEntity = new RedisLockEntity();
             redisLockEntity.setLockKey(RedisLockEntity.KEY_LOCK_GRADE);

+ 9 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -338,7 +338,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     if(g.getGoodsInputData().getType()!=null&&g.getGoodsInputData().getType().equals("class")){
                         //判断是否购买历史班级都过期
                         canRepeatBuy =this.canBuyRepeatGoods(g.getGoodsId(),bo.getUserId());
-                        arrangeGrade(goods.getGoodsName(),goods.getGoodsId(),orderGoods.getOrderGoodsId(),gradeId,add.getUserId(),out_trade_no);
+                        String requestId = IdUtil.simpleUUID();
+                        RedisLockEntity redisLockEntity = new RedisLockEntity();
+                        redisLockEntity.setLockKey(RedisLockEntity.KEY_LOCK_GRADE);
+                        redisLockEntity.setRequestId(requestId);
+                        if(redisCache.lock(redisLockEntity)){
+                            arrangeGrade(goods.getGoodsName(),goods.getGoodsId(),orderGoods.getOrderGoodsId(),gradeId,add.getUserId(),out_trade_no);
+                            redisCache.unlockLua(redisLockEntity);
+                        }
+
                     }
                 }