From 79bc357bb15c342fc306c6ff24099e147f1f1561 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Sun, 5 Jan 2025 17:02:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E4=B8=89=E6=96=B9=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=9B=9E=E8=B0=83=20=E5=BC=82=E5=B8=B8=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/app/WuyouController.java | 86 ++++++++++--------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java index 2f84fadd..3f54c028 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java @@ -183,50 +183,54 @@ public class WuyouController { @PostMapping("/notify") public String notify(HttpServletRequest request, NotifyDto notifyDto) { - log.info("无忧支付回调, {}", notifyDto); - Map params = new HashMap<>(); - params.put("callbacks", notifyDto.getCallbacks()); - params.put("total", notifyDto.getTotal()); - params.put("out_trade_no", notifyDto.getOut_trade_no()); - params.put("pay_time", notifyDto.getPay_time()); + try { + log.info("无忧支付回调, {}", notifyDto); + Map params = new HashMap<>(); + params.put("callbacks", notifyDto.getCallbacks()); + params.put("total", notifyDto.getTotal()); + params.put("out_trade_no", notifyDto.getOut_trade_no()); + params.put("pay_time", notifyDto.getPay_time()); - String sign = Encrypt.getParamsSign(params); - if (!sign.equals(notifyDto.getSign())) { - log.error("无忧支付回调签名错误, 参数: {},签名结果:{}", JSONObject.toJSONString(notifyDto), sign); + String sign = Encrypt.getParamsSign(params); + if (!sign.equals(notifyDto.getSign())) { + log.error("无忧支付回调签名错误, 参数: {},签名结果:{}", JSONObject.toJSONString(notifyDto), sign); // return "签名错误"; + } + + if (!"CODE_SUCCESS".equals(notifyDto.getCallbacks())) { + log.error("无忧支付回调 未支付成功, 参数: {}", JSONObject.toJSONString(notifyDto)); + return "success"; + } + + log.info("无忧支付回调成功, 参数: {}", JSONObject.toJSONString(notifyDto)); + + PayDetails payDetails = payDetailsDao.selectByTradeNo(notifyDto.getOut_trade_no()); + if (payDetails == null) { + log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto)); + return "success"; + } + + if (payDetails.getState() == 1) { + log.info("重复回调!参数: {}", JSONObject.toJSONString(notifyDto)); + return "success"; + } + + Orders order = ordersService.selectOrderByOrdersNo(payDetails.getOrderId()); + if (order == null) { + log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto)); + return "订单不存在"; + } + + if (order.getStatus() != 0) { + log.error("无忧支付回调订单已支付, 参数: {}", JSONObject.toJSONString(notifyDto)); + return "订单已支付"; + } + + payDetails.setThirdOrderNo(notifyDto.getOrder_sn()); + ordersTask.updateOrderStatus(payDetails, order); + } catch (Exception e) { + log.error("无忧支付回调异常, 参数: {}", JSONObject.toJSONString(notifyDto), e); } - - if (!"CODE_SUCCESS".equals(notifyDto.getCallbacks())) { - log.error("无忧支付回调 未支付成功, 参数: {}", JSONObject.toJSONString(notifyDto)); - return "success"; - } - - log.info("无忧支付回调成功, 参数: {}", JSONObject.toJSONString(notifyDto)); - - PayDetails payDetails = payDetailsDao.selectByTradeNo(notifyDto.getOut_trade_no()); - if (payDetails == null) { - log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto)); - return "success"; - } - - if (payDetails.getState() == 1) { - log.info("重复回调!参数: {}", JSONObject.toJSONString(notifyDto)); - return "success"; - } - - Orders order = ordersService.selectOrderByOrdersNo(payDetails.getOrderId()); - if (order == null) { - log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto)); - return "订单不存在"; - } - - if (order.getStatus() != 0) { - log.error("无忧支付回调订单已支付, 参数: {}", JSONObject.toJSONString(notifyDto)); - return "订单已支付"; - } - - payDetails.setThirdOrderNo(notifyDto.getOrder_sn()); - ordersTask.updateOrderStatus(payDetails, order); return "success"; }