From baac505052a5d9e63536eb7de32ba346d7e98ca7 Mon Sep 17 00:00:00 2001
From: p-honggang.li <p-honggang.li@pcitc.com>
Date: 星期六, 06 九月 2025 10:44:03 +0800
Subject: [PATCH] 修改审核订单查询获取正确taskid的问题

---
 src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 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..a75f266 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) {
@@ -180,10 +182,10 @@
         }
 
         // 姣忔棩涓婇檺鏍¢獙锛堝垎鍒牎楠岋級
-        if (applyUser && userRule.getIsLimit() != null && userRule.getIsLimit() == 0) {
+        if (applyUser && userRule.getIsLimit() != null && userRule.getIsLimit() == 1) {
             checkDailyLimitByRule(userId, unitId, userRule, userPointsChange);
         }
-        if (applyProvider && providerRule.getIsLimit() != null && providerRule.getIsLimit() == 0) {
+        if (applyProvider && providerRule.getIsLimit() != null && providerRule.getIsLimit() == 1) {
             checkDailyLimitByRule(providerId, providerId, providerRule, providerPointsChange);
         }
 
@@ -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;
@@ -355,11 +357,14 @@
         QueryWrapper<PointsFlow> wrapper = new QueryWrapper<>();
         wrapper.eq("deleted", 0)
                .eq("user_id", userId)
-               .eq("unit_id", unitId)
 //               .eq("data_category", pointsRule.getRuleName())
                 .eq("rule_id",pointsRule.getId())
+                .eq("data_type", 0)
                .ge("flow_time", startOfDay)
                .le("flow_time", endOfDay);
+        if(StringUtils.hasText(unitId)){
+            wrapper.eq("unit_id", unitId);
+        }
 
         List<PointsFlow> todayFlows = list(wrapper);
         
@@ -490,7 +495,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 +527,7 @@
         }
 
         // 鏇存柊鍗曚綅绉垎璐︽埛
-        QueryWrapper<UserPoints> unitWrapper = new QueryWrapper<>();
+         /* QueryWrapper<UserPoints> unitWrapper = new QueryWrapper<>();
         unitWrapper.eq("deleted", 0)
                   .eq("unit_id", unitId);
         
@@ -560,7 +567,7 @@
             
             unitPoints.setUpdateTime(LocalDateTime.now());
             userPointsMapper.updateById(unitPoints);
-        }
+        } */
     }
 
     /**
@@ -571,6 +578,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 +640,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