From 59339cf764497a1b7a08531c38b8c10dd221d881 Mon Sep 17 00:00:00 2001 From: chenbowen Date: Fri, 12 Sep 2025 12:47:50 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E6=94=B9=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E9=AA=8C=E8=AF=81=E7=A0=81=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infra/controller/admin/file/FileController.java | 6 +++--- .../yudao/module/infra/service/file/FileService.java | 1 + .../module/infra/service/file/FileServiceImpl.java | 10 ++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java index 1d623ce0..ca9750fd 100644 --- a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java +++ b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java @@ -170,9 +170,9 @@ public class FileController { @Operation(summary = "校验验证码") public CommonResult verifyCode(@Valid @RequestParam Long fileId, @RequestParam String code) throws Exception { Long userId = getLoginUserId(); - byte[] content = fileService.verifyCodeAndGetFile(fileId, userId, code); - if(content == null || content.length == 0){ - return CommonResult.customize(null, HttpStatus.INTERNAL_SERVER_ERROR.value(), "验证码校验失败"); + boolean flag = fileService.verifyCode(fileId, userId, code); + if(!flag){ + return CommonResult.customize(null, HttpStatus.INTERNAL_SERVER_ERROR.value(), "验证码错误"); } return CommonResult.customize(null, HttpStatus.OK.value(), "验证码校验通过"); } diff --git a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java index cc5aa510..d2d5acdb 100644 --- a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java +++ b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java @@ -102,4 +102,5 @@ public interface FileService { */ FileDO getActiveFileById(Long fileId); + boolean verifyCode(Long fileId, Long userId, String code) throws Exception; } diff --git a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java index b7b9c47e..e0483ebe 100644 --- a/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java +++ b/yudao-module-infra/yudao-module-infra-server/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java @@ -289,5 +289,15 @@ public class FileServiceImpl implements FileService { // 由于 FileDO 没有状态字段,直接查主键即为生效中的文件 return fileMapper.selectById(fileId); } + @Override + public boolean verifyCode(Long fileId, Long userId, String code) { + // 开发模式下,验证码直接获取配置进行比对 + if (StringUtils.isNotEmpty(fixedVerifyCode)) { + return fixedVerifyCode.equals(code); + } else { + String codeKey = String.format(RedisKeyConstants.FILE_VERIFICATION_CODE, userId, fileId); + return VerificationCodeUtil.verifyCode(codeKey, code, stringRedisTemplate); + } + } }