From 26a2026e45a11fa094b16326a0fffb1bb7b3d52c Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 26 八月 2024 17:58:18 +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