From 8a038cf6f0792cfe260a94e86d954b50f068e758 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 07 二月 2025 16:55:41 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java               |   11 ++-
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java        |    5 +
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java      |   15 +++++
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java               |    5 +
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java |   12 +++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                    |    4 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java      |   16 +++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java             |   59 +++++++++++--------
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java                    |    2 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java             |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java           |    5 +
 11 files changed, 105 insertions(+), 31 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
index b4cd200..fdcfbaa 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -41,6 +41,11 @@
             }
 
             @Override
+            public R<List<TAppUser>> getAllUser() {
+                return null;
+            }
+
+            @Override
             public R<TAppCoupon> couponGetById(Long id) {
                 return R.fail("查询优惠券失败:"+throwable.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
index cc1ff3b..fc74025 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -48,6 +48,8 @@
      */
     @PostMapping(value = "/t-app-user/user/getUserById/{id}")
     R<TAppUser> getUserById(@PathVariable("id") Long id);
+    @PostMapping(value = "/t-app-user/user/getAllUser")
+    R<List<TAppUser>> getAllUser();
 
 
     @PostMapping(value = "/t-app-user/user/coupon/getById")
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
index 11c4cb6..ed56bfc 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -29,7 +29,17 @@
     public ChargingGunClient create(Throwable throwable) {
         log.error("充电枪调用失败:{}", throwable.getMessage());
         return new ChargingGunClient() {
-    
+
+            @Override
+            public R<List<TChargingGun>> getAllGun() {
+                return null;
+            }
+
+            @Override
+            public R<List<TChargingPile>> getAllPile() {
+                return null;
+            }
+
             @Override
             public R<String> getAllName(Integer id) {
                 return R.fail("根据id获取充电枪完整名称失败:" + throwable.getMessage());
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
index d33b267..114b837 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
@@ -53,6 +53,11 @@
                 return R.fail("根据合作商id获取合作商详情失败:" + throwable.getMessage());
 
             }
+
+            @Override
+            public R<List<Partner>> getAllPartner() {
+                return null;
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
index 77548f2..bdfb007 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.chargingPile.api.factory.ChargingGunFallbackFactory;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
+import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
 import com.ruoyi.chargingPile.api.vo.GetChargingGunByCode;
 import com.ruoyi.chargingPile.api.vo.SiteNameVO;
@@ -13,12 +14,26 @@
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2024/8/15 19:36
  */
 @FeignClient(contextId = "ChargingGunClient", value = ServiceNameConstants.CHARGINGPILE_SERVICE, fallbackFactory = ChargingGunFallbackFactory.class)
 public interface ChargingGunClient {
+	/**
+	 * 获取所有枪
+	 * @return
+	 */
+	@PostMapping("/t-charging-gun/getAllGun")
+	R<List<TChargingGun>> getAllGun();
+	/**
+	 * 获取所有桩
+	 * @return
+	 */
+	@PostMapping("/t-charging-gun/getAllPile")
+	R<List<TChargingPile>> getAllPile();
 	
 	/**
 	 * 根据id获取充电枪完整名称
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
index 9b3752f..31a4eca 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
@@ -40,4 +40,6 @@
 	R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId);
 	@GetMapping("/partner/getPartnerR/{id}")
 	R<Partner> getPartnerR(@PathVariable("id") Integer id);
+	@GetMapping("/partner/getAllPartner")
+	public R<List<Partner>> getAllPartner();
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 3e69ba0..5ad844e 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -970,6 +970,10 @@
         TAppUser appUser = appUserService.getById(id);
         return R.ok(appUser);
     }
+    @PostMapping(value = "/user/getAllUser")
+    public R<List<TAppUser>> getAllUser(){
+        return R.ok(appUserService.list(null));
+    }
 
 
     /**
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
index 1c514cd..e34da66 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -98,6 +98,11 @@
 		Partner partner = partnerService.getPartner(id);
 		return R.ok(partner);
 	}
+	@ResponseBody
+	@GetMapping("/getAllPartner")
+	public R<List<Partner>> getAllPartner(){
+		return R.ok(partnerService.list());
+	}
 	
 	
 	
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index f618ef1..5286e01 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -69,6 +69,22 @@
     @Autowired
     private FileUploadConfig fileUploadConfig;
 
+
+    /**
+     * 查询所有枪
+     */
+    @PostMapping(value = "/getAllGun")
+    public R<List<TChargingGun>> getAllGun() {
+        return R.ok(chargingGunService.list(null));
+    }
+    /**
+     * 查询所有桩
+     */
+    @PostMapping(value = "/getAllPile")
+    public R<List<TChargingPile>> getAllPile() {
+        return R.ok(chargingPileService.list(null));
+    }
+
     /**
      * 查询充电枪列表
      */
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index 3e23724..6fce279 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -61,10 +61,13 @@
 import java.math.RoundingMode;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -129,20 +132,27 @@
         List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>();
         List<ChargingOrderListVO> exportList = res.getExportList();
         int i = 0;
+        List<Site> data9 = siteClient.getSiteAll().getData();
+        List<TChargingGun> data = chargingGunClient.getAllGun().getData();
+        List<TAppUser> data6 = appUserClient.getAllUser().getData();
+        List<Partner> data7 = siteClient.getAllPartner().getData();
+        List<AccountingStrategyOrder> listAll = accountingStrategyOrderService.lambdaQuery()
+                .list();
+        List<TChargingOrderAccountingStrategy> stageCostAll = tChargingOrderAccountingStrategyService.list(
+                );
         for (ChargingOrderListVO chargingOrderListVO : exportList) {
             TChargingOrderExport tChargingOrderExport = new TChargingOrderExport();
-
-            List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrderListVO.getSiteId())).getData();
-            TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData();
-            TChargingGun data4 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
-            if (data!=null&&(!data.isEmpty())){
-                tChargingOrderExport.setSiteCode(data.get(0).getCode());
+            Site site = data9.stream().filter(e -> e.getId().equals(chargingOrderListVO.getSiteId())).findFirst().orElse(null);
+            TAppUser data3 = data6.stream().filter(e->e.getId().equals(chargingOrderListVO.getAppUserId())).findFirst().orElse(null);
+            TChargingGun data4 = data.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
+            if (site!=null){
+                tChargingOrderExport.setSiteCode(site.getCode());
                 tChargingOrderExport.setSiteName(chargingOrderListVO.getSiteName());
-                tChargingOrderExport.setCity(data.get(0).getCity());
-                tChargingOrderExport.setCityName(data.get(0).getDistricts());
-                tChargingOrderExport.setSiteType(data.get(0).getSiteType());
-                tChargingOrderExport.setStatus(data.get(0).getStatus()+"");
-                Partner data2 = siteClient.getPartnerR(data.get(0).getPartnerId()).getData();
+                tChargingOrderExport.setCity(site.getCity());
+                tChargingOrderExport.setCityName(site.getDistricts());
+                tChargingOrderExport.setSiteType(site.getSiteType());
+                tChargingOrderExport.setStatus(site.getStatus()+"");
+                Partner data2 = data7.stream().filter(e->e.getId().equals(site.getPartnerId())).findFirst().orElse(null);
                 if (data2!=null){
                     tChargingOrderExport.setPartner(data2.getName());
                 }
@@ -153,9 +163,9 @@
             tChargingOrderExport.setCode(chargingOrderListVO.getCode());
             tChargingOrderExport.setTerminalName(chargingOrderListVO.getTerminalName());
             // 查询这笔订单的计费策略名称
-            List<AccountingStrategyOrder> list = accountingStrategyOrderService.lambdaQuery()
-                    .eq(AccountingStrategyOrder::getChargingOrderId, chargingOrderListVO.getId())
-                    .list();
+            List<AccountingStrategyOrder> list = listAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList());
+
+
             if (!list.isEmpty()){
                 tChargingOrderExport.setName(list.get(0).getName());
             }
@@ -194,9 +204,7 @@
             tChargingOrderExport.setServiceCharge(chargingOrderListVO.getServiceCharge()+"");
             tChargingOrderExport.setTotal(chargingOrderListVO.getPaymentAmount()+"");
             tChargingOrderExport.setChargingCapacity(chargingOrderListVO.getElectricity()+"");
-            List<TChargingOrderAccountingStrategy> stageCost = tChargingOrderAccountingStrategyService.list(
-                    new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
-                            .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId()));
+            List<TChargingOrderAccountingStrategy> stageCost = stageCostAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList());
             if (!stageCost.isEmpty()){
                 // 累加时段电费单价 取平均值
                 BigDecimal bigDecimal1 = new BigDecimal("0");
@@ -216,12 +224,12 @@
                 tChargingOrderExport.setServiceChargePrice(divide2+"");
                 tChargingOrderExport.setServiceChargePriceLook(divide3+"");
             }
-            // 获取充电时间
-            UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData();
-            if (data5!=null){
-                if (data5.getTime_remaining()!=null){
-                    tChargingOrderExport.setCumulativeChargingTime(data5.getCumulative_charging_time()+"");
-                }
+            if (chargingOrderListVO.getStartTime()!=null && chargingOrderListVO.getEndTime()!=null){
+                LocalDateTime startTime = chargingOrderListVO.getStartTime();
+                LocalDateTime endTime = chargingOrderListVO.getEndTime();
+                // 计算时间差 单位秒
+                long between = ChronoUnit.SECONDS.between(startTime, endTime);
+                tChargingOrderExport.setCumulativeChargingTime((between*60)+"");
             }
             tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc());
             tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc());
@@ -229,9 +237,8 @@
             tChargingOrderExport.setIsSocType("");
             tChargingOrderExport.setIsSocNum("0");
             tChargingOrderExport.setUserType("普通个人用户");
-            TAppUser data2 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData();
-            if (data2!=null&&data2.getVipId()!=null){
-                TVip data1 = vipClient.getInfo1(data2.getVipId()).getData();
+            if (data3!=null&&data3.getVipId()!=null){
+                TVip data1 = vipClient.getInfo1(data3.getVipId()).getData();
                 if (data1!=null){
                     tChargingOrderExport.setVipType(data1.getName());
                 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 00e1c84..d54b825 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1438,6 +1438,9 @@
 		String endTime1 = null;
 		String endTime2 = null;
 
+		List<TChargingGun> allGun = chargingGunClient.getAllGun().getData();
+		List<TChargingPile> allPile = chargingGunClient.getAllPile().getData();
+
 		if (StringUtils.hasLength(dto.getStartTime())){
 			String[] split = dto.getStartTime().split(" - ");
 			startTime1 = split[0];
@@ -1534,8 +1537,8 @@
 				chargingOrderListVO.setSiteName(site.getName());
 			}
 			if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){
-				TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
-				TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderListVO.getChargingPileId()).getData();
+				TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
+				TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
 				if (data2 != null && data1 != null) {
 					chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName());
 				}
@@ -1644,8 +1647,8 @@
 				chargingOrderListVO.setChargingSecond(between);
 			}
 			if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){
-				TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
-				TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderListVO.getChargingPileId()).getData();
+				TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
+				TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null);
 				if (data2 != null && data1 != null) {
 					chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName());
 				}

--
Gitblit v1.7.1