From 215fde9671b285b4f77fa3f5a669c58b74af17c8 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 24 八月 2024 18:01:08 +0800 Subject: [PATCH] 代码提交 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java index ba052cc..5312f64 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java @@ -3,6 +3,7 @@ import java.time.LocalDateTime; +import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.domain.R; @@ -18,6 +19,11 @@ import com.ruoyi.order.service.TShoppingOrderService; import com.ruoyi.other.api.feignClient.CouponClient; import com.ruoyi.other.api.feignClient.GoodsClient; +import com.ruoyi.payment.api.feignClient.AliPaymentClient; +import com.ruoyi.payment.api.feignClient.WxPaymentClient; +import com.ruoyi.payment.api.model.RefundReq; +import com.ruoyi.payment.api.model.RefundResp; +import com.ruoyi.payment.api.model.WxPaymentRefundModel; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.Api; @@ -111,6 +117,12 @@ } @Resource private TokenService tokenService; + @Resource + private AliPaymentClient aliPaymentClient; + @Resource + private WxPaymentClient wxPaymentClient; + @Resource + private AppCouponClient appCouponClient; @GetMapping("/cancelShoppingOrder") @ApiOperation(value = "取消订单", tags = {"管理后台-购物订单"}) public AjaxResult cancelShoppingOrder(String id) { @@ -123,9 +135,40 @@ switch (byId.getPaymentType()){ case 1: // 微信 + WxPaymentRefundModel wxPaymentRefundModel = new WxPaymentRefundModel(); + wxPaymentRefundModel.setTransaction_id(byId.getSerialNumber()); + wxPaymentRefundModel.setOut_trade_no(byId.getCode()); + wxPaymentRefundModel.setOut_refund_no(OrderCodeUtil.getOrderCode("GW")); + // todo 部署到线上之后写回调地址 +// wxPaymentRefundModel.setNotify_url(""); + String string = byId.getPaymentAmount().multiply(new BigDecimal("100")).toString(); + int i = Integer.parseInt(string); + WxPaymentRefundModel.RefundAmount refundAmount = new WxPaymentRefundModel.RefundAmount(); + refundAmount.setTotal(i); + refundAmount.setRefund(i); + wxPaymentRefundModel.setAmount(refundAmount); + wxPaymentClient.refundOrderR(wxPaymentRefundModel); break; case 2: // 支付宝 + RefundReq refundReq = new RefundReq(); + refundReq.setOutTradeNo(byId.getSerialNumber()); + String gw = OrderCodeUtil.getOrderCode("GW"); + refundReq.setOutRequestNo(gw); + refundReq.setRefundAmount(byId.getPaymentAmount().toString()); + refundReq.setRefundReason("后台退款"); + RefundResp data = aliPaymentClient.refund(refundReq).getData(); + if (data!=null){ + // 退款成功 回退优惠券 +// byId.setStatus(4); + if (byId.getAppCouponId()!=null){ + appCouponClient.refund(byId.getAppCouponId().toString()); + byId.setRefundCode(gw); + byId.setRefundAmount(byId.getPaymentAmount()); + byId.setRefundStatus(2); + byId.setRefundSerialNumber(data.getTradeNo()); + } + } break; } shoppingOrderService.updateById(byId); -- Gitblit v1.7.1