|
@@ -15,6 +15,7 @@
|
|
|
*/
|
|
|
package me.zhengjie.modules.system.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import me.zhengjie.config.FileProperties;
|
|
|
import me.zhengjie.domain.LocalStorage;
|
|
@@ -29,10 +30,7 @@ import me.zhengjie.modules.dm.user.service.dto.DmUserDto;
|
|
|
import me.zhengjie.modules.dm.user.service.mapstruct.DmUserMapper;
|
|
|
import me.zhengjie.modules.security.service.OnlineUserService;
|
|
|
import me.zhengjie.modules.security.service.UserCacheClean;
|
|
|
-import me.zhengjie.modules.system.domain.Dept;
|
|
|
-import me.zhengjie.modules.system.domain.Job;
|
|
|
-import me.zhengjie.modules.system.domain.Role;
|
|
|
-import me.zhengjie.modules.system.domain.User;
|
|
|
+import me.zhengjie.modules.system.domain.*;
|
|
|
import me.zhengjie.exception.EntityExistException;
|
|
|
import me.zhengjie.exception.EntityNotFoundException;
|
|
|
import me.zhengjie.modules.system.repository.UserRepository;
|
|
@@ -52,6 +50,7 @@ import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.constraints.NotBlank;
|
|
|
import java.io.File;
|
|
@@ -78,6 +77,7 @@ public class UserServiceImpl implements UserService {
|
|
|
private final DmUserMapper dmUserMapper;
|
|
|
private final DmUserRepository dmUserRepository;
|
|
|
private final DmCardService dmCardService;
|
|
|
+
|
|
|
@Override
|
|
|
public Object queryAll(UserQueryCriteria criteria, Pageable pageable) {
|
|
|
Page<User> page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
|
|
@@ -155,7 +155,7 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
|
|
|
// 如果用户被禁用,则清除用户登录信息
|
|
|
- if(!resources.getEnabled()){
|
|
|
+ if (!resources.getEnabled()) {
|
|
|
onlineUserService.kickOutForUsername(resources.getUsername());
|
|
|
}
|
|
|
|
|
@@ -180,6 +180,22 @@ public class UserServiceImpl implements UserService {
|
|
|
delCaches(resources.getId(), resources.getUsername());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateRole(String userId, String roleIds) {
|
|
|
+ User user = userRepository.findById(userId).orElseGet(User::new);
|
|
|
+ ValidationUtil.isNull( user.getId(),"User","id",userId);
|
|
|
+ Set<Role> roles = new HashSet<>();
|
|
|
+ List<Long> idList = Arrays.stream(roleIds.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
+ for (Long roleId : idList) {
|
|
|
+ System.out.println("roleId:"+roleId);
|
|
|
+ Role role = new Role();
|
|
|
+ role.setId(roleId);
|
|
|
+ roles.add(role);
|
|
|
+ }
|
|
|
+ user.setRoles(roles);
|
|
|
+ userRepository.save(user);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void createSync(User resources) {
|
|
@@ -203,7 +219,7 @@ public class UserServiceImpl implements UserService {
|
|
|
User user = userRepository.findById(resources.getId()).orElseGet(User::new);
|
|
|
ValidationUtil.isNull(user.getId(), "User", "id", resources.getId());
|
|
|
// 如果用户被禁用,则清除用户登录信息
|
|
|
- if(!resources.getEnabled()){
|
|
|
+ if (!resources.getEnabled()) {
|
|
|
onlineUserService.kickOutForUsername(resources.getUsername());
|
|
|
}
|
|
|
user.setUsername(resources.getUsername());
|
|
@@ -224,7 +240,7 @@ public class UserServiceImpl implements UserService {
|
|
|
user.setUserRootGroupId(resources.getUserRootGroupId());
|
|
|
user.setUserRootGroupName(resources.getUserRootGroupName());
|
|
|
user.setUserCode(resources.getUserCode());
|
|
|
- if(StringUtils.isBlank(user.getOrgPassword())){
|
|
|
+ if (StringUtils.isBlank(user.getOrgPassword())) {
|
|
|
user.setOrgPassword(resources.getOrgPassword());
|
|
|
}
|
|
|
userRepository.save(user);
|
|
@@ -250,8 +266,8 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<User> findByDmUserId(String dmUserId,String userId) {
|
|
|
- return userRepository.findByDmUserId(dmUserId,userId);
|
|
|
+ public List<User> findByDmUserId(String dmUserId, String userId) {
|
|
|
+ return userRepository.findByDmUserId(dmUserId, userId);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -309,7 +325,7 @@ public class UserServiceImpl implements UserService {
|
|
|
//判断旧文件地址是否是null的
|
|
|
if (StringUtils.isNotBlank(oldPath)) {
|
|
|
//根据旧文件地址删除文件
|
|
|
- if (FileUtil.del(oldPath)){
|
|
|
+ if (FileUtil.del(oldPath)) {
|
|
|
//删除成功需要删除对应文件表中的数据 tool_local_storage
|
|
|
// this.localStorageService.deleteByUrl(oldPath);
|
|
|
}
|
|
@@ -371,20 +387,21 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
/**
|
|
|
* 将绑定的DM用户信息跟账号进行关联
|
|
|
+ *
|
|
|
* @param resources
|
|
|
*/
|
|
|
- public User setDmUserInfoToSysUser(User resources){
|
|
|
+ public User setDmUserInfoToSysUser(User resources) {
|
|
|
//判断关联的DM用户是否已关联别的账号
|
|
|
- if(resources != null && resources.getDmUser() != null && resources.getDmUser().getId() != null){
|
|
|
- List<User> list = findByDmUserId(resources.getDmUser().getId(),resources.getId());
|
|
|
- if(list != null && list.size() > 0){
|
|
|
+ if (resources != null && resources.getDmUser() != null && resources.getDmUser().getId() != null) {
|
|
|
+ List<User> list = findByDmUserId(resources.getDmUser().getId(), resources.getId());
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
throw new BadRequestException("该用户已绑定账号,请重新选择绑定用户");
|
|
|
}
|
|
|
}
|
|
|
- if(resources.getDmUser() != null && resources.getDmUser().getId() != null){
|
|
|
+ if (resources.getDmUser() != null && resources.getDmUser().getId() != null) {
|
|
|
//查询关联的DM用户信息
|
|
|
DmUserDto dmUserDto = dmUserService.findById(resources.getDmUser().getId());
|
|
|
- if(dmUserDto != null){
|
|
|
+ if (dmUserDto != null) {
|
|
|
List<DmUserDto> temp = new ArrayList<>();
|
|
|
temp.add(dmUserDto);
|
|
|
DmUser dmUser = dmUserMapper.toEntity(temp).get(0);
|
|
@@ -392,13 +409,13 @@ public class UserServiceImpl implements UserService {
|
|
|
resources.setNickName(dmUser.getName());//昵称/用户名
|
|
|
resources.setGender(dmUser.getSex());//性别
|
|
|
resources.setEmail(dmUser.getEmail());//邮箱
|
|
|
- resources.setExtendsCol(resources.getOrgPassword()+"||"+resources.getPassword());//现密码
|
|
|
+ resources.setExtendsCol(resources.getOrgPassword() + "||" + resources.getPassword());//现密码
|
|
|
resources.setDept(dmUser.getDept());//部门
|
|
|
resources.setJobs(dmUser.getJobs());//岗位
|
|
|
resources.setRoles(dmUser.getRoles());//角色
|
|
|
//判断是否是管理员
|
|
|
- for(Role r : dmUser.getRoles()){
|
|
|
- if(StringUtils.isNotBlank(r.getRoleKey()) && r.getRoleKey().equals("admin")){
|
|
|
+ for (Role r : dmUser.getRoles()) {
|
|
|
+ if (StringUtils.isNotBlank(r.getRoleKey()) && r.getRoleKey().equals("admin")) {
|
|
|
resources.setIsAdmin(true);
|
|
|
break;
|
|
|
}
|
|
@@ -416,23 +433,24 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
/**
|
|
|
* 解绑用户
|
|
|
+ *
|
|
|
* @param ids
|
|
|
*/
|
|
|
- public void unBindDmUser(Set<String> ids) throws Exception{
|
|
|
- for(String id: ids){
|
|
|
+ public void unBindDmUser(Set<String> ids) throws Exception {
|
|
|
+ for (String id : ids) {
|
|
|
//查询用户信息
|
|
|
- User user = userMapper.toEntity(findById(id));
|
|
|
- if(user != null){
|
|
|
- user.setIsAdmin(false);
|
|
|
- user.setDmUser(null);
|
|
|
- user.setEmail(null);
|
|
|
- user.setGender(null);
|
|
|
- user.setNickName(null);
|
|
|
- user.setRoles(new HashSet<>());
|
|
|
- user.setJobs(new HashSet<>());
|
|
|
- user.setDept(null);
|
|
|
- update(user);
|
|
|
- }
|
|
|
+ User user = userMapper.toEntity(findById(id));
|
|
|
+ if (user != null) {
|
|
|
+ user.setIsAdmin(false);
|
|
|
+ user.setDmUser(null);
|
|
|
+ user.setEmail(null);
|
|
|
+ user.setGender(null);
|
|
|
+ user.setNickName(null);
|
|
|
+ user.setRoles(new HashSet<>());
|
|
|
+ user.setJobs(new HashSet<>());
|
|
|
+ user.setDept(null);
|
|
|
+ update(user);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|