From 6fc77feef6337bc478423efad5de91fa520b4990 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 13 七月 2026 21:01:40 +0800
Subject: [PATCH] 支付分账测试相关

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index e072c76..e9cfeab 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -53,6 +53,8 @@
 import com.ruoyi.order.util.PreviousSixMonths;
 import com.ruoyi.order.util.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.order.vo.EndOfChargePageInfo;
+import com.ruoyi.order.vo.ChargingSimulationVO;
+import com.ruoyi.order.vo.IcbcAdminSubOrderVO;
 import com.ruoyi.order.vo.StatisticsOfBatteryVO;
 import com.ruoyi.order.vo.UpdateOrderPaymentAmountDto;
 import com.ruoyi.order.vo.WatchChargingOrderVo;
@@ -60,6 +62,9 @@
 import com.ruoyi.other.api.feignClient.UserSiteClient;
 import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
+import com.ruoyi.payment.api.vo.IcbcPaymentResp;
+import com.ruoyi.payment.api.vo.IcbcRefundResp;
+import com.ruoyi.payment.api.vo.IcbcSubOrderRefundResp;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import com.ruoyi.system.api.feignClient.SysUserRoleClient;
@@ -762,6 +767,48 @@
     public AjaxResult paymentChargingOrder(@RequestBody AddChargingOrder addChargingOrder) {
         return chargingOrderService.paymentChargingOrder(addChargingOrder);
     }
+
+    @RequiresPermissions(value = {"/chargingPileOrder", "/paymentOrder/refund"}, logical = Logical.AND)
+    @PostMapping("/icbc/fund/payment-query")
+    @ApiOperation(value = "管理后台查询工行支付订单", tags = {"后台-充电桩订单"})
+    public AjaxResult<IcbcPaymentResp> queryIcbcAdminPayment(@RequestBody IcbcAdminFundOperationReq request) {
+        return AjaxResult.success(chargingOrderService.queryIcbcAdminPayment(request == null ? null : request.getOrderCode()));
+    }
+
+    @RequiresPermissions(value = {"/chargingPileOrder", "/paymentOrder/refund"}, logical = Logical.AND)
+    @PostMapping("/icbc/fund/refund")
+    @ApiOperation(value = "管理后台工行主订单退款", tags = {"后台-充电桩订单"})
+    public AjaxResult<IcbcRefundResp> refundIcbcAdminPayment(@RequestBody IcbcAdminFundOperationReq request) {
+        return AjaxResult.success(chargingOrderService.refundIcbcAdminPayment(request));
+    }
+
+    @RequiresPermissions(value = {"/chargingPileOrder", "/paymentOrder/refund"}, logical = Logical.AND)
+    @PostMapping("/icbc/fund/sub-orders")
+    @ApiOperation(value = "管理后台查询工行分账子订单", tags = {"后台-充电桩订单"})
+    public AjaxResult<List<IcbcAdminSubOrderVO>> queryIcbcAdminSubOrders(@RequestBody IcbcAdminFundOperationReq request) {
+        return AjaxResult.success(chargingOrderService.queryIcbcAdminSubOrders(request == null ? null : request.getOrderCode()));
+    }
+
+    @RequiresPermissions(value = {"/chargingPileOrder", "/paymentOrder/refund"}, logical = Logical.AND)
+    @PostMapping("/icbc/fund/sub-order-refund")
+    @ApiOperation(value = "管理后台工行分账子订单退款", tags = {"后台-充电桩订单"})
+    public AjaxResult<IcbcSubOrderRefundResp> refundIcbcAdminSubOrder(@RequestBody IcbcAdminFundOperationReq request) {
+        return AjaxResult.success(chargingOrderService.refundIcbcAdminSubOrder(request));
+    }
+
+    @ResponseBody
+    @GetMapping("/simulation/current")
+    @ApiOperation(value = "查询当前枪可模拟结算的工行订单", tags = {"小程序-模拟充电"})
+    public AjaxResult<ChargingSimulationVO> getCurrentSimulationOrder(@RequestParam("gunId") Integer gunId) {
+        return AjaxResult.success(chargingOrderService.getCurrentSimulationOrder(gunId));
+    }
+
+    @ResponseBody
+    @PostMapping("/simulation/complete")
+    @ApiOperation(value = "模拟完成充电并执行真实结算", tags = {"小程序-模拟充电"})
+    public AjaxResult<ChargingSimulationVO> completeSimulation(@RequestBody ChargingSimulationReq request) {
+        return AjaxResult.success(chargingOrderService.completeSimulation(request));
+    }
     
     /**
      * 充电充值支付回调

--
Gitblit v1.7.1