From c9c63baa6aca084be7a9302f240c080c9ab1454b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 24 一月 2025 16:46:50 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   99 +++++++++++++++++++++++--------------------------
 1 files changed, 47 insertions(+), 52 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 00450e3..e4f6246 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -517,20 +517,21 @@
             appUser.setTotalPoint(appUser.getTotalPoint() - shopPoint);
 
             //构建积分流水明细
-            UserPoint userPoint = new UserPoint();
-            userPoint.setType(1);
-            userPoint.setHistoricalPoint(lavePoint);
-            userPoint.setVariablePoint(shopPoint);
-            userPoint.setBalance(appUser.getLavePoint());
-            userPoint.setCreateTime(LocalDateTime.now());
-            userPoint.setAppUserId(order.getAppUserId());
-            userPoint.setObjectId(order.getId());
-            userPointClient.saveUserPoint(userPoint);
+            if(shopPoint > 0){
+                UserPoint userPoint = new UserPoint();
+                userPoint.setType(1);
+                userPoint.setHistoricalPoint(lavePoint);
+                userPoint.setVariablePoint(shopPoint);
+                userPoint.setBalance(appUser.getLavePoint());
+                userPoint.setCreateTime(LocalDateTime.now());
+                userPoint.setAppUserId(order.getAppUserId());
+                userPoint.setObjectId(order.getId());
+                userPointClient.saveUserPoint(userPoint);
+            }
             appUserClient.editAppUserById(appUser);
     
             //降级检测
-            boolean vipDemotion = vipDemotion(appUser.getShopPoint(), appUser.getVipId());
-            if(vipDemotion){
+            if(1 < appUser.getVipId() && appUser.getVipId() < 4){
                 appUserClient.vipDemotion(appUser.getId());
             }
             //回退优惠券状态
@@ -594,15 +595,17 @@
             appUser.setTransferablePoint(appUser.getTransferablePoint() + transferablePoint);
 
             //构建积分流水明细
-            UserPoint userPoint = new UserPoint();
-            userPoint.setType(11);
-            userPoint.setHistoricalPoint(lavePoint);
-            userPoint.setVariablePoint(order.getPoint());
-            userPoint.setBalance(appUser.getLavePoint());
-            userPoint.setCreateTime(LocalDateTime.now());
-            userPoint.setAppUserId(order.getAppUserId());
-            userPoint.setObjectId(order.getId());
-            userPointClient.saveUserPoint(userPoint);
+            if(order.getPoint() > 0){
+                UserPoint userPoint = new UserPoint();
+                userPoint.setType(11);
+                userPoint.setHistoricalPoint(lavePoint);
+                userPoint.setVariablePoint(order.getPoint());
+                userPoint.setBalance(appUser.getLavePoint());
+                userPoint.setCreateTime(LocalDateTime.now());
+                userPoint.setAppUserId(order.getAppUserId());
+                userPoint.setObjectId(order.getId());
+                userPointClient.saveUserPoint(userPoint);
+            }
             appUserClient.editAppUserById(appUser);
         }
 
@@ -650,20 +653,21 @@
         appUser.setTotalPoint(appUser.getTotalPoint() - shopPoint);
 
         //构建积分流水明细
-        UserPoint userPoint = new UserPoint();
-        userPoint.setType(1);
-        userPoint.setHistoricalPoint(lavePoint);
-        userPoint.setVariablePoint(shopPoint);
-        userPoint.setBalance(appUser.getLavePoint());
-        userPoint.setCreateTime(LocalDateTime.now());
-        userPoint.setAppUserId(order.getAppUserId());
-        userPoint.setObjectId(order.getId());
-        userPointClient.saveUserPoint(userPoint);
+        if(shopPoint > 0){
+            UserPoint userPoint = new UserPoint();
+            userPoint.setType(1);
+            userPoint.setHistoricalPoint(lavePoint);
+            userPoint.setVariablePoint(shopPoint);
+            userPoint.setBalance(appUser.getLavePoint());
+            userPoint.setCreateTime(LocalDateTime.now());
+            userPoint.setAppUserId(order.getAppUserId());
+            userPoint.setObjectId(order.getId());
+            userPointClient.saveUserPoint(userPoint);
+        }
         appUserClient.editAppUserById(appUser);
     
         //降级检测
-        boolean vipDemotion = vipDemotion(appUser.getShopPoint(), appUser.getVipId());
-        if(vipDemotion){
+        if(1 < appUser.getVipId() && appUser.getVipId() < 4){
             appUserClient.vipDemotion(appUser.getId());
         }
 
@@ -710,30 +714,21 @@
         appUser.setTransferablePoint(appUser.getTransferablePoint() + transferablePoint);
 
         //构建积分流水明细
-        UserPoint userPoint = new UserPoint();
-        userPoint.setType(11);
-        userPoint.setHistoricalPoint(lavePoint);
-        userPoint.setVariablePoint(order.getPoint());
-        userPoint.setBalance(appUser.getLavePoint());
-        userPoint.setCreateTime(LocalDateTime.now());
-        userPoint.setAppUserId(order.getAppUserId());
-        userPoint.setObjectId(order.getId());
-        userPointClient.saveUserPoint(userPoint);
+        if(order.getPoint() > 0){
+            UserPoint userPoint = new UserPoint();
+            userPoint.setType(11);
+            userPoint.setHistoricalPoint(lavePoint);
+            userPoint.setVariablePoint(order.getPoint());
+            userPoint.setBalance(appUser.getLavePoint());
+            userPoint.setCreateTime(LocalDateTime.now());
+            userPoint.setAppUserId(order.getAppUserId());
+            userPoint.setObjectId(order.getId());
+            userPointClient.saveUserPoint(userPoint);
+        }
         return R.ok();
     }
 
-    /**
-     * 会员降级检测
-     */
-    public boolean vipDemotion(Integer shopPoint, Integer vipId){
-        if(vipId == 1 || vipId > 3){
-            return false;
-        }
-        VipSetting vipSetting = vipSettingClient.getVipSetting(vipId).getData();
-        Integer vipLevelUpShopRole = vipSetting.getVipLevelUpShopRole();
-        Integer vipLevelUpShop = vipSetting.getVipLevelUpShop();
-        return 1 == vipLevelUpShopRole && shopPoint < vipLevelUpShop;
-    }
+    
     
     
     /**

--
Gitblit v1.7.1