From 17e7cde3be486d840887de6ecb9a8b05486e19aa Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 23 Jun 2026 10:19:44 +0800
Subject: [PATCH] feat(admin): 优化国家运费配置管理功能
---
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 92 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 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 3f9d310..7432165 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -1,17 +1,23 @@
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;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -22,6 +28,8 @@
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;
@@ -41,7 +49,7 @@
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/admin/system")
-public class AdminSystemController {
+public class AdminSystemController extends BaseController {
@Autowired
private ISystemService systemService;
@@ -49,6 +57,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) {
@@ -62,6 +71,87 @@
return new FebsResponse().success();
}
+ @PostMapping(value = "/lwPayConfig")
+ @ControllerEndpoint(operation = "保存LWPAY配置")
+ public FebsResponse lwPayConfig(LwPayConfigDto dto) {
+ if (StrUtil.isBlank(dto.getMemberId())) {
+ return new FebsResponse().fail().message("商户号不能为空");
+ }
+ if (StrUtil.isBlank(dto.getSecretKey())) {
+ return new FebsResponse().fail().message("签名密钥不能为空");
+ }
+ if (StrUtil.isBlank(dto.getNotifyUrl())) {
+ return new FebsResponse().fail().message("回调地址不能为空");
+ }
+ if (StrUtil.isBlank(dto.getReturnUrl())) {
+ return new FebsResponse().fail().message("跳转地址不能为空");
+ }
+ commonService.addDataDic("LWPAY_CONFIG", "MEMBER_ID", dto.getMemberId(), "LWPAY商户号", false);
+ commonService.addDataDic("LWPAY_CONFIG", "SECRET_KEY", dto.getSecretKey(), "LWPAY签名密钥", false);
+ commonService.addDataDic("LWPAY_CONFIG", "NOTIFY_URL", dto.getNotifyUrl(), "LWPAY异步回调地址", false);
+ commonService.addDataDic("LWPAY_CONFIG", "RETURN_URL", dto.getReturnUrl(), "LWPAY支付完成跳转地址", false);
+ return new FebsResponse().success().message("保存成功");
+ }
+
+ @PostMapping(value = "/tokenviewConfig")
+ @ControllerEndpoint(operation = "保存Tokenview配置")
+ public FebsResponse tokenviewConfig(TokenviewConfigDto dto) {
+ if (StrUtil.isBlank(dto.getWebhookSecret())) {
+ return new FebsResponse().fail().message("签名密钥不能为空");
+ }
+ if (StrUtil.isBlank(dto.getTrc20UsdtAddress())) {
+ return new FebsResponse().fail().message("收款地址不能为空");
+ }
+ 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("保存成功");
+ }
+
+ @PostMapping(value = "/salesService")
+ @ControllerEndpoint(operation = "保存售后服务配置")
+ public FebsResponse salesService(SalesServiceDto dto) {
+ if (StrUtil.isBlank(dto.getWhatsApp())) {
+ return new FebsResponse().fail().message("WhatsApp不能为空");
+ }
+ if (StrUtil.isBlank(dto.getPhone())) {
+ return new FebsResponse().fail().message("联系电话不能为空");
+ }
+ if (StrUtil.isBlank(dto.getEmail())) {
+ return new FebsResponse().fail().message("联系邮箱不能为空");
+ }
+ if (StrUtil.isBlank(dto.getAddress())) {
+ return new FebsResponse().fail().message("联系地址不能为空");
+ }
+ if (StrUtil.isBlank(dto.getWorkingHours())) {
+ return new FebsResponse().fail().message("工作时间不能为空");
+ }
+ commonService.addDataDic("SALES_SERVICE", "WHATSAPP", dto.getWhatsApp(), "WhatsApp号码", false);
+ commonService.addDataDic("SALES_SERVICE", "PHONE", dto.getPhone(), "联系电话", false);
+ commonService.addDataDic("SALES_SERVICE", "EMAIL", dto.getEmail(), "联系邮箱", false);
+ commonService.addDataDic("SALES_SERVICE", "ADDRESS", dto.getAddress(), "联系地址", false);
+ commonService.addDataDic("SALES_SERVICE", "WORKINGHOURS", dto.getWorkingHours(), "工作时间", false);
+ 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