From 36d13707209e166960ca3d5a22f9cd90986f0eee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E9=9B=A8?= <2375294554@qq.com> Date: Fri, 21 Mar 2025 17:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=AA=8C=E8=AF=81=20--TimbreController.java?= =?UTF-8?q?=20=E9=AA=8C=E8=AF=81=E5=8F=82=E6=95=B0=20--TimbreDataDTO.java?= =?UTF-8?q?=20--TimbreDataDTO.java=20=E5=AE=9A=E4=B9=89=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=20--validation.properties=20--validation=5Fe?= =?UTF-8?q?n=5FUS.properties=20--validation=5Fzh=5FCN.properties=20--valid?= =?UTF-8?q?ation=5Fzh=5FTW.properties=20=E5=AE=9A=E4=B9=89=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E9=AA=8C=E8=AF=81=E5=A4=B1=E8=B4=A5=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/Timbre/controller/TimbreController.java | 8 +++++++- .../java/xiaozhi/modules/Timbre/dto/TimbreDataDTO.java | 9 +++++++++ .../java/xiaozhi/modules/Timbre/dto/TimbrePageDTO.java | 2 ++ .../src/main/resources/i18n/validation.properties | 9 +++++++++ .../src/main/resources/i18n/validation_en_US.properties | 8 ++++++++ .../src/main/resources/i18n/validation_zh_CN.properties | 7 +++++++ .../src/main/resources/i18n/validation_zh_TW.properties | 7 +++++++ 7 files changed, 49 insertions(+), 1 deletion(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/controller/TimbreController.java b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/controller/TimbreController.java index 766b13b6..bba48abf 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/controller/TimbreController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/controller/TimbreController.java @@ -7,6 +7,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import xiaozhi.common.page.PageData; import xiaozhi.common.utils.Result; +import xiaozhi.common.validator.ValidatorUtils; import xiaozhi.modules.Timbre.dto.TimbreDataDTO; import xiaozhi.modules.Timbre.dto.TimbrePageDTO; import xiaozhi.modules.Timbre.service.TimbreService; @@ -28,6 +29,7 @@ public class TimbreController { @Operation(summary = "分页查找") @RequiresPermissions("sys:ttsVoice:select") public Result> page(@ModelAttribute TimbrePageDTO dto) { + ValidatorUtils.validateEntity(dto); PageData page = timbreService.page(dto); return new Result>().ok(page); } @@ -35,13 +37,17 @@ public class TimbreController { @Operation(summary = "音色保存") @RequiresPermissions("sys:ttsVoice:save") public Result save(@RequestBody TimbreDataDTO dto) { + ValidatorUtils.validateEntity(dto); timbreService.save(dto); return new Result<>(); } @PutMapping("/{id}") @Operation(summary = "音色修改") @RequiresPermissions("sys:ttsVoice:update") - public Result update(@PathVariable Long id,@RequestBody TimbreDataDTO dto) { + public Result update( + @PathVariable Long id, + @RequestBody TimbreDataDTO dto) { + ValidatorUtils.validateEntity(dto); timbreService.update(id,dto); return new Result<>(); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbreDataDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbreDataDTO.java index 6ba7c47e..70d44df1 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbreDataDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbreDataDTO.java @@ -1,6 +1,8 @@ package xiaozhi.modules.Timbre.dto; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; import lombok.Data; @@ -14,23 +16,30 @@ import lombok.Data; public class TimbreDataDTO { @Schema(description = "语言") + @NotBlank(message = "{timbre.languages.require}") private String languages; @Schema(description = "音色名称") + @NotBlank(message = "{timbre.name.require}") private String name; @Schema(description = "备注") + @NotBlank(message = "{timbre.remark.require}") private String remark; @Schema(description = "排序") + @Min(value = 0, message = "{sort.number}") private long sort; @Schema(description = "对应 TTS 模型主键") + @NotBlank(message = "{timbre.ttsModelId.require}") private String ttsModelId; @Schema(description = "音色编码") + @NotBlank(message = "{timbre.ttsVoice.require}") private String ttsVoice; @Schema(description = "音频播放地址") + @NotBlank(message = "{timbre.voiceDemo.require}") private String voiceDemo; } \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbrePageDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbrePageDTO.java index baa6416d..55789c88 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbrePageDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/Timbre/dto/TimbrePageDTO.java @@ -1,6 +1,7 @@ package xiaozhi.modules.Timbre.dto; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; /** @@ -13,6 +14,7 @@ import lombok.Data; public class TimbrePageDTO { @Schema(description = "对应 TTS 模型主键") + @NotBlank(message = "{timbre.ttsModelId.require}") private String ttsModelId; @Schema(description = "音色名称") diff --git a/main/manager-api/src/main/resources/i18n/validation.properties b/main/manager-api/src/main/resources/i18n/validation.properties index 947f89cc..e7452e47 100644 --- a/main/manager-api/src/main/resources/i18n/validation.properties +++ b/main/manager-api/src/main/resources/i18n/validation.properties @@ -20,3 +20,12 @@ sysuser.deptId.require=\u90E8\u95E8\u4E0D\u80FD\u4E3A\u7A7A sysuser.status.range=\u72B6\u6001\u53D6\u503C\u8303\u56F40~1 sysuser.captcha.require=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A sysuser.uuid.require=\u552F\u4E00\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A + + +timbre.languages.require=\u97F3\u8272\u7684\u8BED\u8A00\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.name.require=\u97F3\u8272\u7684\u540D\u79F0\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.remark.require=\u97F3\u8272\u7684\u5907\u6CE8\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.ttsModelId.require=\u97F3\u8272\u7684tts\u4E3B\u952E\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.ttsVoice.require=\u97F3\u8272\u7684\u7F16\u7801\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.voiceDemo.require=\u97F3\u8272\u7684\u64AD\u653EDemo\u4E0D\u53EF\u4EE5\u4E3A\u7A7A + diff --git a/main/manager-api/src/main/resources/i18n/validation_en_US.properties b/main/manager-api/src/main/resources/i18n/validation_en_US.properties index f8bb6e94..37bebf18 100644 --- a/main/manager-api/src/main/resources/i18n/validation_en_US.properties +++ b/main/manager-api/src/main/resources/i18n/validation_en_US.properties @@ -20,3 +20,11 @@ sysuser.deptId.require=Departments cannot be empty sysuser.status.range=State ranges from 0 to 1 sysuser.captcha.require=The captcha cannot be empty sysuser.uuid.require=The unique identifier cannot be empty + +timbre.languages.require=The language of the timbre cannot be empty +timbre.name.require=The name of the timbre cannot be empty +timbre.remark.require=The remark of the timbre cannot be empty +timbre.ttsModelId.require=The TTS model ID of the timbre cannot be empty +timbre.ttsVoice.require=The TTS voice of the timbre cannot be empty +timbre.voiceDemo.require=The voice demo of the timbre cannot be empty + diff --git a/main/manager-api/src/main/resources/i18n/validation_zh_CN.properties b/main/manager-api/src/main/resources/i18n/validation_zh_CN.properties index ba350d05..41bf1e69 100644 --- a/main/manager-api/src/main/resources/i18n/validation_zh_CN.properties +++ b/main/manager-api/src/main/resources/i18n/validation_zh_CN.properties @@ -21,3 +21,10 @@ sysuser.status.range=\u72B6\u6001\u53D6\u503C\u8303\u56F40~1 sysuser.captcha.require=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A sysuser.uuid.require=\u552F\u4E00\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A +timbre.languages.require=\u97F3\u8272\u7684\u8A9E\u8A00\u4E0D\u53EF\u4EE5\u70BA\u7A7A +timbre.name.require=\u97F3\u8272\u7684\u540D\u7A31\u4E0D\u53EF\u4EE5\u70BA\u7A7A +timbre.remark.require=\u97F3\u8272\u7684\u5099\u6CE8\u4E0D\u53EF\u4EE5\u70BA\u7A7A +timbre.ttsModelId.require=\u97F3\u8272\u7684tts\u4E3B\u9375\u4E0D\u53EF\u4EE5\u70BA\u7A7A +timbre.ttsVoice.require=\u97F3\u8272\u7684\u7DE8\u78BC\u4E0D\u53EF\u4EE5\u70BA\u7A7A +timbre.voiceDemo.require=\u97F3\u8272\u7684\u64AD\u653E\u5730\u5740\u4E0D\u53EF\u4EE5\u70BA\u7A7A + diff --git a/main/manager-api/src/main/resources/i18n/validation_zh_TW.properties b/main/manager-api/src/main/resources/i18n/validation_zh_TW.properties index 947f89cc..9241c97a 100644 --- a/main/manager-api/src/main/resources/i18n/validation_zh_TW.properties +++ b/main/manager-api/src/main/resources/i18n/validation_zh_TW.properties @@ -20,3 +20,10 @@ sysuser.deptId.require=\u90E8\u95E8\u4E0D\u80FD\u4E3A\u7A7A sysuser.status.range=\u72B6\u6001\u53D6\u503C\u8303\u56F40~1 sysuser.captcha.require=\u9A8C\u8BC1\u7801\u4E0D\u80FD\u4E3A\u7A7A sysuser.uuid.require=\u552F\u4E00\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A + +timbre.languages.require=\u97F3\u8272\u7684\u8BED\u8A00\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.name.require=\u97F3\u8272\u7684\u540D\u79F0\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.remark.require=\u97F3\u8272\u7684\u5907\u6CE8\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.ttsModelId.require=\u97F3\u8272\u7684tts\u4E3B\u952E\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.ttsVoice.require=\u97F3\u8272\u7684\u7F16\u7801\u4E0D\u53EF\u4EE5\u4E3A\u7A7A +timbre.voiceDemo.require=\u97F3\u8272\u7684\u64AD\u653EDemo\u4E0D\u53EF\u4EE5\u4E3A\u7A7A