From 70046aacbc6b2300c601fbe94e1ff14d09df6b24 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Tue, 19 Aug 2025 16:40:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/app/WuyouController.java | 55 ++++++++++++------- 1 file changed, 36 insertions(+), 19 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 16fb669d..d5c7fcf6 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 @@ -81,8 +81,8 @@ public class WuyouController { @ApiOperation("支付订单") @Login @GetMapping("/payOrder/{orderId}") - public Result payOrder(HttpServletRequest request,@RequestAttribute("userId") Long userId, @PathVariable("orderId") Long orderId, @RequestParam(value = "payType", required = false) String payType) { - Orders order = ordersService.getById(orderId,userId); + public Result payOrder(HttpServletRequest request, @RequestAttribute("userId") Long userId, @PathVariable("orderId") Long orderId, @RequestParam(value = "payType", required = false) String payType) { + Orders order = ordersService.getById(orderId, userId); if (order == null) { return Result.error("订单不存在"); } @@ -120,39 +120,56 @@ public class WuyouController { return Result.success().put("data", data); } - BaseResp baseResp = wuyouPay.payOrder(payDetails.getTradeNo(), order.getUserId(), order.getPayMoney().toString(), - request.getHeader("User-Agent"), String.format("%d-%d", order.getCourseId(), order.getCourseDetailsId()), - payType); - if (baseResp.getCode() == null) { - if (baseResp.getErrorMsg().contains("通道拥挤")) { + try { + BaseResp baseResp = wuyouPay.payOrder(payDetails.getTradeNo(), order.getUserId(), order.getPayMoney().toString(), + request.getHeader("User-Agent"), String.format("%d-%d", order.getCourseId(), order.getCourseDetailsId()), + payType); + if (baseResp.getCode() == null) { + log.error("无忧支付失败:{}", JSONObject.toJSONString(baseResp)); + String errMsg = "系统繁忙,请稍后再尝试购买"; order.setStatus(3); + payDetails.setState(2); + if (baseResp.getErrorMsg().contains("通道拥挤")) { + payDetails.setRemark("通道拥挤"); + } else { + errMsg = baseResp.getErrorMsg(); + payDetails.setRemark(errMsg); + } ordersService.update(order, new LambdaQueryWrapper() .eq(Orders::getOrdersId, order.getOrdersId()).eq(Orders::getUserId, order.getUserId())); - - payDetails.setState(2); payDetailsDao.update(payDetails, new LambdaQueryWrapper() .eq(PayDetails::getId, payDetails.getId()).eq(PayDetails::getUserId, payDetails.getUserId())); - return Result.error("系统繁忙,请稍后再尝试购买"); + return Result.error(errMsg); + } + if (baseResp.getCode() != 200) { + return Result.error(baseResp.getMsg()); } - return Result.error(baseResp.getErrorMsg()); - } - if (baseResp.getCode() != 200) { - return Result.error(baseResp.getMsg()); - } - return Result.success().put("data", baseResp.getData()); + return Result.success().put("data", baseResp.getData()); + } catch (Exception e) { + log.error("无忧支付异常:{}", e.getMessage()); + + order.setStatus(3); + payDetails.setState(2); + payDetails.setRemark(e.getMessage()); + ordersService.update(order, new LambdaQueryWrapper() + .eq(Orders::getOrdersId, order.getOrdersId()).eq(Orders::getUserId, order.getUserId())); + payDetailsDao.update(payDetails, new LambdaQueryWrapper() + .eq(PayDetails::getId, payDetails.getId()).eq(PayDetails::getUserId, payDetails.getUserId())); + return Result.error("支付失败请稍后再试"); + } } @ApiOperation("查询订单支付结果") @Login @GetMapping("/queryOrder/{orderId}") - public Result queryOrder(HttpServletRequest request,@RequestAttribute("userId") Long userId, @PathVariable("orderId") Long orderId) { - Orders order = ordersService.getById(orderId,userId); + public Result queryOrder(HttpServletRequest request, @RequestAttribute("userId") Long userId, @PathVariable("orderId") Long orderId) { + Orders order = ordersService.getById(orderId, userId); if (order == null) { return Result.error("订单不存在"); } - PayDetails payDetails = payDetailsDao.selectByOrderIdAndUserId(order.getOrdersNo(),userId); + PayDetails payDetails = payDetailsDao.selectByOrderIdAndUserId(order.getOrdersNo(), userId); if (payDetails == null) { return Result.error("订单支付信息不存在"); }