From 0c5a2097a86a82c60c40da98a0fdaf386ab5d0e6 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期三, 19 六月 2024 15:17:27 +0800
Subject: [PATCH] fix: 商品兑换bug

---
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java    |    6 +++++-
 ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml                  |    1 +
 ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java |    2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
index e3f085a..48c5d95 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -602,7 +602,11 @@
     @ApiOperation(value = "可兑换商品推荐", tags = {"学习端-商城"})
     @ApiOperationSupport(order = 38)
     public R<List<TGoodsVO>> goodRecommend() {
-        return R.ok(goodsService.goodRecommend(tokenService.getLoginUserStudy().getUserid()));
+        LoginUserParent loginUserStudy = tokenService.getLoginUserStudy();
+        if (null == loginUserStudy) {
+            return R.tokenError("登录失效!");
+        }
+        return R.ok(goodsService.goodRecommend(loginUserStudy.getUserid()));
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
index d707363..af31d48 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java
@@ -75,7 +75,7 @@
             }
             // redisson分布式锁
             RSemaphore semaphore = redissonClient.getSemaphore(key);
-            semaphore.trySetPermits(goods.getSurplus());
+            semaphore.trySetPermits(number);
             semaphore.expire(Constants.SIXTY, TimeUnit.MINUTES);
         }
         return new GoodDetailVO(goods, recipient);
diff --git a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml
index 2c5fdfe..a451280 100644
--- a/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml
+++ b/ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml
@@ -39,6 +39,7 @@
         select *
         from t_goods g
         where g.integral <![CDATA[ <= ]]> (select integral from t_user u where u.id = #{userId})
+          and g.disabled = 0
         ORDER BY g.integral desc
         limit 3
     </select>

--
Gitblit v1.7.1