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