longz
2026-07-13 6fc77feef6337bc478423efad5de91fa520b4990
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));
    }
    
    /**
     * 充电充值支付回调