diff --git a/continew-admin-common/src/main/java/top/continew/admin/common/model/resp/CaptchaResp.java b/continew-admin-common/src/main/java/top/continew/admin/common/model/resp/CaptchaResp.java index 7b5e4c80..4adb6889 100644 --- a/continew-admin-common/src/main/java/top/continew/admin/common/model/resp/CaptchaResp.java +++ b/continew-admin-common/src/main/java/top/continew/admin/common/model/resp/CaptchaResp.java @@ -48,4 +48,7 @@ public class CaptchaResp implements Serializable { */ @Schema(description = "验证码图片(Base64编码,带图片格式:data:image/gif;base64)", example = "data:image/png;base64,iVBORw0KGgoAAAAN...") private String img; + + @Schema(description = "过期时间戳", example = "1714376969409") + private Long expireTime; } diff --git a/continew-admin-system/src/main/java/top/continew/admin/system/model/req/DeptReq.java b/continew-admin-system/src/main/java/top/continew/admin/system/model/req/DeptReq.java index 9b1a693e..cda0dd95 100644 --- a/continew-admin-system/src/main/java/top/continew/admin/system/model/req/DeptReq.java +++ b/continew-admin-system/src/main/java/top/continew/admin/system/model/req/DeptReq.java @@ -26,7 +26,6 @@ import org.hibernate.validator.constraints.Length; import top.continew.admin.common.constant.RegexConstants; import top.continew.admin.common.enums.DisEnableStatusEnum; import top.continew.starter.extension.crud.model.req.BaseReq; -import top.continew.starter.extension.crud.util.ValidateGroup; import java.io.Serial; @@ -47,7 +46,7 @@ public class DeptReq extends BaseReq { * 上级部门 ID */ @Schema(description = "上级部门 ID", example = "2") - @NotNull(message = "上级部门不能为空", groups = ValidateGroup.Crud.Add.class) + @NotNull(message = "上级部门不能为空") private Long parentId; /** diff --git a/continew-admin-webapi/src/main/java/top/continew/admin/webapi/common/CaptchaController.java b/continew-admin-webapi/src/main/java/top/continew/admin/webapi/common/CaptchaController.java index 48598f84..d764591f 100644 --- a/continew-admin-webapi/src/main/java/top/continew/admin/webapi/common/CaptchaController.java +++ b/continew-admin-webapi/src/main/java/top/continew/admin/webapi/common/CaptchaController.java @@ -17,6 +17,7 @@ package top.continew.admin.webapi.common; import cn.dev33.satoken.annotation.SaIgnore; +import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.RegexPool; import cn.hutool.core.map.MapUtil; @@ -57,6 +58,7 @@ import top.continew.starter.messaging.mail.util.MailUtils; import top.continew.starter.web.model.R; import java.time.Duration; +import java.time.LocalDateTime; import java.util.LinkedHashMap; import java.util.Map; @@ -101,8 +103,10 @@ public class CaptchaController { String uuid = IdUtil.fastUUID(); String captchaKey = CacheConstants.CAPTCHA_KEY_PREFIX + uuid; Captcha captcha = graphicCaptchaService.getCaptcha(); + long expireTime = LocalDateTimeUtil.toEpochMilli(LocalDateTime.now() + .plusMinutes(captchaProperties.getExpirationInMinutes())); RedisUtils.set(captchaKey, captcha.text(), Duration.ofMinutes(captchaProperties.getExpirationInMinutes())); - return R.ok(CaptchaResp.builder().uuid(uuid).img(captcha.toBase64()).build()); + return R.ok(CaptchaResp.builder().uuid(uuid).img(captcha.toBase64()).expireTime(expireTime).build()); } @Operation(summary = "获取邮箱验证码", description = "发送验证码到指定邮箱")