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": "是否启用不可为空" },