From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 191 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 166 insertions(+), 25 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 a3079a2..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 @@ -1,6 +1,7 @@ package com.ruoyi.system.controller.sys; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; @@ -11,26 +12,49 @@ 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.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.LoginUser; -import com.ruoyi.system.service.sys.*; +import com.ruoyi.system.api.model.QwH5LoginVo; +import com.ruoyi.system.api.model.QwUserDetailDto; +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.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.Arrays; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; /** * 用户信息 - * + * * @author jqs */ @RestController @@ -54,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); + } + + /** * 获取用户列表 @@ -135,12 +198,15 @@ { return R.fail("保存用户'" + username + "'失败,注册账号已存在"); } - return R.ok(userService.registerUser(sysUser)); + return R.ok(userService.registerUser(sysUser)!=null); } + + + /** * 获取用户信息 - * + * * @return 用户信息 */ @GetMapping("getInfo") @@ -243,6 +309,9 @@ { return error("当前用户不能删除"); } + if(Arrays.stream(userIds).anyMatch((element->element.equals(1L)))){ + throw new ServiceException("禁止删除admin"); + } return toAjax(userService.deleteUserByIds(userIds)); } @@ -306,7 +375,6 @@ /** * 获取部门树列表 */ - @RequiresPermissions("system:user:list") @GetMapping("/deptTree") public AjaxResult deptTree(SysDept dept) { @@ -320,10 +388,29 @@ * @date 2023/4/30 15:36 * @version 1.0 */ - @InnerAuth - @PostMapping("/user/getSysUser") + @PostMapping("/getSysUser") public R<SysUser> getSysUser(@RequestBody Long userId){ + logger.info("userId"+userId); SysUser sysUser = userService.selectUserById(userId); + logger.info("sysUser"+sysUser.toString()); + return R.ok(sysUser); + } + + /** + * @description: 注册新用户 + * @author jqs34 + * @date 2023/4/30 15:32 + * @version 1.0 + */ + @PostMapping("/registerUser") + public R<SysUser> registerUser(@RequestBody SysUser sysUser){ + sysUser = userService.registerUser(sysUser); + return R.ok(sysUser); + } + + @PostMapping("/getSysUserByMobile") + public R<SysUser> getSysUserByMobile(@RequestBody String mobile){ + SysUser sysUser = userService.getSysUserByMobile(mobile); return R.ok(sysUser); } @@ -333,28 +420,82 @@ * @date 2023/4/30 15:32 * @version 1.0 */ - @InnerAuth - @PostMapping("/user/registerUser") - public R registerUser(@RequestBody SysUser sysUser){ - userService.registerUser(sysUser); - return R.ok(); - } - - - - /** - * @description: 更新用户手机 - * @author jqs34 - * @date 2023/4/30 15:32 - * @version 1.0 - */ - @InnerAuth - @PostMapping("/user/updateUserMobile") + @PostMapping("/updateUserMobile") public R updateUserMobile(@RequestBody SysUser sysUser){ userService.updateUserMobile(sysUser); return R.ok(); } + /** + * + * @param appEditUserDto + * @return + */ + @PostMapping("/editUserInfo") + public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto){ + userService.editUserInfo(appEditUserDto); + 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