puzhibing
2026-08-28 f103c8c1e09e2475dc4ac4d3ddc1598146e4da38
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -21,8 +21,6 @@
import com.ruoyi.system.query.GetSysUserList;
import com.ruoyi.system.query.ShopUserStart;
import com.ruoyi.system.service.*;
import io.seata.core.context.RootContext;
import io.seata.spring.annotation.GlobalTransactional;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
@@ -102,10 +100,15 @@
    /**
     * 获取用户选择列表
     */
    @RequiresPermissions(value = {"/systemUserManagement", "/accountingStrategy/select", "/accountingStrategy", "/roleManagement/info"}, logical = Logical.OR)
    @PostMapping("/getChangeUserList")
    @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"})
    public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) {
        return AjaxResult.success(userService.getChangeUserList(query));
        PageInfo<SysUser> pageInfo = userService.getChangeUserList(query);
        if (pageInfo != null && pageInfo.getRecords() != null) {
            pageInfo.getRecords().forEach(u -> u.setPassword(null));
        }
        return AjaxResult.success(pageInfo);
    }
    /**
@@ -115,7 +118,6 @@
    @Log(title = "用户管理", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ApiOperation(value = "添加系统用户", tags = {"管理后台-系统用户管理"})
    @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
    public AjaxResult add(@RequestBody SysUser user) {
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
@@ -130,6 +132,7 @@
        user.setCreateBy(SecurityUtils.getUsername());
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
        user.setRoleType(1);
        user.setPassWordUpdate(new Date());
        userService.insertUser(user);
        SysUserRole sysUserRole = new SysUserRole();
        sysUserRole.setRoleId(user.getRoleId());
@@ -181,6 +184,7 @@
    /**
     * 根据用户编号获取详细信息
     */
    @RequiresPermissions(value = {"/systemUserManagement/update"}, logical = Logical.OR)
    @ApiOperation(value = "获取用户详情", tags = {"管理后台-系统用户管理"})
    @GetMapping("/getInfo/{userId}")
    public AjaxResult getInfo(@PathVariable Long userId) {
@@ -196,6 +200,7 @@
            List<Site> data = siteClient.getSiteByIds(siteIds).getData();
            List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList());
            sysUser.setSiteNames(siteNames);
            sysUser.setPassword(null);
            ajax.put(AjaxResult.DATA_TAG, sysUser);
            ajax.put("postIds", postService.selectPostListByUserId(userId));
            ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
@@ -211,7 +216,6 @@
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/update")
    @ApiOperation(value = "编辑系统用户", tags = {"管理后台-系统用户管理"})
    @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
    public AjaxResult edit(@Validated @RequestBody SysUser user) {
        user.setUserName(user.getPhonenumber());
        if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
@@ -252,7 +256,15 @@
        user.setUpdateBy(SecurityUtils.getUsername());
        user.setUpdateTime(new Date());
        userService.updateUser(user);
        //删除旧的角色数据,添加新的角色
        userRoleService.remove(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
        //添加新的角色数据
        SysUserRole userRole = new SysUserRole();
        userRole.setUserId(user.getUserId());
        userRole.setRoleId(user.getRoleId());
        userRoleService.save(userRole);
        //删除旧的站点数据后添加新的
        userSiteClient.delUserSite(user.getUserId());
        List<Integer> siteIds = user.getSiteIds();
@@ -305,12 +317,14 @@
    }
    @InnerAuth
    @PostMapping("/getUserList")
    public R<List<SysUser>> getUserList(@RequestBody List<Integer> userIds) {
        List<SysUser> list = userService.list(new LambdaQueryWrapper<SysUser>().in(SysUser::getUserId, userIds));
        return R.ok(list);
    }
    @InnerAuth
    @PostMapping("/getSysUserFromCompanyId")
    public R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq) {
        LambdaQueryWrapper<SysUser> sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -358,6 +372,7 @@
        }
        return R.ok(companyUserListVos);
    }
    @InnerAuth
    @PostMapping("/isAdmin")
    public R<Integer> isAdmin(@RequestBody Long userId){
        SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
@@ -365,6 +380,7 @@
        return R.ok(id.intValue());
    }
    @InnerAuth
    @PostMapping("/getSysUser")
    public R<SysUser> getSysUser(@RequestParam("userId") Long userId) {
        try {
@@ -376,6 +392,7 @@
        }
    }
    @InnerAuth
    @PostMapping("/updateSysUser")
    @Transactional(rollbackFor = Exception.class)
    public R<Boolean> updateSysUser(@RequestBody SysUser sysUser) {
@@ -398,6 +415,7 @@
    }
    @InnerAuth
    @PostMapping("/companySaveSysUser")
    public R<List<Integer>> companySaveSysUser(@RequestBody CompanyAddSysUserDto dto) {
        List<CompanyUserListVo> list = dto.getList();
@@ -430,6 +448,7 @@
                        sysUser.setNickName(companyUserListVo.getNickName());
                        sysUser.setCreateBy(SecurityUtils.getUsername());
                        sysUser.setCreateTime(new Date());
                        sysUser.setPassWordUpdate(new Date());
                        userService.insertUser(sysUser);
                        SysUserRole sysUserRole = new SysUserRole();
                        sysUserRole.setRoleId(20l);
@@ -446,6 +465,7 @@
    }
    @InnerAuth
    @PostMapping("/addTRepairSysUser")
    public R<List<Integer>> addTRepairSysUser(@RequestBody TRepairShopAddDto dto) {
        List<TRepairShopAdd> list = dto.getList();
@@ -465,6 +485,7 @@
                    sysUser.setObjectId(dto.getRepairId());
                    sysUser.setUserName(add.getPhonenumber());
                    sysUser.setNickName(add.getPhonenumber());
                    sysUser.setPassWordUpdate(new Date());
                    userService.insertUser(sysUser);
                    userIds.add(sysUser.getUserId().intValue());
                }
