From 7fd053651ac11db87fe4f6c57e65eed3b9a59452 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 23 七月 2025 10:47:24 +0800
Subject: [PATCH] yml活动管理代码

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java |   91 ++++++++++++++++++++++++++-------------------
 1 files changed, 52 insertions(+), 39 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java
index 5b6e1fd..8b3dbc9 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java
@@ -20,6 +20,7 @@
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -34,7 +35,7 @@
 
 /**
  * <p>
- *  微信回调
+ * 微信回调
  * </p>
  *
  * @author 无关风月
@@ -59,22 +60,41 @@
     private WechatPayService wechatPayService;
     @Resource
     private TServicePayService servicePayService;
+
     @ResponseBody
     @PostMapping("/integralCallback")
-    public void integralCallback(HttpServletRequest request, HttpServletResponse response){
-        System.err.println("积分充值回调");
-        PayResult payResult= null;
-        try {
-            payResult = wechatPayService.processNotify(request);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
+    public R integralCallback(HttpServletRequest request, String r2_OrderNo) {
+//        System.err.println("积分充值回调");
+//        PayResult payResult= null;
+//        try {
+//            payResult = wechatPayService.processNotify(request);
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+        System.err.println("======积分充值回调");
+        System.err.println("======积分充值回调单号" + r2_OrderNo);
+        System.err.println("请求" + request.getParameterMap());
+        Map<String, String[]> parameterMap = request.getParameterMap();
+        String r6Status = request.getParameter("r6_Status");
+        if (org.springframework.util.StringUtils.hasLength(r6Status)) {
+            if (r6Status.equals("101")) {
+                return R.fail("支付失败");
+            }
         }
-        IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, payResult.getOrderNumber()).one();
-        if (integralPay != null && integralPay.getPayStatus() == 1){
+        // 循环打印
+        for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
+            String key = entry.getKey();
+            String[] values = entry.getValue();
+            for (String value : values) {
+                System.err.println("======回调开始" + key + ":" + value);
+            }
+        }
+        IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, r2_OrderNo).one();
+        if (integralPay != null && integralPay.getPayStatus() == 1) {
             SysUser data = sysUserClient.getSysUser(integralPay.getUserId()).getData();
             integralPay.setPayStatus(2);
             integralPay.setPayTime(LocalDateTime.now());
-            integralPay.setOrderNumber(payResult.getTransactionId());
+//            integralPay.setOrderNumber(payResult.getTransactionId());
             integralPayService.updateById(integralPay);
             IntegralRecord integralRecord = new IntegralRecord();
             integralRecord.setPayId(integralPay.getId());
@@ -85,42 +105,36 @@
             integralRecord.setDelFlag(0);
             integralRecord.setCreateTime(LocalDateTime.now());
             integralRecordService.save(integralRecord);
-            data.setIntegral(data.getIntegral()+integralPay.getIntegralCount());
+            data.setIntegral(data.getIntegral() + integralPay.getIntegralCount());
             sysUserClient.updateSysUser(data);
+            return R.ok(null, "success");
         }
-            response.setStatus(200);
-            PrintWriter out = null;
-            try {
-                out = response.getWriter();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-            out.println("success");
-            out.flush();
-            out.close();
+        return R.ok(null, "error");
+
     }
+
     @ResponseBody
     @PostMapping("/serviceCallback")
-    public void serviceCallback(HttpServletRequest request, HttpServletResponse response){
+    public void serviceCallback(HttpServletRequest request, HttpServletResponse response) {
         System.err.println("服务费缴纳回调");
-        PayResult payResult= null;
+        PayResult payResult = null;
         try {
             payResult = wechatPayService.processNotify(request);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
         ServicePay servicePay = servicePayService.lambdaQuery().eq(ServicePay::getCode, payResult.getOrderNumber()).one();
-        if (servicePay != null && servicePay.getPayStatus() == 1){
+        if (servicePay != null && servicePay.getPayStatus() == 1) {
             servicePay.setPayStatus(2);
             ServicePay servicePayBefore = servicePayService.lambdaQuery()
                     .eq(ServicePay::getUserId, servicePay.getUserId())
-                    .eq(ServicePay::getPayStatus,2)
+                    .eq(ServicePay::getPayStatus, 2)
                     .orderByDesc(ServicePay::getCreateTime)
                     .last("limit 1")
                     .one();
-            if (servicePayBefore!=null){
+            if (servicePayBefore != null) {
                 servicePay.setEndTime(servicePayBefore.getEndTime().plusDays(365));
-            }else{
+            } else {
                 servicePay.setEndTime(LocalDateTime.now().plusDays(365));
 
             }
@@ -130,18 +144,17 @@
             servicePay.setOrderNumber(payResult.getTransactionId());
             servicePayService.updateById(servicePay);
         }
-            response.setStatus(200);
-            PrintWriter out = null;
-            try {
-                out = response.getWriter();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-            out.println("success");
-            out.flush();
-            out.close();
+        response.setStatus(200);
+        PrintWriter out = null;
+        try {
+            out = response.getWriter();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        out.println("success");
+        out.flush();
+        out.close();
     }
-
 
 
 }

--
Gitblit v1.7.1