puzhibing
2025-01-08 b22df417e0bc423c788b013feaad686531d69eed
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -11,30 +11,27 @@
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.UserShop;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.query.GetSysUserList;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -75,6 +72,13 @@
   
   @Resource
   private TokenService tokenService;
   @Lazy
   @Resource
   private ISysDeptService deptService;
   @Resource
   private UserShopService userShopService;
   
   
   /**
@@ -446,7 +450,14 @@
//        userRoleMapper.deleteUserRole(userIds);
//        // 删除用户与岗位关联
//        userPostMapper.deleteUserPost(userIds);
      return userMapper.deleteUserByIds(userIds);
      int i = userMapper.deleteUserByIds(userIds);
      List<SysUser> sysUsers = this.listByIds(Arrays.asList(userIds));
      for (SysUser user : sysUsers) {
         if(2 == user.getRoleType()){
            userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId()));
         }
      }
      return i;
   }
   
   /**
@@ -516,15 +527,31 @@
      }
      List<SysUser> list = this.baseMapper.getList(pageInfo, getSysUserList);
      for (SysUser sysUser : list) {
         List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId()));
         List<String> roleNames = new ArrayList<>();
         for (SysUserRole sysUserRole : list1) {
            SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId());
            roleNames.add(sysRole.getRoleName());
         if(sysUser.getRoleType() == 2){
            UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, sysUser1.getObjectId()).eq(UserShop::getUserId, sysUser.getUserId()));
            SysRole sysRole = roleMapper.selectRoleById(userShop.getRoleId());
            Long[] roleIds = new Long[]{userShop.getRoleId()};
            sysUser.setNickName(userShop.getNickName());
            sysUser.setRoleIds(roleIds);
            sysUser.setRoleNames(Arrays.asList(sysRole.getRoleName()));
            SysDept sysDept = deptService.selectDeptById(userShop.getDeptId());
            sysUser.setDept(sysDept);
         }else{
            List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId()));
            List<String> roleNames = new ArrayList<>();
            for (SysUserRole sysUserRole : list1) {
               SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId());
               if(null == sysRole){
                  continue;
               }
               roleNames.add(sysRole.getRoleName());
            }
            Long[] roleIds = new Long[]{};
            sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds));
            sysUser.setRoleNames(roleNames);
            SysDept sysDept = deptService.selectDeptById(sysUser.getDeptId());
            sysUser.setDept(sysDept);
         }
         Long[] roleIds = new Long[]{};
         sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds));
         sysUser.setRoleNames(roleNames);
      }
      return pageInfo.setRecords(list);
   }