From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 01 四月 2025 16:03:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 131 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 124 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java index dd8f3a1..54c0ff6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java @@ -12,26 +12,41 @@ import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppEditUserDto; -import com.ruoyi.system.api.domain.poji.config.SysTag; +import com.ruoyi.system.api.domain.dto.MgtFrozenMemberDto; import com.ruoyi.system.api.domain.poji.sys.SysDept; import com.ruoyi.system.api.domain.poji.sys.SysRole; +import com.ruoyi.system.api.domain.poji.sys.SysStaff; import com.ruoyi.system.api.domain.poji.sys.SysUser; -import com.ruoyi.system.api.model.AppMiniLoginVo; import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.QwH5LoginVo; import com.ruoyi.system.api.model.QwUserDetailDto; -import com.ruoyi.system.service.config.SysTagService; -import com.ruoyi.system.service.sys.*; +import com.ruoyi.system.domain.dto.UserMenuEditDto; +import com.ruoyi.system.service.staff.SysStaffService; +import com.ruoyi.system.service.sys.ISysConfigService; +import com.ruoyi.system.service.sys.ISysDeptService; +import com.ruoyi.system.service.sys.ISysPermissionService; +import com.ruoyi.system.service.sys.ISysPostService; +import com.ruoyi.system.service.sys.ISysRoleService; +import com.ruoyi.system.service.sys.ISysUserService; +import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.Set; @@ -63,6 +78,45 @@ @Autowired private ISysConfigService configService; + + @Autowired + private SysStaffService sysStaffService; + + + /** + * 根据部门获取所有员工id + * @param userId + * @return + */ + @GetMapping("/getUserIdsByDept/{userId}") + public R<List<Long>> getUserIdsByDept(@PathVariable("userId") Long userId) + { + SysUser loginSysUser = userService.selectUserById(userId); + SysUser querySysUser = new SysUser(); + querySysUser.setDelFlag("0"); + querySysUser.setDeptId(loginSysUser.getDeptId()); + List<SysUser> userList = userService.selectUserList(querySysUser); + List<Long> userIds = userList.stream().map(sysUser->{ + return sysUser.getUserId(); + }).collect(Collectors.toList()); + return R.ok(userIds); + } + + + /** + * 根据部门id获取用户列表 + * @param deptId + * @return + */ + @PostMapping("/getUsersByDeptId") + R<List<SysUser>> getUsersByDeptId(@RequestBody Long deptId){ + SysUser sysUser = new SysUser(); + sysUser.setDeptId(deptId); + List<SysUser> sysUsers = userService.selectUserList(sysUser); + return R.ok(sysUsers); + } + + /** * 获取用户列表 @@ -255,6 +309,9 @@ { return error("当前用户不能删除"); } + if(Arrays.stream(userIds).anyMatch((element->element.equals(1L)))){ + throw new ServiceException("禁止删除admin"); + } return toAjax(userService.deleteUserByIds(userIds)); } @@ -318,7 +375,6 @@ /** * 获取部门树列表 */ - @RequiresPermissions("system:user:list") @GetMapping("/deptTree") public AjaxResult deptTree(SysDept dept) { @@ -381,4 +437,65 @@ return R.ok(); } + @ApiOperation(value = "修改用户权限") + @Log(title = "用户管理", businessType = BusinessType.UPDATE,operContent = "修改用户权限") + @PostMapping("/editUserMenu") + public R editUserMenu(@RequestBody UserMenuEditDto userMenuEditDto){ + userService.editUserMenu(userMenuEditDto); + return R.ok(); + } + + /** + * @description 冻结用户 + * @author jqs + * @date 2023/6/29 17:20 + * @param mgtFrozenMemberDto + * @return R<Activeness> + */ + @PostMapping("/frozenUser") + public R frozenUser(@RequestBody MgtFrozenMemberDto mgtFrozenMemberDto) + { + if(mgtFrozenMemberDto.getId()==1){ + throw new ServiceException("禁止删除admin"); + } + userService.frozenUser(mgtFrozenMemberDto); + return R.ok(); + } + + /** + * @description 员工端登录 + * @author jqs + * @date 2023/7/14 10:04 + * @param qwUserDetail + * @return R<QwH5LoginVo> + */ + @PostMapping("/qwH5StaffLogin") + @ApiOperation(value = "员工端登录") + public R<QwH5LoginVo> qwH5StaffLogin(@RequestBody QwUserDetailDto qwUserDetail) + { + String mobile = qwUserDetail.getMobile(); + SysStaff sysStaff = sysStaffService.getByMobile(mobile); + if(sysStaff==null){ + throw new ServiceException(AppErrorConstant.USER_NO_SYSTEM); + } + Long userId = sysStaff.getUserId(); + SysUser sysUser = userService.selectUserById(userId); + Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); + // 构造登录返回信息 + QwH5LoginVo qwH5LoginVo = new QwH5LoginVo(); + qwH5LoginVo.setUserid(qwUserDetail.getUserid()); + qwH5LoginVo.setMobile(qwUserDetail.getMobile()); + qwH5LoginVo.setSysUser(sysUser); + return R.ok(qwH5LoginVo); + } + + + /** + * 获取当前用户权限范围内的员工id + * @return + */ + @PostMapping("/getScopeOfAuthorityUserId") + public List<Long> getScopeOfAuthorityUserId(){ + return userService.getScopeOfAuthorityUserId(); + } } -- Gitblit v1.7.1