@@ -495,7 +516,6 @@
        sysUserVo.setSysUser(sysUser);
        sysUserVo.setRoles(roles);
        sysUserVo.setPermissions(permissions);
        return R.ok(sysUserVo);
    }
@@ -526,6 +546,7 @@
        Set<String> roles = permissionService.getRolePermission(user);
        // 权限集合
        Set<String> permissions = permissionService.getMenuPermission(user);
        user.setPassword(null);
        AjaxResult ajax = AjaxResult.success();
        ajax.put("user", user);
        ajax.put("roles", roles);
@@ -552,6 +573,7 @@
    /**
     * 状态修改
     */
    @RequiresPermissions(value = {"/systemUserManagement/forbidden"}, logical = Logical.OR)
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/changeStatus")
    public AjaxResult changeStatus(@RequestBody SysUser user) {
@@ -564,11 +586,14 @@
    /**
     * 根据用户编号获取授权角色
     */
    @RequiresPermissions(value = {"/systemUserManagement", "/roleManagement/info"}, logical = Logical.OR)
    @GetMapping("/authRole/{userId}")
    public AjaxResult authRole(@PathVariable("userId") Long userId) {
        userService.checkUserDataScope(userId);
        AjaxResult ajax = AjaxResult.success();
        SysUser user = userService.selectUserById(userId);
        List<SysRole> roles = roleService.selectRolesByUserId(userId);
        user.setPassword(null);
        ajax.put("user", user);
        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
        return ajax;
@@ -577,6 +602,7 @@
    /**
     * 用户授权角色
     */
    @RequiresPermissions(value = {"/systemUserManagement/update", "/roleManagement/info"}, logical = Logical.OR)
    @Log(title = "用户管理", businessType = BusinessType.GRANT)
    @PutMapping("/authRole")
    public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
@@ -588,11 +614,13 @@
    /**
     * 获取部门树列表
     */
    @RequiresPermissions(value = {"/systemUserManagement", "/roleManagement/info"}, logical = Logical.OR)
    @GetMapping("/deptTree")
    public AjaxResult deptTree(SysDept dept) {
        return success(deptService.selectDeptTreeList(dept));
    }
    @InnerAuth
    @PostMapping("/updateUser")
    public R<Boolean>  updateUser(@RequestBody SysUser sysUser){
        return R.ok(userService.updateById(sysUser));
@@ -603,6 +631,7 @@
     * @param userId
     * @return
     */
    @InnerAuth
    @PostMapping("/queryRoleByUserId/{userId}")
    public R<SysRole> queryRoleByUserId(@PathVariable("userId") Long userId){
        SysUserRole one = sysUserRoleService.getOne(Wrappers.lambdaQuery(SysUserRole.class)
@@ -619,6 +648,7 @@
    }
    @InnerAuth
    @PostMapping("/queryRoleByRoleId/{roleId}")
    public R<SysRole> queryRoleByRoleId(@PathVariable("roleId") Long roleId){
        return R.ok( roleService.getOne(Wrappers.lambdaQuery(SysRole.class)
@@ -631,6 +661,7 @@
     * @param phoneList
     * @return
     */
    @InnerAuth
    @PostMapping("/queryUserByPhoneList")
    public R<List<SysUser>> queryUserByPhoneList(@RequestBody List<String> phoneList){
        List<SysUser> list = userService.list(Wrappers.lambdaQuery(SysUser.class)
@@ -644,6 +675,7 @@
     * @param dtoList
     * @return
     */
    @InnerAuth
    @PostMapping("/addUserRole")
    public R<Boolean> addUserRole(@RequestBody List<SysUserRoleDTO> dtoList){
        List<SysUserRole> userRoles = new ArrayList<>();
@@ -661,6 +693,7 @@
     * @param phone
     * @return
     */
    @InnerAuth
    @PostMapping("/queryUserByPhone")
    public R<SysUser>  queryUserByPhone(@RequestBody String phone){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
@@ -676,6 +709,7 @@
     * @return
     */
    @ResponseBody
    @InnerAuth
    @PostMapping("/queryUserByUserName")
    public R<SysUser> queryUserByUserName(@RequestBody String userName){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
@@ -690,6 +724,7 @@
     * @param user
     */
    @ResponseBody
    @InnerAuth
    @PostMapping("/addSysUser")
    @Transactional(rollbackFor = Exception.class)
    public R<Long> addSysUser(@RequestBody SysUser user) {
@@ -710,6 +745,7 @@
        if(null == user.getRoleType()){
            user.setRoleType(1);
        }
        user.setPassWordUpdate(new Date());
        userService.insertUser(user);
        SysUserRole sysUserRole = new SysUserRole();
        sysUserRole.setRoleId(user.getRoleId());
@@ -720,6 +756,7 @@
    
    
    @ResponseBody
    @InnerAuth
    @PostMapping("/resetPassword")
    public R resetPassword(@RequestBody SysUser user) {
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -730,6 +767,7 @@
    
    
    @ResponseBody
    @InnerAuth
    @PostMapping("/getSysUserById")
    public SysUser getSysUserById(@RequestParam("userId") Long userId){
        return userService.getById(userId);