From 7a4f9541331bef779a506b38a27ed5c3373c0bec Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 15 五月 2025 13:53:22 +0800
Subject: [PATCH] 开发二级等保功能及心跳消息队列修改

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
index 655485e..2216d2a 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -61,6 +61,28 @@
     private AppUserVipDetailClient vipDetailClient;
     @Override
     public List<TAccountingStrategyDetailVO> queryAccountingStrategyDetailByStrategyId(Integer strategyId) {
+        List<TAccountingStrategyDetailVO> tAccountingStrategyDetailVOS = this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId);
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        TAppUser appUser = appUserClient.getUserById(userId).getData();
+        for (TAccountingStrategyDetailVO tAccountingStrategyDetailVO : tAccountingStrategyDetailVOS) {
+            GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+            getAppUserVipDetail.setAppUserId(userId);
+            getAppUserVipDetail.setVipId(appUser.getVipId());
+            R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+            TAppUserVipDetail data1 = appUserVipDetail.getData();
+            if(Objects.nonNull(data1)){
+                String vipJson = data1.getVipJson();
+                TVip vip = JSON.parseObject(vipJson, TVip.class);
+                if(Objects.nonNull(vip) && vip.getType() == 2){
+                    tAccountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10)));
+                }
+            }
+        }
+        return tAccountingStrategyDetailVOS;
+    }
+
+    @Override
+    public List<TAccountingStrategyDetailVO> queryMangementAccountingStrategyDetailByStrategyId(Integer strategyId) {
         return this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId);
     }
 
@@ -105,6 +127,7 @@
             if(Objects.nonNull(vip)) {
                 if (vip.getType() == 2) {
                     accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount())));
+                    accountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10)));
                     accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount())));
                 } else {
                     if(Objects.isNull(accountingStrategy.getDiscount())){
@@ -153,13 +176,13 @@
         }
         // 查询最高折扣的会员
         TVip monthlyCardDiscount = vipClient.getVipInfoByType(3).getData();
-        strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount());
+        strategyPriceVO.setServiceFeeDiscount(null == monthlyCardDiscount ? new BigDecimal(10) : monthlyCardDiscount.getMonthlyCardDiscount());
         // 查询最高优惠的会员
         TVip maximumDeduction = vipClient.getVipInfoByType(1).getData();
-        strategyPriceVO.setMaxDiscountAmount(maximumDeduction.getMaximumDeduction());
+        strategyPriceVO.setMaxDiscountAmount(null == maximumDeduction ? new BigDecimal(10) : maximumDeduction.getMaximumDeduction());
         // 查询最低起步价会员
         TVip monthlyCard = vipClient.getVipInfoByType(2).getData();
-        strategyPriceVO.setVipStartPrice(monthlyCard.getMonthlyCard());
+        strategyPriceVO.setVipStartPrice(null == monthlyCard ? new BigDecimal(10) : monthlyCard.getMonthlyCard());
         // 模板折扣
         strategyPriceVO.setDiscount(accountingStrategy.getDiscount());
         return strategyPriceVO;

--
Gitblit v1.7.1