package com.ruoyi.system.api.model; import java.io.Serializable; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * C端会员重置密码请求对象(跨服务契约) * * 认证服务(ruoyi-auth)完成手机号查询、状态校验与验证码消费后, * 通过该对象将手机号与新密码传递给用户服务(ruoyi-user),由其 BCrypt 加密后落库。 * * @author hugray */ public class AccountResetPasswordRequest implements Serializable { private static final long serialVersionUID = 1L; /** 手机号(账号标识) */ @NotBlank(message = "请输入手机号") @Pattern(regexp = "^1[3-9]\\d{9}$", message = "请输入正确手机号") private String phone; /** 新密码(明文,落库前由用户服务 BCrypt 加密) */ @NotBlank(message = "请输入新密码") private String password; public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } /** * 密码字段脱敏输出,避免明文密码落入日志 */ @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("phone", getPhone()) .append("password", "******") .toString(); } }