无关风月
2025-07-23 7fd053651ac11db87fe4f6c57e65eed3b9a59452
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;
@@ -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();
        }
        // 循环打印
        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());
@@ -87,18 +107,12 @@
            integralRecordService.save(integralRecord);
            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);
        return R.ok(null, "error");
            }
            out.println("success");
            out.flush();
            out.close();
    }
    @ResponseBody
    @PostMapping("/serviceCallback")
    public void serviceCallback(HttpServletRequest request, HttpServletResponse response){
@@ -141,7 +155,6 @@
            out.flush();
            out.close();
    }
}