From cf8dc9ea458b5efc54d6d6d9d8e89db49ca6cf0f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Jun 2026 22:02:11 +0800
Subject: [PATCH] feat(system): 添加汇率配置管理功能
---
src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java | 92 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 73 insertions(+), 19 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
index 6eb09d3..37cc3cd 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
@@ -3,9 +3,13 @@
import cc.mrbird.febs.common.annotation.Limit;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.LimitType;
+import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
+import cc.mrbird.febs.common.utils.ValidateEntityUtils;
+import cc.mrbird.febs.mall.controller.dependentStation.constant.OrderConstants;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
+import cc.mrbird.febs.mall.service.IMallCountryDeliveryService;
import cc.mrbird.febs.mall.vo.ApiOrderPayVo;
import cc.mrbird.febs.mall.vo.OrderDetailVo;
import cc.mrbird.febs.mall.vo.OrderListVo;
@@ -40,6 +44,7 @@
private final IApiMallOrderInfoService mallOrderInfoService;
private final IXcxPayService iXcxPayService;
private final LwPayService lwPayService;
+ private final IMallCountryDeliveryService countryDeliveryService;
@ApiOperation(value = "创建订单--验证是否允许创建", notes = "创建订单--验证是否允许创建")
@PostMapping(value = "/createOrderVerify")
@@ -190,27 +195,67 @@
// 2. 获取订单详情
MallOrderInfo order = mallOrderInfoService.getById(orderId);
- if (order == null) {
- return new FebsResponse().fail().message("订单创建失败");
- }
+ if (order != null
+ && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus()
+ ){
+ // 3. 调用 LWPAY 代收接口
+ try {
+ String payUrl = lwPayService.createPayment(
+ order,
+ lwPayDto.getBankCode(),
+ lwPayDto.getNetwork()
+ );
- // 3. 调用 LWPAY 代收接口
- try {
- String payUrl = lwPayService.createPayment(
- order,
- lwPayDto.getBankCode(),
- lwPayDto.getNetwork()
- );
-
- Map<String, Object> result = new HashMap<>();
- result.put("orderNo", order.getOrderNo());
- result.put("amount", order.getAmount());
- result.put("payUrl", payUrl);
- return new FebsResponse().success().data(result).message("下单成功");
- } catch (Exception e) {
- log.error("LWPAY 代收下单失败: orderId={}", orderId, e);
- return new FebsResponse().fail().message("支付通道异常: " + e.getMessage());
+ Map<String, Object> result = new HashMap<>();
+ result.put("orderNo", order.getOrderNo());
+ result.put("amount", order.getAmount());
+ result.put("payUrl", payUrl);
+ return new FebsResponse().success().data(result);
+ } catch (Exception e) {
+ log.error("LWPAY 代收下单失败: orderId={}", orderId, e);
+ return new FebsResponse().fail().message("Payment channel exception: " + e.getMessage());
+ }
}
+ return new FebsResponse().fail().message("Payment channel exception");
+ }
+
+
+
+
+ @ApiOperation(value = "LWPAY支付", notes = "LWPAY支付")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiOrderPayVo.class)
+ })
+ @PostMapping(value = "/payOrderByLwPay", produces = "application/json")
+ public FebsResponse payOrderByLwPay(@RequestBody @Validated ApiOrderPayDto payDto) {
+
+ Long orderId = payDto.getOrderId();
+ Integer payType = payDto.getPayType();
+ // 2. 获取订单详情
+ MallOrderInfo order = mallOrderInfoService.getById(orderId);
+ if (order != null
+ && OrderConstants.PAY_TYPE_SYSTEM == payType
+ && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus()
+ ){
+ // 3. 调用 LWPAY 代收接口
+ try {
+ String payUrl = lwPayService.createPayment(
+ order,
+ "967",
+ null
+ );
+
+ Map<String, Object> result = new HashMap<>();
+ result.put("orderNo", order.getOrderNo());
+ result.put("amount", order.getAmount());
+ result.put("payUrl", payUrl);
+ return new FebsResponse().success().data(result).message("下单成功");
+ } catch (Exception e) {
+ log.error("LWPAY 代收下单失败: orderId={}", orderId, e);
+ return new FebsResponse().fail().message("Payment channel exception: " + e.getMessage());
+ }
+ }
+ return new FebsResponse().fail().message("Payment channel exception");
}
/**
@@ -254,4 +299,13 @@
return "redirect:/pages/payResult?orderNo=" + orderId + "&code=" + returncode;
}
+ @ApiOperation(value = "根据国家编码查询运费", notes = "根据国家编码查询对应运费")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success")
+ })
+ @GetMapping(value = "/getShippingFee")
+ public FebsResponse getShippingFee(@RequestParam String countryCode) {
+ return countryDeliveryService.getShippingFeeByCountryCode(countryCode);
+ }
+
}
--
Gitblit v1.9.1