init
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ruoyi.xq.manager;
|
||||
import cn.dev33.satoken.exception.NotLoginException;
|
||||
import cn.dev33.satoken.secure.BCrypt;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
@@ -14,6 +15,7 @@ import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.MessageUtils;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.system.service.SysLoginService;
|
||||
import com.ruoyi.xq.constant.RedisHttpConstant;
|
||||
import com.ruoyi.xq.domain.*;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.enums.common.CodeEnum;
|
||||
@@ -24,12 +26,14 @@ import com.ruoyi.xq.enums.userstatus.ShowAvatarEnum;
|
||||
import com.ruoyi.xq.executor.ExecutorConstant;
|
||||
import com.ruoyi.xq.lock.LockKey;
|
||||
import com.ruoyi.xq.service.*;
|
||||
import com.ruoyi.xq.util.UuidUtils;
|
||||
import com.ruoyi.yunxin.client.ImUserClient;
|
||||
import com.ruoyi.yunxin.req.CreateUserReq;
|
||||
import com.ruoyi.yunxin.req.UpdateTokenReq;
|
||||
import com.ruoyi.yunxin.resp.YxCommonR;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.redisson.api.RBucket;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -40,6 +44,7 @@ import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -242,7 +247,7 @@ public class LoginManager {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void resetPassword(String mobile,String code,String password) {
|
||||
public String resetPasswordCheck(String mobile,String code){
|
||||
User user = userService.getByUsername(mobile);
|
||||
if(user == null){
|
||||
throw new ServiceException("账户不存在");
|
||||
@@ -251,6 +256,24 @@ public class LoginManager {
|
||||
if(!check){
|
||||
throw new ServiceException("验证码错误");
|
||||
}
|
||||
String uuid = UuidUtils.uuid();
|
||||
String key = String.format(RedisHttpConstant.RESET_PASSWORD_CHECK_REDIS, uuid);
|
||||
RBucket<String> bucket = redissonClient.getBucket(key);
|
||||
bucket.set(mobile,1, TimeUnit.HOURS);
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void resetPassword(String mobile,String password,String token) {
|
||||
User user = userService.getByUsername(mobile);
|
||||
if(user == null){
|
||||
throw new ServiceException("账户不存在");
|
||||
}
|
||||
String key = String.format(RedisHttpConstant.RESET_PASSWORD_CHECK_REDIS, token);
|
||||
RBucket<String> bucket = redissonClient.getBucket(key);
|
||||
String value = bucket.get();
|
||||
if(StringUtils.isEmpty(value) || value.equals(mobile)){
|
||||
throw new ServiceException("验证码已过期");
|
||||
}
|
||||
userService.resetPassword(user.getId(),password);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user