From 50dde470ec18f292e8e58547ef1c4a4cbd4138b2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 24 九月 2025 15:08:54 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 150 +++++++++++++++++++++++++------------------------- 1 files changed, 75 insertions(+), 75 deletions(-) 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 88b4cf1..4297ea2 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 @@ -1532,6 +1532,7 @@ if (siteIds.isEmpty()) siteIds.add(-1); dto.setSiteIds(siteIds); List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo, dto, startTime1, startTime2, endTime1, endTime2); + BigDecimal total = new BigDecimal("0"); long time = 0L; BigDecimal electronicMoney = new BigDecimal("0"); @@ -2885,7 +2886,6 @@ tChargingOrder.setStatus(5); } - TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund(); chargingOrderRefund.setChargingOrderId(tChargingOrder.getId()); chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); @@ -2894,7 +2894,7 @@ chargingOrderRefund.setRefundTime(LocalDateTime.now()); chargingOrderRefund.setCode(tChargingOrder.getCode()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); + chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); chargingOrderRefund.setRefundTitle("后台退款"); chargingOrderRefund.setRefundContent("后台退款"); chargingOrderRefund.setRefundReason("后台退款"); @@ -2908,7 +2908,7 @@ model.setOut_refund_no(chargingOrderRefund.getRefundCode()); model.setTransaction_id(tChargingOrder.getRechargeSerialNumber()); model.setReason("取消订单"); - model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund"); + model.setNotify_url("/payment/wx/refund/notify"); WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue()); amount.setTotal(tChargingOrder.getRechargeAmount().multiply(new BigDecimal(100)).intValue()); @@ -2961,69 +2961,69 @@ } } if (payOrderQueryDto.getType() == 2) { - TShoppingOrder tChargingOrder = shoppingOrderService.getById(payOrderQueryDto.getOrderId()); - if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) { + TShoppingOrder shoppingOrder = shoppingOrderService.getById(payOrderQueryDto.getOrderId()); + if (shoppingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) { return R.fail("退款金额需小于支付金额"); } - if ((tChargingOrder.getPaymentAmount().subtract(tChargingOrder.getRefundAmount()).compareTo(payOrderQueryDto.getRefundAmount())) == 0) { - tChargingOrder.setStatus(5); + if ((shoppingOrder.getPaymentAmount().subtract(shoppingOrder.getRefundAmount()).compareTo(payOrderQueryDto.getRefundAmount())) == 0) { + shoppingOrder.setStatus(5); } - TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund(); - chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId()); - chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); - chargingOrderRefund.setRefundStatus(1); - chargingOrderRefund.setPayType(tChargingOrder.getPaymentType()); - chargingOrderRefund.setRefundTime(LocalDateTime.now()); - chargingOrderRefund.setCode(tChargingOrder.getCode()); + TShoppingOrderRefund shoppingOrderRefund = new TShoppingOrderRefund(); + shoppingOrderRefund.setShoppingOrderId(shoppingOrder.getId()); + shoppingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); + shoppingOrderRefund.setRefundStatus(1); + shoppingOrderRefund.setPayType(shoppingOrder.getPaymentType()); + shoppingOrderRefund.setRefundTime(LocalDateTime.now()); + shoppingOrderRefund.setCode(shoppingOrder.getCode()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); - chargingOrderRefund.setRefundTitle("后台退款"); - chargingOrderRefund.setRefundContent("后台退款"); - chargingOrderRefund.setRefundReason("后台退款"); - chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark()); - chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount())); - chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount()); + shoppingOrderRefund.setRefundCode("GWF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); + shoppingOrderRefund.setRefundTitle("后台退款"); + shoppingOrderRefund.setRefundContent("后台退款"); + shoppingOrderRefund.setRefundReason("后台退款"); + shoppingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark()); + shoppingOrderRefund.setRefundTotalAmount(shoppingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount())); + shoppingOrderRefund.setPayAmount(shoppingOrder.getPaymentAmount()); - if (1 == tChargingOrder.getPaymentType()) { + if (1 == shoppingOrder.getPaymentType()) { WxPaymentRefundModel model = new WxPaymentRefundModel(); - model.setOut_trade_no(tChargingOrder.getCode()); - model.setOut_refund_no(chargingOrderRefund.getRefundCode()); - model.setTransaction_id(tChargingOrder.getSerialNumber()); + model.setOut_trade_no(shoppingOrder.getCode()); + model.setOut_refund_no(shoppingOrderRefund.getRefundCode()); + model.setTransaction_id(shoppingOrder.getSerialNumber()); model.setReason("取消订单"); - model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund"); + model.setNotify_url("/payment/wx/refund/notify"); WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue()); - amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); + amount.setTotal(shoppingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); amount.setCurrency("CNY"); model.setAmount(amount); R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model); if (200 == orderR.getCode()) { - tChargingOrder.setRefundStatus(2); - tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - shoppingOrderService.updateById(tChargingOrder); - shoppingOrderRefundService.save(chargingOrderRefund); + shoppingOrder.setRefundStatus(2); + shoppingOrder.setRefundAmount((shoppingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : shoppingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); + shoppingOrderService.updateById(shoppingOrder); + shoppingOrderRefundService.save(shoppingOrderRefund); //手续费 Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount"); Object refund_fee1 = amount1.get("refund_fee"); BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100)); - chargingOrderRefund.setRefundFee(refund_fee); - shoppingOrderRefundService.updateById(chargingOrderRefund); + shoppingOrderRefund.setRefundFee(refund_fee); + shoppingOrderRefundService.updateById(shoppingOrderRefund); } } - if (2 == tChargingOrder.getPaymentType()) { + if (2 == shoppingOrder.getPaymentType()) { RefundReq dto = new RefundReq(); - dto.setOutTradeNo(tChargingOrder.getCode()); - dto.setOutRequestNo(tChargingOrder.getCode()); + dto.setOutTradeNo(shoppingOrder.getCode()); + dto.setOutRequestNo(shoppingOrder.getCode()); dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString()); dto.setRefundReason("取消订单"); RefundResp resp = aliPaymentClient.refund(dto).getData(); if (null != resp) { - tChargingOrder.setRefundStatus(2); - tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - shoppingOrderService.updateById(tChargingOrder); - shoppingOrderRefundService.save(chargingOrderRefund); + shoppingOrder.setRefundStatus(2); + shoppingOrder.setRefundAmount((shoppingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : shoppingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); + shoppingOrderService.updateById(shoppingOrder); + shoppingOrderRefundService.save(shoppingOrderRefund); } } // if(3 == tChargingOrder.getPaymentType()){ @@ -3044,65 +3044,65 @@ } if (payOrderQueryDto.getType() == 3) { - TVipOrder tChargingOrder = vipOrderService.getById(payOrderQueryDto.getOrderId()); - if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) { + TVipOrder vipOrder = vipOrderService.getById(payOrderQueryDto.getOrderId()); + if (vipOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) { return R.fail("退款金额需小于支付金额"); } - TVipOrderRefund chargingOrderRefund = new TVipOrderRefund(); - chargingOrderRefund.setVipOrderId(tChargingOrder.getId()); - chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); - chargingOrderRefund.setRefundStatus(1); - chargingOrderRefund.setPayType(tChargingOrder.getPaymentType()); - chargingOrderRefund.setRefundTime(LocalDateTime.now()); - chargingOrderRefund.setCode(tChargingOrder.getCode()); + TVipOrderRefund vipOrderRefund = new TVipOrderRefund(); + vipOrderRefund.setVipOrderId(vipOrder.getId()); + vipOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount()); + vipOrderRefund.setRefundStatus(1); + vipOrderRefund.setPayType(vipOrder.getPaymentType()); + vipOrderRefund.setRefundTime(LocalDateTime.now()); + vipOrderRefund.setCode(vipOrder.getCode()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); - chargingOrderRefund.setRefundTitle("后台退款"); - chargingOrderRefund.setRefundContent("后台退款"); - chargingOrderRefund.setRefundReason("后台退款"); - chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark()); - chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount())); - chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount()); + vipOrderRefund.setRefundCode("HYF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue())); + vipOrderRefund.setRefundTitle("后台退款"); + vipOrderRefund.setRefundContent("后台退款"); + vipOrderRefund.setRefundReason("后台退款"); + vipOrderRefund.setRefundRemark(payOrderQueryDto.getRemark()); + vipOrderRefund.setRefundTotalAmount(vipOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount())); + vipOrderRefund.setPayAmount(vipOrder.getPaymentAmount()); - if (1 == tChargingOrder.getPaymentType()) { + if (1 == vipOrder.getPaymentType()) { WxPaymentRefundModel model = new WxPaymentRefundModel(); - model.setOut_trade_no(tChargingOrder.getCode()); - model.setOut_refund_no(chargingOrderRefund.getRefundCode()); - model.setTransaction_id(tChargingOrder.getSerialNumber()); + model.setOut_trade_no(vipOrder.getCode()); + model.setOut_refund_no(vipOrderRefund.getRefundCode()); + model.setTransaction_id(vipOrder.getSerialNumber()); model.setReason("取消订单"); - model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund"); + model.setNotify_url("/payment/wx/refund/notify"); WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount(); amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue()); - amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); + amount.setTotal(vipOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); amount.setCurrency("CNY"); model.setAmount(amount); R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model); if (200 == orderR.getCode()) { - tChargingOrder.setRefundStatus(2); - tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - vipOrderService.updateById(tChargingOrder); - vipOrderRefundService.save(chargingOrderRefund); + vipOrder.setRefundStatus(2); + vipOrder.setRefundAmount((vipOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : vipOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); + vipOrderService.updateById(vipOrder); + vipOrderRefundService.save(vipOrderRefund); //手续费 Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount"); Object refund_fee1 = amount1.get("refund_fee"); BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100)); - chargingOrderRefund.setRefundFee(refund_fee); - vipOrderRefundService.updateById(chargingOrderRefund); + vipOrderRefund.setRefundFee(refund_fee); + vipOrderRefundService.updateById(vipOrderRefund); } } - if (2 == tChargingOrder.getPaymentType()) { + if (2 == vipOrder.getPaymentType()) { RefundReq dto = new RefundReq(); - dto.setOutTradeNo(tChargingOrder.getCode()); - dto.setOutRequestNo(tChargingOrder.getCode()); + dto.setOutTradeNo(vipOrder.getCode()); + dto.setOutRequestNo(vipOrder.getCode()); dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString()); dto.setRefundReason("取消订单"); RefundResp resp = aliPaymentClient.refund(dto).getData(); if (null != resp) { - tChargingOrder.setRefundStatus(2); - tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); - vipOrderService.updateById(tChargingOrder); - vipOrderRefundService.save(chargingOrderRefund); + vipOrder.setRefundStatus(2); + vipOrder.setRefundAmount((vipOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : vipOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount())); + vipOrderService.updateById(vipOrder); + vipOrderRefundService.save(vipOrderRefund); } } // if(3 == tChargingOrder.getPaymentType()){ -- Gitblit v1.7.1