Browse Source

实时获取 UserDetail 信息

zy_PrivacyExport
zhangyongzhangyong 4 years ago
parent
commit
989f1cfd12
  1. 39
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/VerificationFreeUserServiceImpl.java

39
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/VerificationFreeUserServiceImpl.java

@ -32,8 +32,10 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.VerificationFreeUserDao; import com.elink.esua.epdc.dao.VerificationFreeUserDao;
import com.elink.esua.epdc.dto.VerificationFreeUserDTO; import com.elink.esua.epdc.dto.VerificationFreeUserDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.entity.VerificationFreeUserEntity; import com.elink.esua.epdc.entity.VerificationFreeUserEntity;
import com.elink.esua.epdc.feign.MessageFeignClient; import com.elink.esua.epdc.feign.MessageFeignClient;
import com.elink.esua.epdc.service.SysUserService;
import com.elink.esua.epdc.service.VerificationFreeUserService; import com.elink.esua.epdc.service.VerificationFreeUserService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -57,6 +59,8 @@ public class VerificationFreeUserServiceImpl extends BaseServiceImpl<Verificatio
private RedisUtils redisUtils; private RedisUtils redisUtils;
@Autowired @Autowired
private MessageFeignClient messageFeignClient; private MessageFeignClient messageFeignClient;
@Autowired
private SysUserService sysUserService;
@Override @Override
public PageData<VerificationFreeUserDTO> page(Map<String, Object> params) { public PageData<VerificationFreeUserDTO> page(Map<String, Object> params) {
@ -108,13 +112,32 @@ public class VerificationFreeUserServiceImpl extends BaseServiceImpl<Verificatio
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override /**
public Result preCheckLoginUser() { * 实时获取 UserDetail 信息
// 如果当前登录账号,设置了免校验,则直接下载隐私数据 * @param
* @return com.elink.esua.epdc.commons.tools.security.user.UserDetail
* @Author zhangyong
* @Date 15:23 2021-12-24
**/
private UserDetail getSysUserInfo() {
UserDetail user = SecurityUser.getUser(); UserDetail user = SecurityUser.getUser();
if (user == null) { if (user == null) {
throw new RenException("用户未登录"); throw new RenException("用户未登录");
} }
SysUserEntity userEntity = sysUserService.selectById(user.getId());
if (userEntity == null) {
throw new RenException("用户不存在,请联系管理员");
}
// 当在用户管理中修改手机号后,若用户不重新登录,此时token中的手机号还是之前的,
// 所有需要从数据库中查询最新的手机号。
user.setMobile(userEntity.getMobile());
return user;
}
@Override
public Result preCheckLoginUser() {
// 如果当前登录账号,设置了免校验,则直接下载隐私数据
UserDetail user = getSysUserInfo();
// 免校验么? // 免校验么?
Integer noVerification = baseDao.isVerificationBySysUserId(user.getId()); Integer noVerification = baseDao.isVerificationBySysUserId(user.getId());
if (NumConstant.ZERO == noVerification) { if (NumConstant.ZERO == noVerification) {
@ -135,19 +158,13 @@ public class VerificationFreeUserServiceImpl extends BaseServiceImpl<Verificatio
@Override @Override
public Result sendSMS() { public Result sendSMS() {
UserDetail user = SecurityUser.getUser(); UserDetail user = getSysUserInfo();
if (user == null) {
throw new RenException("用户未登录");
}
return messageFeignClient.sendCode(user.getMobile()); return messageFeignClient.sendCode(user.getMobile());
} }
@Override @Override
public Result postCheckSMSCode(String smsCode) { public Result postCheckSMSCode(String smsCode) {
UserDetail user = SecurityUser.getUser(); UserDetail user = getSysUserInfo();
if (user == null) {
throw new RenException("用户未登录");
}
String phoneKey = RedisKeys.getPhoneSmsCodeKey(user.getMobile()); String phoneKey = RedisKeys.getPhoneSmsCodeKey(user.getMobile());
Object redisSmsCode = redisUtils.get(phoneKey); Object redisSmsCode = redisUtils.get(phoneKey);
if (null == redisSmsCode || !redisSmsCode.toString().equals(smsCode)) { if (null == redisSmsCode || !redisSmsCode.toString().equals(smsCode)) {

Loading…
Cancel
Save