From b51f6f0d5564b843aeb11f088873faa5aa2116ce Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Jun 2026 22:22:54 +0800
Subject: [PATCH] feat(mall): 为订单支付流程添加订单号生成和更新功能

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java |   76 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index 6e9323a..76e08b9 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -1,13 +1,18 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.annotation.ControllerEndpoint;
+import cc.mrbird.febs.common.controller.BaseController;
 import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.AppContants;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.entity.MallCountryDelivery;
+import cc.mrbird.febs.mall.entity.MallNewsInfo;
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.service.ICommonService;
+import cc.mrbird.febs.mall.service.IMallCountryDeliveryService;
 import cc.mrbird.febs.mall.service.ISystemService;
 import cc.mrbird.febs.pay.model.HeaderDto;
 import cc.mrbird.febs.pay.service.WxFaPiaoService;
@@ -23,9 +28,12 @@
 import org.apache.commons.httpclient.methods.StringRequestEntity;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.IOException;
@@ -34,6 +42,7 @@
 import java.security.NoSuchAlgorithmException;
 import java.security.PrivateKey;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -42,7 +51,7 @@
 @RestController
 @RequiredArgsConstructor
 @RequestMapping(value = "/admin/system")
-public class AdminSystemController {
+public class AdminSystemController extends BaseController {
 
     @Autowired
     private ISystemService systemService;
@@ -50,6 +59,7 @@
     private final ICommonService commonService;
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final WxFaPiaoService wxFaPiaoService;
+    private final IMallCountryDeliveryService countryDeliveryService;
 
     @PostMapping(value = "/bonusSystemSetting")
     public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
@@ -96,6 +106,7 @@
         }
         commonService.addDataDic("TOKENVIEW_CONFIG", "WEBHOOK_SECRET", dto.getWebhookSecret(), "Tokenview Webhook签名密钥", false);
         commonService.addDataDic("TOKENVIEW_CONFIG", "TRC20_USDT_ADDRESS", dto.getTrc20UsdtAddress(), "TRC20 USDT收款地址", false);
+        commonService.addDataDic("SALES_SERVICE", "TRC_ADDRESS", dto.getTrc20UsdtAddress(), "TRC20 USDT收款地址", false);
         return new FebsResponse().success().message("保存成功");
     }
 
@@ -125,6 +136,69 @@
         return new FebsResponse().success().message("保存成功");
     }
 
+    @GetMapping(value = "/moneyChangeList")
+    public FebsResponse moneyChangeList() {
+        List<DataDictionaryCustom> list = dataDictionaryCustomMapper.selectDicByType("MONEY_CHANGE");
+        Map<String, Object> data = new HashMap<>();
+        data.put("rows", list);
+        data.put("total", list.size());
+        return new FebsResponse().success().data(data);
+    }
+
+    @PostMapping(value = "/moneyChangeSave")
+    @ControllerEndpoint(operation = "保存汇率配置")
+    public FebsResponse moneyChangeSave(@RequestParam Map<String, String> params) {
+        String id = params.get("id");
+        String code = params.get("code");
+        String value = params.get("value");
+        String description = params.get("description");
+
+        if (StrUtil.isBlank(code)) return new FebsResponse().fail().message("货币编码不能为空");
+        if (StrUtil.isBlank(value)) return new FebsResponse().fail().message("汇率不能为空");
+        if (StrUtil.isBlank(description)) return new FebsResponse().fail().message("符号不能为空");
+
+        code = code.toUpperCase();
+
+        // 编辑模式:先删旧记录
+        if (StrUtil.isNotBlank(id)) {
+            dataDictionaryCustomMapper.deleteById(Long.valueOf(id));
+        }
+
+        // 检查编码是否已存在(避免重复)
+        DataDictionaryCustom exist = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("MONEY_CHANGE", code);
+        if (exist != null) {
+            return new FebsResponse().fail().message("货币编码 " + code + " 已存在");
+        }
+
+        commonService.addDataDic("MONEY_CHANGE", code, value, description, false);
+        return new FebsResponse().success().message("保存成功");
+    }
+
+    @GetMapping(value = "/moneyChangeDelete/{id}")
+    @ControllerEndpoint(operation = "删除汇率配置")
+    public FebsResponse moneyChangeDelete(@PathVariable Long id) {
+        dataDictionaryCustomMapper.deleteById(id);
+        return new FebsResponse().success().message("删除成功");
+    }
+
+    @GetMapping("countryDeliveryList")
+    public FebsResponse countryDeliveryList(MallCountryDelivery dto, QueryRequest request) {
+        Map<String, Object> data = getDataTable(countryDeliveryService.countryDeliveryList(dto, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    @PostMapping(value = "/countryDeliverySave")
+    @ControllerEndpoint(operation = "保存国家运费配置")
+    public FebsResponse countryDeliverySave(@Validated CountryDeliveryDto dto) {
+        return countryDeliveryService.saveOrUpdate(dto);
+    }
+
+    @GetMapping(value = "/countryDeliveryDelete/{id}")
+    @ControllerEndpoint(operation = "删除国家运费配置")
+    public FebsResponse countryDeliveryDelete(@PathVariable Long id) {
+        return countryDeliveryService.delete(id);
+    }
+
     @PostMapping(value = "/agentAmountSetSetting")
     public FebsResponse agentAmountSetSetting(AdminAgentAmountDto adminAgentAmountDto) {
         DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(

--
Gitblit v1.9.1