From da3749a09a6dbeeb37055ad519dd756f66b745ef Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Wed, 17 Jun 2026 13:50:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E4=BB=98=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=A2=9E=E5=8A=A0=20enabled=20=E5=90=AF?= =?UTF-8?q?=E5=81=9C=E5=BC=80=E5=85=B3=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _config/sql/update-tables.sql | 3 +++ .../product/PayProductConfigController.java | 10 ++++++++++ .../constants/product/entity/PayProductConfig.java | 3 +++ .../product/param/PayProductConfigParam.java | 3 +++ .../product/result/PayProductConfigResult.java | 3 +++ .../product/service/PayProductConfigService.java | 12 ++++++++++++ .../src/main/resources/i18n/en-US/validation.json | 3 +++ .../src/main/resources/i18n/zh-CN/validation.json | 3 +++ 8 files changed, 40 insertions(+) diff --git a/_config/sql/update-tables.sql b/_config/sql/update-tables.sql index 478f29418..735e61fa9 100644 --- a/_config/sql/update-tables.sql +++ b/_config/sql/update-tables.sql @@ -1,2 +1,5 @@ -- 订单商品明细列表 ALTER TABLE pay_normal_order ADD COLUMN IF NOT EXISTS goods_detail jsonb; + +-- 支付产品配置增加启用/停用开关 +ALTER TABLE pay_product_config ADD COLUMN IF NOT EXISTS enabled boolean NOT NULL DEFAULT TRUE; diff --git a/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java b/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java index 558252425..83cc04221 100644 --- a/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java +++ b/daxpay-payment/daxpay-payment-admin/src/main/java/org/dromara/daxpay/payment/admin/controller/masterdata/product/PayProductConfigController.java @@ -35,6 +35,16 @@ public class PayProductConfigController { return Res.ok(payProductConfigService.listAll()); } + @PermCode(code = "edit", nameCn = "产品配置编辑", nameEn = "Product Config Edit") + @Operation(summary = "切换产品启停") + @PostMapping("/switch-enabled") + public Result switchEnabled( + @NotBlank(message = "{validation.field.product.notBlank}") String product, + @NotNull(message = "{validation.field.enabled.notNull}") Boolean enabled) { + payProductConfigService.switchEnabled(product, enabled); + return Res.ok(); + } + @PermCode(code = "edit", nameCn = "产品配置编辑", nameEn = "Product Config Edit") @Operation(summary = "切换产品生效环境") @PostMapping("/switch-env") diff --git a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/constants/product/entity/PayProductConfig.java b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/constants/product/entity/PayProductConfig.java index 0cbffecdb..62bf3054c 100644 --- a/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/constants/product/entity/PayProductConfig.java +++ b/daxpay-payment/daxpay-payment-common/src/main/java/org/dromara/daxpay/payment/masterdata/constants/product/entity/PayProductConfig.java @@ -23,6 +23,9 @@ public class PayProductConfig extends MpBaseEntity implements ToResult createDefaultConfig(product)); + config.setEnabled(enabled); + payProductConfigManager.saveOrUpdate(config); + } + /// 切换产品的生效环境 @Transactional(rollbackFor = Exception.class) public void switchEnv(String product, boolean sandbox) { @@ -66,6 +75,7 @@ public class PayProductConfigService { config.setProduct(param.getProduct()); config.setChannel(param.getChannel()); + config.setEnabled(param.isEnabled()); config.setActiveEnv(param.getActiveEnv() != null ? param.getActiveEnv() : PayEnvEnum.PROD.getCode()); config.setConfigured(param.isConfigured()); config.setRemark(param.getRemark()); @@ -100,9 +110,11 @@ public class PayProductConfigService { PayProductConfig config = configMap.get(payProduct.getCode()); if (config != null) { result.setId(config.getId()); + result.setEnabled(config.isEnabled()); result.setActiveEnv(config.getActiveEnv()); result.setConfigured(config.isConfigured()); } else { + result.setEnabled(true); result.setActiveEnv(PayEnvEnum.PROD.getCode()); result.setConfigured(false); } diff --git a/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/en-US/validation.json b/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/en-US/validation.json index 4d7b0e038..8c2322f17 100644 --- a/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/en-US/validation.json +++ b/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/en-US/validation.json @@ -49,6 +49,9 @@ "sandbox": { "notNull": "Sandbox environment cannot be blank" }, + "enabled": { + "notNull": "Enabled status cannot be blank" + }, "enable": { "notNull": "Enable status cannot be blank" }, diff --git a/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/zh-CN/validation.json b/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/zh-CN/validation.json index 2ca55fa32..55088d897 100644 --- a/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/zh-CN/validation.json +++ b/daxpay-platform/daxpay-platform-common/common-i18n/src/main/resources/i18n/zh-CN/validation.json @@ -49,6 +49,9 @@ "sandbox": { "notNull": "沙箱环境不可为空" }, + "enabled": { + "notNull": "启用状态不可为空" + }, "enable": { "notNull": "是否启用不可为空" },