From 8748b9ca3e0528824e2ab52682cbf7d5db6ed8f6 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 04 十二月 2025 14:05:50 +0800
Subject: [PATCH] 小程序支付
---
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java | 46 +++++++++++++++++++++++++++++-----------------
1 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
index 23e68d7..594fa68 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.ImmutableMap;
-import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.OrderNos;
@@ -11,18 +10,16 @@
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TCourseOrder;
-import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.query.CourseOrderListQuery;
import com.ruoyi.system.query.GetCourseListQuery;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.service.TCourseOrderService;
import com.ruoyi.system.service.TCourseService;
-import com.ruoyi.system.service.TEmploymentInfoService;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.OrderJob;
import com.ruoyi.system.wxPay.model.WeixinPayProperties;
-import com.ruoyi.system.wxPay.model.WxPaymentRefundModel;
+import com.ruoyi.system.wxPay.utils.WxRefundUtil;
import com.ruoyi.system.wxPay.utils.WxV3Pay;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -165,6 +162,10 @@
// return R.fail("无权限操作");
// }
courseOrder1.setOrderNumber(OrderNos.getDid());
+ courseOrder1.setRealName(courseOrder.getRealName());
+ courseOrder1.setUserPhone(courseOrder.getUserPhone());
+ courseOrder1.setIdCard(courseOrder.getIdCard());
+
courseOrderService.updateById(courseOrder1);
Map<String, Object> result = wxV3Pay.jsApi(courseOrder1.getOrderNumber(), courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).longValue(), "oz71-1_OevadwmESB_IFAW7PucWY","购买课程","");
return R.ok(result);
@@ -178,7 +179,7 @@
TCourseOrder courseOrder1 = courseOrderService.getById(courseOrder.getId());
courseOrder1.setRefundReason(courseOrder.getRefundReason());
courseOrder1.setRefundReasonPictures(courseOrder.getRefundReasonPictures());
- courseOrder1.setPayStatus(6);
+
courseOrder1.setRequestRefundTime(LocalDateTime.now());
courseOrder1.setRefundMoney(courseOrder1.getPayMoney());
@@ -188,6 +189,7 @@
if(courseOrder1.getPayStatus()!=2){
return R.fail("状态不允许退款");
}
+ courseOrder1.setPayStatus(6);
LocalDateTime payTime = courseOrder1.getPayTime();
if(payTime==null){
return R.fail("状态不允许退款");
@@ -199,19 +201,29 @@
courseOrder1.setRefundStatus(1);
courseOrderService.updateById(courseOrder1);
}else {
- WxPaymentRefundModel refundModel = new WxPaymentRefundModel();
- refundModel.setSub_mchid(weixinPayProperties.getMchId());
- refundModel.setSp_appid(weixinPayProperties.getAppId());
- refundModel.setTransaction_id(courseOrder1.getTransactionId());
- refundModel.setOut_trade_no(courseOrder1.getOrderNumber());
- refundModel.setOut_refund_no(OrderNos.getDid());
- refundModel.setReason(courseOrder1.getRefundReason());
- refundModel.setNotify_url("");
- refundModel.setFunds_account("AVAILABLE");
- refundModel.setAmount(new WxPaymentRefundModel.RefundAmount(courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue(), "CNY", courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue()));
- Map<String, Object> refund = wxV3Pay.refund(refundModel);
-
+ String outRefundNo = OrderNos.getDid();
+ courseOrder1.setRefundNumber(outRefundNo);
+ courseOrderService.updateById(courseOrder1);
+// WxPaymentRefundModel refundModel = new WxPaymentRefundModel();
+//// refundModel.setSub_mchid(weixinPayProperties.getMchId());
+//// refundModel.setSp_appid(weixinPayProperties.getAppId());
+//// refundModel.setTransaction_id(courseOrder1.getTransactionId());
+// refundModel.setOut_trade_no(courseOrder1.getOrderNumber());
+// refundModel.setOut_refund_no(OrderNos.getDid());
+// refundModel.setReason(courseOrder1.getRefundReason());
+// refundModel.setGoods_detail(new ArrayList<>());
+// refundModel.setAmount(new WxPaymentRefundModel.RefundAmount(courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue(), "CNY", courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue()));
+// Map<String, Object> refund = wxV3Pay.refund(refundModel);
+// System.out.println(refund);
+ String result = wxRefundUtil.refund(courseOrder1.getPayMoney().multiply(BigDecimal.valueOf(100)).intValue(), courseOrder1.getOrderNumber(),outRefundNo);
+ if(result!=null){
+ return R.fail(result);
+ }
}
return R.ok();
}
+
+ @Autowired
+ private WxRefundUtil wxRefundUtil;
+
}
--
Gitblit v1.7.1