From 07304872b6c4edd1bc69ebf6eaf88ddb82f33e51 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 7 May 2025 20:48:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(system/smsConfig):=20=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=B0=E5=A2=9E=E8=AE=BE=E4=B8=BA=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/properties/CaptchaProperties.java | 12 ----------- .../system/model/entity/SmsConfigDO.java | 5 +++++ .../system/model/resp/SmsConfigResp.java | 7 +++++++ .../system/service/SmsConfigService.java | 18 +++++++++++++++- .../admin/system/service/StorageService.java | 2 +- .../service/impl/SmsConfigServiceImpl.java | 21 +++++++++++++++++++ .../service/impl/StorageServiceImpl.java | 4 ++-- .../controller/common/CaptchaController.java | 14 +++++++++---- .../system/SmsConfigController.java | 17 ++++++++++++++- .../controller/system/StorageController.java | 2 +- .../main/resources/config/application-dev.yml | 2 -- .../resources/config/application-prod.yml | 2 -- .../db/changelog/mysql/main_data.sql | 1 + .../db/changelog/mysql/main_table.sql | 1 + .../db/changelog/postgresql/main_data.sql | 1 + .../db/changelog/postgresql/main_table.sql | 2 ++ 16 files changed, 85 insertions(+), 26 deletions(-) diff --git a/continew-common/src/main/java/top/continew/admin/common/config/properties/CaptchaProperties.java b/continew-common/src/main/java/top/continew/admin/common/config/properties/CaptchaProperties.java index f165e717..4fe249e6 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/properties/CaptchaProperties.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/properties/CaptchaProperties.java @@ -84,18 +84,6 @@ public class CaptchaProperties { */ private long expirationInMinutes; - /** - * 模板 ID - */ - private String templateId; - - /** - * 短信厂商 - * - * @see top.continew.admin.system.model.resp.SmsConfigResp#supplier - */ - private String supplier; - /** * 验证码字段模板键名 */ diff --git a/continew-module-system/src/main/java/top/continew/admin/system/model/entity/SmsConfigDO.java b/continew-module-system/src/main/java/top/continew/admin/system/model/entity/SmsConfigDO.java index fc0bf91c..8e19bfe6 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/model/entity/SmsConfigDO.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/model/entity/SmsConfigDO.java @@ -94,6 +94,11 @@ public class SmsConfigDO extends BaseDO { */ private String supplierConfig; + /** + * 是否为默认存储 + */ + private Boolean isDefault; + /** * 状态 */ diff --git a/continew-module-system/src/main/java/top/continew/admin/system/model/resp/SmsConfigResp.java b/continew-module-system/src/main/java/top/continew/admin/system/model/resp/SmsConfigResp.java index d845f5ef..0293b77b 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/model/resp/SmsConfigResp.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/model/resp/SmsConfigResp.java @@ -125,6 +125,13 @@ public class SmsConfigResp extends BaseDetailResp { @ExcelProperty(value = "各个厂商独立配置") private String supplierConfig; + /** + * 是否为默认存储 + */ + @Schema(description = "是否为默认存储", example = "true") + @ExcelProperty(value = "是否为默认存储") + private Boolean isDefault; + /** * 状态 */ diff --git a/continew-module-system/src/main/java/top/continew/admin/system/service/SmsConfigService.java b/continew-module-system/src/main/java/top/continew/admin/system/service/SmsConfigService.java index c6cd6e52..f88898a4 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/service/SmsConfigService.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/service/SmsConfigService.java @@ -16,6 +16,7 @@ package top.continew.admin.system.service; +import top.continew.admin.system.model.entity.SmsConfigDO; import top.continew.admin.system.model.query.SmsConfigQuery; import top.continew.admin.system.model.req.SmsConfigReq; import top.continew.admin.system.model.resp.SmsConfigResp; @@ -27,4 +28,19 @@ import top.continew.starter.extension.crud.service.BaseService; * @author luoqiz * @since 2025/03/15 18:41 */ -public interface SmsConfigService extends BaseService {} \ No newline at end of file +public interface SmsConfigService extends BaseService { + + /** + * 设置默认配置 + * + * @param id ID + */ + void setDefaultConfig(Long id); + + /** + * 获取默认短信配置 + * + * @return 默认短信配置 + */ + SmsConfigDO getDefaultConfig(); +} \ No newline at end of file diff --git a/continew-module-system/src/main/java/top/continew/admin/system/service/StorageService.java b/continew-module-system/src/main/java/top/continew/admin/system/service/StorageService.java index 1a6467f4..50eb35b0 100644 --- a/continew-module-system/src/main/java/top/continew/admin/system/service/StorageService.java +++ b/continew-module-system/src/main/java/top/continew/admin/system/service/StorageService.java @@ -45,7 +45,7 @@ public interface StorageService extends BaseService messageMap = MapUtil.newHashMap(2, true); messageMap.put(captchaSms.getCodeKey(), captcha); messageMap.put(captchaSms.getTimeKey(), String.valueOf(expirationInMinutes)); - SmsResponse smsResponse = smsBlend.sendMessage(phone, captchaSms - .getTemplateId(), (LinkedHashMap)messageMap); + // 发送验证码 + SmsResponse smsResponse = smsBlend.sendMessage(phone, (LinkedHashMap)messageMap); CheckUtils.throwIf(!smsResponse.isSuccess(), "验证码发送失败"); // 保存验证码 String captchaKey = CacheConstants.CAPTCHA_KEY_PREFIX + phone; diff --git a/continew-webapi/src/main/java/top/continew/admin/controller/system/SmsConfigController.java b/continew-webapi/src/main/java/top/continew/admin/controller/system/SmsConfigController.java index 8c67c35e..a170b3c6 100644 --- a/continew-webapi/src/main/java/top/continew/admin/controller/system/SmsConfigController.java +++ b/continew-webapi/src/main/java/top/continew/admin/controller/system/SmsConfigController.java @@ -16,8 +16,14 @@ package top.continew.admin.controller.system; +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RestController; import top.continew.admin.common.controller.BaseController; import top.continew.admin.system.model.query.SmsConfigQuery; @@ -38,4 +44,13 @@ import top.continew.starter.extension.crud.enums.Api; @Validated @RestController @CrudRequestMapping(value = "/system/smsConfig", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) -public class SmsConfigController extends BaseController {} \ No newline at end of file +public class SmsConfigController extends BaseController { + + @Operation(summary = "设为默认配置", description = "设为默认配置") + @Parameter(name = "id", description = "ID", example = "1", in = ParameterIn.PATH) + @SaCheckPermission("system:smsConfig:setDefault") + @PutMapping({"/{id}/default"}) + public void setDefault(@PathVariable("id") Long id) { + baseService.setDefaultConfig(id); + } +} \ No newline at end of file diff --git a/continew-webapi/src/main/java/top/continew/admin/controller/system/StorageController.java b/continew-webapi/src/main/java/top/continew/admin/controller/system/StorageController.java index 5625861e..51c88ea6 100644 --- a/continew-webapi/src/main/java/top/continew/admin/controller/system/StorageController.java +++ b/continew-webapi/src/main/java/top/continew/admin/controller/system/StorageController.java @@ -60,6 +60,6 @@ public class StorageController extends BaseController