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