|  |  | 
 |  |  | import com.ruoyi.common.constant.UserConstants; | 
 |  |  | import com.ruoyi.common.core.controller.BaseController; | 
 |  |  | import com.ruoyi.common.core.domain.AjaxResult; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysRole; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUserDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.*; | 
 |  |  | import com.ruoyi.common.core.domain.model.LoginUser; | 
 |  |  | import com.ruoyi.common.core.page.TableDataInfo; | 
 |  |  | import com.ruoyi.common.enums.BusinessType; | 
 |  |  | import com.ruoyi.common.exception.base.BaseException; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.ruoyi.common.utils.StringUtils; | 
 |  |  | import com.ruoyi.common.utils.poi.ExcelUtil; | 
 |  |  | 
 |  |  | import com.ruoyi.system.service.ISysRoleService; | 
 |  |  | import com.ruoyi.system.service.ISysUserService; | 
 |  |  | import com.smartor.mapper.SysUserDeptMapper; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.lang3.ArrayUtils; | 
 |  |  | import org.apache.commons.lang3.ObjectUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | import org.springframework.validation.annotation.Validated; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | 
 |  |  |  * | 
 |  |  |  * @author ruoyi | 
 |  |  |  */ | 
 |  |  | @Slf4j | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("/system/user") | 
 |  |  | public class SysUserController extends BaseController { | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private SysUserDeptMapper sysUserDeptMapper; | 
 |  |  |  | 
 |  |  |     @Value("${isAdmin}") | 
 |  |  |     private List<Long> isAdmin; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取用户列表 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     @GetMapping("/list") | 
 |  |  |     public TableDataInfo list(SysUser user) { | 
 |  |  |         startPage(); | 
 |  |  |         LoginUser loginUser = getLoginUser(); | 
 |  |  |         String orgid = loginUser.getUser().getOrgid(); | 
 |  |  |         user.setOrgid(orgid); | 
 |  |  |         List<SysUser> list = userService.selectUserList(user); | 
 |  |  |         return getDataTable(list); | 
 |  |  |     } | 
 |  |  | 
 |  |  |     //@PreAuthorize("@ss.hasPermi('system:user:query')") | 
 |  |  |     @GetMapping("/getInfo/{userId}") | 
 |  |  |     public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { | 
 |  |  |         log.info("--------userId的值为:{}",userId); | 
 |  |  |         userService.checkUserDataScope(userId); | 
 |  |  |         AjaxResult ajax = AjaxResult.success(); | 
 |  |  |         List<SysRole> roles = roleService.selectRoleAll(); | 
 |  |  |         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | 
 |  |  |         ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | 
 |  |  |         ajax.put("posts", postService.selectPostAll()); | 
 |  |  |         if (StringUtils.isNotNull(userId)) { | 
 |  |  |             SysUser sysUser = userService.selectUserById(userId); | 
 |  |  | 
 |  |  |         SysUserDept sysUserDept = new SysUserDept(); | 
 |  |  |         sysUserDept.setUserId(userId); | 
 |  |  |         sysUserDept.setDeptType("1"); | 
 |  |  |         LoginUser loginUser = getLoginUser(); | 
 |  |  |         SysUser user = loginUser.getUser(); | 
 |  |  |         log.info("--------user的值为:{}",user); | 
 |  |  |         sysUserDept.setOrgid(user.getOrgid()); | 
 |  |  |         sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); | 
 |  |  |         ajax.put("belongDepts", sysUserDeptKSs); | 
 |  |  |  | 
 |  |  | 
 |  |  |         SysUser user = userService.selectUserById(userId); | 
 |  |  |         List<SysRole> roles = roleService.selectRolesByUserId(userId); | 
 |  |  |         ajax.put("user", user); | 
 |  |  |         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | 
 |  |  |         ajax.put("roles", isAdmin.contains(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); | 
 |  |  |         return ajax; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     //@PreAuthorize("@ss.hasPermi('system:user:edit')") | 
 |  |  |     @Log(title = "用户管理", businessType = BusinessType.GRANT) | 
 |  |  |     @PostMapping("/authRole") | 
 |  |  |     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) { | 
 |  |  |     @PostMapping("/authRole/insertAuthRole") | 
 |  |  |     public AjaxResult insertAuthRole(@RequestBody AuthRole authRole) { | 
 |  |  |         log.info("-----用户授权角色的入参为:userId={},roleIds={}", authRole.getUserId(), authRole.getRoleIds()); | 
 |  |  |         if (ObjectUtils.isEmpty(authRole.getRoleIds())) { | 
 |  |  |             throw new BaseException("角色为空,请检查之后再次尝试"); | 
 |  |  |         } | 
 |  |  |         Long[] roleIds = authRole.getRoleIds().stream().toArray(Long[]::new); | 
 |  |  |         Long userId = authRole.getUserId(); | 
 |  |  |         userService.checkUserDataScope(userId); | 
 |  |  |         userService.insertUserAuth(userId, roleIds,getOrgid()); | 
 |  |  |         userService.insertUserAuth(userId, roleIds, getOrgid()); | 
 |  |  |         return success(); | 
 |  |  |     } | 
 |  |  |  |