From 108c8a8fa12e98f728f5b2b394c7cfc87c7458bc Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 26 一月 2026 14:08:09 +0800
Subject: [PATCH] 订单推送返回

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java      |   10 +++++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderAccountingStrategyFallbackFactory.java |    5 ++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/tulaidian/controller/NotifyController.java        |   35 ++++++++++++++---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java      |   13 ++++--
 4 files changed, 53 insertions(+), 10 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderAccountingStrategyFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderAccountingStrategyFallbackFactory.java
index a5a173c..f1a9de1 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderAccountingStrategyFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderAccountingStrategyFallbackFactory.java
@@ -44,6 +44,11 @@
             public R<List<TChargingOrderAccountingStrategy>> getChargingOrderAccountingStrategyByOrderId(Long chargingOrderId) {
                 return R.fail("根据订单id查询充电明细失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<String> addChargingOrderAccountingStrategy(List<TChargingOrderAccountingStrategy> accountingStrategyList) {
+                return R.fail("添加充电计费明细失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java
index 43607fb..db8faea 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java
@@ -6,10 +6,7 @@
 import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
 import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Map;
@@ -48,4 +45,12 @@
 	 */
 	@PostMapping("/t-charging-order-accounting-strategy/getChargingOrderAccountingStrategyByOrderId")
 	R<List<TChargingOrderAccountingStrategy>> getChargingOrderAccountingStrategyByOrderId(@RequestParam("chargingOrderId") Long chargingOrderId);
+
+	/**
+	 * 添加充电计费明细
+	 * @param accountingStrategyList
+	 * @return
+	 */
+	@PostMapping("/t-charging-order-accounting-strategy/addChargingOrderAccountingStrategy")
+	R<String> addChargingOrderAccountingStrategy(@RequestBody List<TChargingOrderAccountingStrategy> accountingStrategyList);
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/tulaidian/controller/NotifyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/tulaidian/controller/NotifyController.java
index 0a33568..9d7be04 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/tulaidian/controller/NotifyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/tulaidian/controller/NotifyController.java
@@ -7,27 +7,27 @@
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.chargingPile.service.TChargingGunService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.chargingPile.tulaidian.domain.ChargeDetail;
 import com.ruoyi.chargingPile.tulaidian.domain.ChargeRecord;
-import com.ruoyi.chargingPile.tulaidian.domain.ChargeStatus;
 import com.ruoyi.chargingPile.tulaidian.domain.ConnectorStatusInfos;
 import com.ruoyi.chargingPile.tulaidian.domain.TContent;
 import com.ruoyi.chargingPile.tulaidian.service.IContentService;
 import com.ruoyi.chargingPile.tulaidian.util.AesEncryption;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.time.LocalDateTime;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 广告控制器
@@ -38,6 +38,8 @@
 public class NotifyController {
     @Autowired
     private ChargingOrderClient chargingOrderClient;
+    @Autowired
+    private ChargingOrderAccountingStrategyClient chargingOrderAccountingStrategyClient;
     @Autowired
     private IContentService contentService;
     @Autowired
@@ -107,7 +109,28 @@
         }
         R<Long> orderIdR = chargingOrderClient.addChargingOrder(chargingOrder);
         if(orderIdR.getCode() == 200){
-            // TODO 充电明细
+            // 充电明细
+            List<ChargeDetail> chargeDetails = chargeRecord.getChargeDetails();
+            if(!CollectionUtils.isEmpty(chargeDetails)){
+                List<TChargingOrderAccountingStrategy> accountingStrategyList = new ArrayList<>();
+                for (ChargeDetail chargeDetail : chargeDetails) {
+                    TChargingOrderAccountingStrategy accountingStrategy = new TChargingOrderAccountingStrategy();
+                    accountingStrategy.setChargingOrderId(orderIdR.getData());
+                    accountingStrategy.setAccountingStrategyDetailId(232);
+                    accountingStrategy.setType(1);
+                    accountingStrategy.setStartTime(chargeDetail.getDetailStartTime());
+                    accountingStrategy.setEndTime(chargeDetail.getDetailEndTime());
+                    accountingStrategy.setElectrovalence(chargeDetail.getElecPrice());
+                    accountingStrategy.setServiceCharge(chargeDetail.getSevicePrice());
+                    accountingStrategy.setChargingCapacity(chargeDetail.getDetailPower());
+                    accountingStrategy.setPeriodElectricPrice(chargeDetail.getDetailElecMoney());
+                    accountingStrategy.setPeriodServicePrice(chargeDetail.getDetailSeviceMoney());
+                    accountingStrategy.setPeriodOriginalServicePrice(chargeDetail.getDetailSeviceMoney());
+                    accountingStrategy.setCreateTime(LocalDateTime.now());
+                    accountingStrategyList.add(accountingStrategy);
+                }
+                chargingOrderAccountingStrategyClient.addChargingOrderAccountingStrategy(accountingStrategyList);
+            }
         }
         Map<String,Object> map = new HashMap<>();
         map.put("StartChargeSeq",chargeRecord.getStartChargeSeq());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java
index 11d0ca0..9919f38 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderAccountingStrategyController.java
@@ -67,5 +67,15 @@
 		List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderId));
 		return R.ok(list);
 	}
+	/**
+	 * 添加充电计费明细
+	 * @param accountingStrategyList
+	 * @return
+	 */
+	@PostMapping("/addChargingOrderAccountingStrategy")
+	public R<String> addChargingOrderAccountingStrategy(@RequestBody List<TChargingOrderAccountingStrategy> accountingStrategyList){
+		chargingOrderAccountingStrategyService.saveBatch(accountingStrategyList);
+		return R.ok();
+	}
 }
 

--
Gitblit v1.7.1