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 | 242 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 197 insertions(+), 45 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 b9950de..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,14 +1,35 @@ package com.ruoyi.system.controller.sys; -import java.io.IOException; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; - -import com.ruoyi.system.api.model.AppMiniLoginDto; -import com.ruoyi.system.api.model.AppMiniLoginVo; -import com.ruoyi.system.service.member.MemberService; +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; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +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.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; @@ -22,32 +43,19 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -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.domain.SysDept; -import com.ruoyi.system.api.domain.SysRole; -import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.model.LoginUser; -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 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 ruoyi + * + * @author jqs */ @RestController @RequestMapping("/user") @@ -72,7 +80,43 @@ private ISysConfigService configService; @Autowired - private MemberService memberService; + 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); + } + + /** * 获取用户列表 @@ -154,12 +198,15 @@ { return R.fail("保存用户'" + username + "'失败,注册账号已存在"); } - return R.ok(userService.registerUser(sysUser)); + return R.ok(userService.registerUser(sysUser)!=null); } + + + /** * 获取用户信息 - * + * * @return 用户信息 */ @GetMapping("getInfo") @@ -262,6 +309,9 @@ { return error("当前用户不能删除"); } + if(Arrays.stream(userIds).anyMatch((element->element.equals(1L)))){ + throw new ServiceException("禁止删除admin"); + } return toAjax(userService.deleteUserByIds(userIds)); } @@ -325,25 +375,127 @@ /** * 获取部门树列表 */ - @RequiresPermissions("system:user:list") @GetMapping("/deptTree") public AjaxResult deptTree(SysDept dept) { return success(deptService.selectDeptTreeList(dept)); } + /** - * 小程序登录 + * @description: TODO + * @author jqs34 + * @date 2023/4/30 15:36 + * @version 1.0 */ - @InnerAuth - @GetMapping("/miniLogin") - @ApiOperation("小程序登录") - public R<AppMiniLoginVo> getMemberByCode(@RequestBody AppMiniLoginDto appMiniLoginDto) + @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); + } + + /** + * @description: 更新用户手机 + * @author jqs34 + * @date 2023/4/30 15:32 + * @version 1.0 + */ + @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) { - AppMiniLoginVo appMiniLoginVo = memberService.getMemberByCode(appMiniLoginDto); - if(appMiniLoginVo ==null){ - return R.fail("登录失败!"); + if(mgtFrozenMemberDto.getId()==1){ + throw new ServiceException("禁止删除admin"); } - return R.ok(appMiniLoginVo); + 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