|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.gis.admin.entity.dto.ResetPasswordDto;
|
|
import com.gis.admin.entity.dto.ResetPasswordDto;
|
|
import com.gis.common.base.entity.dto.PageDateDto;
|
|
import com.gis.common.base.entity.dto.PageDateDto;
|
|
import com.gis.common.base.exception.BaseRuntimeException;
|
|
import com.gis.common.base.exception.BaseRuntimeException;
|
|
|
|
+import com.gis.common.constant.ConfigConstant;
|
|
import com.gis.common.constant.TypeCode;
|
|
import com.gis.common.constant.TypeCode;
|
|
import com.gis.common.util.*;
|
|
import com.gis.common.util.*;
|
|
import com.gis.admin.entity.dto.PasswordDto;
|
|
import com.gis.admin.entity.dto.PasswordDto;
|
|
@@ -17,6 +18,7 @@ import com.gis.admin.entity.dto.RegisterDto;
|
|
import com.gis.admin.entity.po.SysUserEntity;
|
|
import com.gis.admin.entity.po.SysUserEntity;
|
|
import com.gis.admin.mapper.SysUserMapper;
|
|
import com.gis.admin.mapper.SysUserMapper;
|
|
import com.gis.admin.service.SysUserService;
|
|
import com.gis.admin.service.SysUserService;
|
|
|
|
+import com.google.common.collect.ImmutableList;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
|
|
+import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
@@ -45,6 +48,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
@Autowired
|
|
@Autowired
|
|
RedisUtil redisUtil;
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ ConfigConstant configConstant;
|
|
|
|
+
|
|
|
|
|
|
/**重置密码redis key*/
|
|
/**重置密码redis key*/
|
|
final static String RESET_PASSWORD_KEY = "reset:password:";
|
|
final static String RESET_PASSWORD_KEY = "reset:password:";
|
|
@@ -137,15 +143,28 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
log.error("管理员账户不能删除 {}", entity.getId());
|
|
log.error("管理员账户不能删除 {}", entity.getId());
|
|
return Result.failure("管理员账户不能删除");
|
|
return Result.failure("管理员账户不能删除");
|
|
}
|
|
}
|
|
-// entity.setIsDelete(1);
|
|
|
|
-// entity.setUpdateTime(LocalDateTime.now());
|
|
|
|
-// this.update(entity);
|
|
|
|
}
|
|
}
|
|
this.removeByIds(idList);
|
|
this.removeByIds(idList);
|
|
|
|
|
|
|
|
+ // 强制用户退出
|
|
|
|
+ delRedisByUserIds(idList);
|
|
|
|
+
|
|
return Result.success();
|
|
return Result.success();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 删除登录用户redis login key
|
|
|
|
+ * 强制用户退出
|
|
|
|
+ * @param ids
|
|
|
|
+ */
|
|
|
|
+ private void delRedisByUserIds(List<String> ids){
|
|
|
|
+ for (String id : ids) {
|
|
|
|
+ String loginKey = configConstant.redisPrefix + TypeCode.LOGIN_USER_KEY + id;
|
|
|
|
+ redisUtil.delete(loginKey);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Result<SysUserEntity> search(PageDateDto param) {
|
|
public Result<SysUserEntity> search(PageDateDto param) {
|
|
BaseUtil.startPage(param);
|
|
BaseUtil.startPage(param);
|
|
@@ -153,9 +172,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
IPage<SysUserEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
|
|
IPage<SysUserEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
|
|
LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<SysUserEntity> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
|
-// wrapper.eq(SysUserEntity::getIsEnabled, 1);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
String startTime = param.getStartTime();
|
|
String startTime = param.getStartTime();
|
|
String endTime = param.getEndTime();
|
|
String endTime = param.getEndTime();
|
|
if (StrUtil.isNotBlank(startTime) || StrUtil.isNotBlank(endTime)){
|
|
if (StrUtil.isNotBlank(startTime) || StrUtil.isNotBlank(endTime)){
|
|
@@ -185,7 +201,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
param.setOldPassword(oldPassword);
|
|
param.setOldPassword(oldPassword);
|
|
SysUserEntity user = this.findByUserName(JwtUtil.getUsername(request.getHeader("token")));
|
|
SysUserEntity user = this.findByUserName(JwtUtil.getUsername(request.getHeader("token")));
|
|
updatePwd(param, user, true);
|
|
updatePwd(param, user, true);
|
|
-// updatePassword(param);
|
|
|
|
return Result.success();
|
|
return Result.success();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -202,7 +217,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
|
|
|
|
user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
|
|
user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
|
|
user.setUpdateTime(LocalDateTime.now());
|
|
user.setUpdateTime(LocalDateTime.now());
|
|
-// this.saveOrUpdate(user);
|
|
|
|
this.updateById(user);
|
|
this.updateById(user);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -235,12 +249,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity
|
|
return Result.failure("管理员账户不能停用/注销");
|
|
return Result.failure("管理员账户不能停用/注销");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
user.setIsEnabled(isEnabled);
|
|
user.setIsEnabled(isEnabled);
|
|
user.setUpdateTime(LocalDateTime.now());
|
|
user.setUpdateTime(LocalDateTime.now());
|
|
this.updateById(user);
|
|
this.updateById(user);
|
|
|
|
+
|
|
|
|
+ // 禁用, 强制用户退出
|
|
|
|
+ if (isEnabled==0){
|
|
|
|
+ delRedisByUserIds(Collections.singletonList(id.toString()));
|
|
|
|
+ }
|
|
|
|
+
|
|
return Result.success();
|
|
return Result.success();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Result register(RegisterDto param) {
|
|
public Result register(RegisterDto param) {
|
|
if (!param.getPassword().equals(param.getVerifyPassword())) {
|
|
if (!param.getPassword().equals(param.getVerifyPassword())) {
|