From c8a179a0bdbc7bdc987788e129efce16d467889f Mon Sep 17 00:00:00 2001
From: p-honggang.li <p-honggang.li@pcitc.com>
Date: 星期四, 04 九月 2025 20:44:57 +0800
Subject: [PATCH] 修改购物车逻辑

---
 src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java b/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
index fd44187..00d5dfd 100644
--- a/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
+++ b/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
@@ -17,6 +17,7 @@
 import com.webmanage.mapper.UserPointsMapper;
 import com.webmanage.mapper.PointsTransactionMapper;
 import com.webmanage.entity.PointsTransaction;
+import com.webmanage.service.OrderInfoService;
 import com.webmanage.service.PointsFlowService;
 import com.webmanage.service.PointsRuleService;
 import lombok.extern.slf4j.Slf4j;
@@ -45,6 +46,7 @@
 
     @Resource
     private PointsTransactionMapper pointsTransactionMapper;
+
 
     @Override
     public PageResult<PointsFlow> getPersonalPointsFlowPage(PointsFlowQueryDTO queryDTO) {
@@ -219,7 +221,7 @@
         if (applyProvider && providerPointsChange != 0) {
             PointsFlow providerFlow = new PointsFlow();
             providerFlow.setUserId(providerId);
-            providerFlow.setUnitId(providerId);
+            providerFlow.setUnitId(null);
             providerFlow.setDataType(ruleType);
             providerFlow.setDataCategory(addPointsFlowDTO.getCategory());
             providerFlow.setPoints(providerPointsChange);
@@ -231,8 +233,8 @@
             if (!providerSaved) {
                 throw new BusinessException("淇濆瓨鎻愪緵鑰呯Н鍒嗘祦姘村け璐�");
             }
-
-            updateProviderUnitPoints(providerId, providerPointsChange);
+            updateUserPointsByRule(providerId, null, userPointsChange);
+            // updateProviderUnitPoints(providerId, providerPointsChange);
         }
 
         return true;
@@ -490,7 +492,9 @@
             
             userPoints = new UserPoints();
             userPoints.setUserId(userId);
-            userPoints.setUnitId(unitId);
+            if(StringUtils.hasText(unitId)){
+                userPoints.setUnitId(unitId);
+            }
             userPoints.setBalance(pointsValue);
             userPoints.setTotalEarned(pointsValue > 0 ? pointsValue : 0);
             userPoints.setTotalConsumed(pointsValue < 0 ? Math.abs(pointsValue) : 0);
@@ -520,7 +524,7 @@
         }
 
         // 鏇存柊鍗曚綅绉垎璐︽埛
-        QueryWrapper<UserPoints> unitWrapper = new QueryWrapper<>();
+         /* QueryWrapper<UserPoints> unitWrapper = new QueryWrapper<>();
         unitWrapper.eq("deleted", 0)
                   .eq("unit_id", unitId);
         
@@ -560,7 +564,7 @@
             
             unitPoints.setUpdateTime(LocalDateTime.now());
             userPointsMapper.updateById(unitPoints);
-        }
+        } */
     }
 
     /**
@@ -571,6 +575,7 @@
     public boolean deductUserPoints(DeductUserPointsDTO deductDTO) {
         try {
             String userId = deductDTO.getUserId();
+            String providerId = deductDTO.getProviderId();
             String unitId = deductDTO.getUnitId();
             Integer points = deductDTO.getPoints();
             String orderId = deductDTO.getOrderId();
@@ -632,7 +637,15 @@
             if (inserted <= 0 || trans.getId() == null) {
                 throw new BusinessException("淇濆瓨绉垎浜ゆ槗璁板綍澶辫触");
             }
-
+            // 涓烘彁渚涜�呮柊澧炵Н鍒�
+            AddPointsFlowDTO addPointsFlowDTO = new AddPointsFlowDTO();
+            addPointsFlowDTO.setCategory("璧勬簮浜ゆ槗");
+            addPointsFlowDTO.setCount(1);
+            addPointsFlowDTO.setProviderId(providerId);
+            addPointsFlowDTO.setRuleType(0);
+            addPointsFlowDTO.setRuleNameCode("digital_product_transaction");
+            addPointsFlowDTO.setDescription("浜у搧浜ゆ槗");
+            addPointsFlowByRule(addPointsFlowDTO);
             return true;
         } catch (Exception e) {
             log.error("鎵e噺鐢ㄦ埛绉垎澶辫触", e);

--
Gitblit v1.8.0