From d739eef7afbad5c35c80539ca3933a39a1e3f8e1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期日, 10 八月 2025 20:16:52 +0800 Subject: [PATCH] 小程序积分支付 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/WXCallBackController.java | 51 +++++++++++++++++++++++++-------------------------- 1 files changed, 25 insertions(+), 26 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 8a5e3e9..34c3034 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 @@ -1,5 +1,6 @@ package com.ruoyi.other.controller; +import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; @@ -26,11 +27,13 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; +import java.util.HashMap; import java.util.Map; /** @@ -63,38 +66,34 @@ @ResponseBody @PostMapping("/integralCallback") - 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("支付失败"); - } + public R integralCallback(HttpServletRequest request) throws IOException { + System.err.println("积分充值回调"); + Map<String, String> params = new HashMap<String, String>(); + System.err.println("请求"+request); + BufferedReader reader = request.getReader(); + String string1 = reader.toString(); + System.err.println("请求reader"+string1); + StringBuilder requestBody = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + requestBody.append(line); } - // 循环打印 - 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); - } + System.err.println("全部请求体"+requestBody); + JSONObject jsonObject = JSONObject.parseObject(requestBody.toString()); + JSONObject resp_data = jsonObject.getJSONObject("resp_data"); + String string = resp_data.getString("trans_stat"); + if (!string.equals("S")){ + return R.ok(); } - IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, r2_OrderNo).one(); + String req_seq_id = resp_data.getString("req_seq_id"); + String hf_seq_id = resp_data.getString("hf_seq_id"); + IntegralPay integralPay = integralPayService.lambdaQuery().eq(IntegralPay::getCode, req_seq_id).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(hf_seq_id); integralPayService.updateById(integralPay); IntegralRecord integralRecord = new IntegralRecord(); integralRecord.setPayId(integralPay.getId()); -- Gitblit v1.7.1