支付订单处理

This commit is contained in:
GYJ 2025-08-19 16:40:58 +08:00
parent 944d1b953b
commit 70046aacbc
1 changed files with 36 additions and 19 deletions

View File

@ -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<Orders>()
.eq(Orders::getOrdersId, order.getOrdersId()).eq(Orders::getUserId, order.getUserId()));
payDetails.setState(2);
payDetailsDao.update(payDetails, new LambdaQueryWrapper<PayDetails>()
.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<Orders>()
.eq(Orders::getOrdersId, order.getOrdersId()).eq(Orders::getUserId, order.getUserId()));
payDetailsDao.update(payDetails, new LambdaQueryWrapper<PayDetails>()
.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("订单支付信息不存在");
}