| | |
| | | return new FebsResponse().success().data(iXcxPayService.getTemplateId()); |
| | | } |
| | | |
| | | // ==================== XT 支付 ==================== |
| | | |
| | | /** |
| | | * 创建订单并通过 XT 支付 |
| | | * <p> |
| | | * 流程:创建订单 → 通过 XT 支付链接 |
| | | * <p> |
| | | */ |
| | | @ApiOperation(value = "创建订单-XT支付", notes = "创建订单并返回XT支付") |
| | | @PostMapping(value = "/createOrderByXtPay") |
| | | @Limit(key = "createOrderByXtPay", period = 1, count = 1, name = "XT下单", prefix = "limit", limitType = LimitType.IP) |
| | | public FebsResponse createOrderByXtPay(@RequestBody @Validated XtPayCreateOrderDto lwPayDto) { |
| | | // 1. 创建订单 |
| | | AddOrderDto addOrderDto = lwPayDto.getOrder(); |
| | | Long orderId = mallOrderInfoService.createOrder(addOrderDto); |
| | | |
| | | // 2. 获取订单详情 |
| | | MallOrderInfo order = mallOrderInfoService.getById(orderId); |
| | | if (order != null |
| | | && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus() |
| | | ){ |
| | | return mallOrderInfoService.createOrderByXtPay(); |
| | | } |
| | | return new FebsResponse().fail().message("Payment channel exception"); |
| | | } |
| | | |
| | | @ApiOperation(value = "XT支付", notes = "XT支付") |
| | | @PostMapping(value = "/payOrderByXtPay", produces = "application/json") |
| | | public FebsResponse payOrderByXtPay(@RequestBody @Validated ApiOrderPayDto payDto) { |
| | | |
| | | Long orderId = payDto.getOrderId(); |
| | | Integer payType = payDto.getPayType(); |
| | | // 2. 获取订单详情 |
| | | MallOrderInfo order = mallOrderInfoService.getById(orderId); |
| | | if (order != null |
| | | && OrderConstants.PAY_TYPE_XT == payType |
| | | && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus() |
| | | ){ |
| | | return mallOrderInfoService.createOrderByXtPay(); |
| | | } |
| | | return new FebsResponse().fail().message("Payment channel exception"); |
| | | } |
| | | |
| | | // ==================== LWPAY 支付 ==================== |
| | | |
| | | /** |
| | |
| | | result.put("orderNo", order.getOrderNo()); |
| | | result.put("amount", order.getAmount()); |
| | | result.put("payUrl", payUrl); |
| | | return new FebsResponse().success().data(result).message("下单成功"); |
| | | return new FebsResponse().success().data(result).message("success"); |
| | | } catch (Exception e) { |
| | | log.error("LWPAY 代收下单失败: orderId={}", orderId, e); |
| | | return new FebsResponse().fail().message("Payment channel exception: " + e.getMessage()); |