feat(member): 支持用户注销状态管理- 新增用户注销状态REVOKED,值为2- 短信认证策略中处理已注销用户重新登录的情况
This commit is contained in:
parent
e0ac519d55
commit
40d8105e55
@ -156,9 +156,12 @@ public class SmsAuthStrategy implements IAuthStrategy {
|
||||
if (ObjectUtil.isNull(user)) {
|
||||
log.info("登录用户:{} 不存在.", phonenumber);
|
||||
return null;
|
||||
} else if (SystemConstants.DISABLE.equals(user.getStatus())) {
|
||||
} else if (org.dromara.common.core.domain.event.Constants.MEMBER_ACCOUNT_STATUS.FORBIDDEN.equals(user.getStatus())) {
|
||||
log.info("登录用户:{} 已被停用.", phonenumber);
|
||||
throw new UserException("user.blocked", phonenumber);
|
||||
} else if (org.dromara.common.core.domain.event.Constants.MEMBER_ACCOUNT_STATUS.REVOKED.equals(user.getStatus())) {
|
||||
log.warn("已注销的用户:{} 重新登录", phonenumber);
|
||||
memberMapper.updateById(Member.builder().id(user.getId()).status(org.dromara.common.core.domain.event.Constants.MEMBER_ACCOUNT_STATUS.NORMAL).build());
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
@ -160,6 +160,8 @@ public class Constants
|
||||
public static class MEMBER_ACCOUNT_STATUS {
|
||||
public static final Integer FORBIDDEN = 0;
|
||||
public static final Integer NORMAL = 1;
|
||||
// 注销
|
||||
public static final Integer REVOKED = 2;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,12 +7,12 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.common.core.domain.event.Constants;
|
||||
import org.dromara.common.core.domain.model.BaseAudit;
|
||||
import org.dromara.common.excel.annotation.Excel;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 会员信息对象 ums_member
|
||||
*
|
||||
@ -47,7 +47,12 @@ public class Member extends BaseAudit {
|
||||
@Schema(description ="用户备注")
|
||||
private String mark;
|
||||
|
||||
@Schema(description ="帐号启用状态:0->禁用;1->启用")
|
||||
|
||||
/**
|
||||
* 帐号启用状态
|
||||
* @see Constants.MEMBER_ACCOUNT_STATUS
|
||||
*/
|
||||
@Schema(description ="帐号启用状态", implementation = Constants.MEMBER_ACCOUNT_STATUS.class)
|
||||
private Integer status;
|
||||
|
||||
@Schema(description ="头像")
|
||||
|
@ -406,7 +406,7 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
|
||||
String phoneNumber = loginUser.getPhoneNumber();
|
||||
String code = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY + phoneNumber);
|
||||
Assert.isTrue(StrUtil.equals(smsCode, code), () -> new ServiceException("短信验证码错误"));
|
||||
memberMapper.updateById(Member.builder().id(loginUser.getUserId()).status(Constants.MEMBER_ACCOUNT_STATUS.FORBIDDEN).build());
|
||||
memberMapper.updateById(Member.builder().id(loginUser.getUserId()).status(Constants.MEMBER_ACCOUNT_STATUS.REVOKED).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user