支付订单处理
This commit is contained in:
parent
944d1b953b
commit
70046aacbc
|
|
@ -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("订单支付信息不存在");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue