diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java index e3c0c6de1..0e4aeffe8 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java @@ -167,7 +167,10 @@ public class EqUserController extends BaseController { //@ApiEncrypt @Log(title = "个人信息", businessType = BusinessType.UPDATE) @PutMapping("/updatePwd") - public R updatePwd(@Validated @RequestBody SysUserPasswordBo bo) { + public R updatePwd(@Validated @RequestBody EqSysUserPasswordBo bo) { + // 校验用户类型是否存在 + if (!validEmail(bo.getUsername())) throw new UserException("user.email.not.valid"); + validateEmailCode(bo.getTenantId(), bo.getUsername(), bo.getCode()); SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); String password = user.getPassword(); if (!BCrypt.checkpw(bo.getOldPassword(), password)) { diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqSysUserPasswordBo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqSysUserPasswordBo.java new file mode 100644 index 000000000..ca620c435 --- /dev/null +++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqSysUserPasswordBo.java @@ -0,0 +1,29 @@ +package org.dromara.web.domain.bo; + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import org.dromara.system.domain.bo.SysUserPasswordBo; +import org.hibernate.validator.constraints.Length; + +import static org.dromara.common.core.constant.UserConstants.USERNAME_MAX_LENGTH; +import static org.dromara.common.core.constant.UserConstants.USERNAME_MIN_LENGTH; + +@Data +public class EqSysUserPasswordBo extends SysUserPasswordBo { + /** + * 用户名 + */ + @NotBlank(message = "{user.username.not.blank}") + @Length(min = USERNAME_MIN_LENGTH, max = USERNAME_MAX_LENGTH, message = "{user.username.length.valid}") + private String username; + /** + * 租户ID + */ + private String tenantId; + + /** + * 验证码 + */ + private String code; + +}