From 80f7eaf4e6aaedf5fefc0587a28d67c9c9a55931 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 25 十月 2024 20:15:31 +0800
Subject: [PATCH] 计费策略修改

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java |   35 +++++++++++++++++++++--------------
 1 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
index d7272a4..60f2e86 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
@@ -4,16 +4,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.chargingPile.api.dto.CheckChargingStrategyDTO;
-import com.ruoyi.chargingPile.api.model.Site;
-import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
-import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
-import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.model.*;
 import com.ruoyi.chargingPile.api.vo.StrategyPriceVO;
 import com.ruoyi.chargingPile.api.vo.TAccountingStrategyDetailVO;
-import com.ruoyi.chargingPile.service.ISiteService;
-import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService;
-import com.ruoyi.chargingPile.service.TAccountingStrategyService;
-import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -40,13 +34,15 @@
 
     private final ISiteService siteService;
     private final TChargingPileService chargingPileService;
+    private final TChargingGunService chargingGunService;
     private final TAccountingStrategyService accountingStrategyService;
     private final TAccountingStrategyDetailService accountingStrategyDetailService;
 
     @Autowired
-    public TAccountingStrategyDetailController(ISiteService siteService, TChargingPileService chargingPileService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
+    public TAccountingStrategyDetailController(ISiteService siteService, TChargingPileService chargingPileService, TChargingGunService chargingGunService, TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
         this.siteService = siteService;
         this.chargingPileService = chargingPileService;
+        this.chargingGunService = chargingGunService;
         this.accountingStrategyService = accountingStrategyService;
         this.accountingStrategyDetailService = accountingStrategyDetailService;
     }
@@ -123,11 +119,22 @@
         if(Objects.isNull(chargingPile)){
             return R.fail("未查询到该桩设备");
         }
-        Site site = siteService.getById(chargingPile.getSiteId());
-        TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
-        TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
-                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
-                .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
+        TChargingGun chargingGun = chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class)
+                .eq(TChargingGun::getChargingPileId, chargingPile.getId())
+                .last("LIMIT 1"));
+        TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId());
+        TAccountingStrategyDetail one;
+        if(Objects.nonNull(accountingStrategy)){
+            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
+                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
+        }else {
+            Site site = siteService.getById(chargingPile.getSiteId());
+            accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
+            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
+                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
+                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
+        }
         return R.ok(one);
     }
     /**

--
Gitblit v1.7.1