ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1031,7 +1031,7 @@ dto.setRefundAmount(rechargeAmount.toString()); dto.setRefundReason("充电失败,取消充电订单"); RefundResp resp = h5AliPaymentClient.refund(dto).getData(); if(null != resp){ if(null != resp && "10000".equals(resp.getCode())){ chargingOrderRefundService.save(chargingOrderRefund); //回退会员折扣次数 if(chargingOrder.getVipDiscountAmount().compareTo(BigDecimal.ZERO) > 0){ @@ -1128,7 +1128,7 @@ dto.setRefundAmount(money.toString()); dto.setRefundReason("充电完成退款"); RefundResp resp = h5AliPaymentClient.refund(dto).getData(); if(null != resp){ if(null != resp && "10000".equals(resp.getCode())){ chargingOrderRefundService.save(chargingOrderRefund); try { Thread.sleep(1000); @@ -2728,7 +2728,7 @@ dto.setRefundAmount(refundAmount.toString()); dto.setRefundReason("充电完成退款"); RefundResp resp = h5AliPaymentClient.refund(dto).getData(); if(null != resp){ if(null != resp && "10000".equals(resp.getCode())){ chargingOrderRefundService.save(chargingOrderRefund); this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null); } @@ -2941,7 +2941,7 @@ dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString()); dto.setRefundReason("取消订单"); RefundResp resp = h5AliPaymentClient.refund(dto).getData(); if(null != resp){ if(null != resp && "10000".equals(resp.getCode())){ chargingOrderRefund.setRefundStatus(2); chargingOrderRefund.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); this.baseMapper.updateById(tChargingOrder); ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/H5PayUtil.java
@@ -199,11 +199,12 @@ * 支付宝退款 * * @param trade_no 支付宝交易号 * @param outRequestNo 退款业务流水号 * @param refund_amount 退款金额 * @return * @throws AlipayApiException */ public Map<String, String> aliRefund(String trade_no, String refund_amount) { public Map<String, String> aliRefund(String trade_no,String outRequestNo, String refund_amount) { try { // 初始化SDK AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig()); @@ -212,6 +213,7 @@ // 设置订单支付时传入的商户订单号 model.setTradeNo(trade_no); model.setRefundAmount(refund_amount); model.setOutRequestNo(outRequestNo); model.setRefundReason("充电退款"); request.setBizModel(model); AlipayTradeRefundResponse response = alipayClient.execute(request); ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/H5AliPayController.java
@@ -79,7 +79,7 @@ */ @PostMapping("/refund") public R<RefundResp> refund(@RequestBody RefundReq dto){ Map<String, String> map = h5PayUtil.aliRefund(dto.getOutTradeNo(), dto.getRefundAmount()); Map<String, String> map = h5PayUtil.aliRefund(dto.getOutTradeNo(),dto.getOutRequestNo(), dto.getRefundAmount()); RefundResp refundResp = new RefundResp(); refundResp.setCode(map.get("code")); refundResp.setMsg(map.get("msg"));