Pu Zhibing
2025-04-07 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -83,8 +83,8 @@
    * 获取用户列表
    */
   @GetMapping("/list")
   @ApiOperation(value = "获取系统用户列表", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   public AjaxResult list(GetSysUserList getSysUserList) {
   @ApiOperation(value = "获取系统用户列表", tags = {"用户管理"})
   public AjaxResult<PageInfo<SysUser>> list(GetSysUserList getSysUserList) {
      PageInfo<SysUser> pageInfo = new PageInfo<>(getSysUserList.getPageCurr(), getSysUserList.getPageSize());
      PageInfo<SysUser> page = userService.getList(pageInfo, getSysUserList);
      return AjaxResult.success(page);
@@ -94,7 +94,7 @@
    * 获取用户选择列表
    */
   @PostMapping("/getChangeUserList")
   @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表", "门店后台-部门管理"})
   @ApiOperation(value = "获取用户选择列表", tags = {"管理后台-获取用户选择列表"})
   public AjaxResult<PageInfo<SysUser>> getChangeUserList(@RequestBody ChangeUserQuery query) {
      return AjaxResult.success(userService.getChangeUserList(query));
   }
@@ -104,20 +104,22 @@
    */
   @Log(title = "用户管理", businessType = BusinessType.INSERT)
   @PostMapping("/add")
   @ApiOperation(value = "添加系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "添加系统用户", tags = {"用户管理"})
   public AjaxResult add(@RequestBody SysUser user) {
      user.setUserName(user.getPhonenumber());
      Long userid = tokenService.getLoginUser().getUserid();
      SysUser sysUser1 = userService.getById(userid);
      if (!org.springframework.util.StringUtils.hasLength(user.getNickName())) {
         user.setNickName(user.getPhonenumber());
      }
      if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
         return error("手机号已开通账号");
      }
      if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) {
         return error("登录账号重复");
      }
      user.setPassword(SecurityUtils.encryptPassword("123456"));
      user.setDelFlag("0");
      user.setCreateTime(new Date());
      userService.save(user);
      SysUserRole userRole = new SysUserRole();
      userRole.setUserId(user.getUserId());
      userRole.setRoleId(user.getRoleId());
      sysUserRoleService.save(userRole);
      return AjaxResult.success();
   }
   
@@ -137,7 +139,7 @@
   /**
    * 根据用户编号获取详细信息
    */
   @ApiOperation(value = "获取用户详情", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "获取用户详情", tags = {"用户管理"})
   @GetMapping("/getInfo/{userId}")
   public AjaxResult getInfo(@PathVariable Long userId) {
      userService.checkUserDataScope(userId);
@@ -147,17 +149,6 @@
      ajax.put("posts", postService.selectPostAll());
      if (StringUtils.isNotNull(userId)) {
         SysUser sysUser = userService.selectUserById(userId);
         if (sysUser.getRoleType() == 2) {
            Long userid = tokenService.getLoginUser().getUserid();
            SysUser sysUser1 = userService.selectUserById(userid);
            UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId()));
            sysUser.setDeptId(one.getDeptId());
            sysUser.setNickName(one.getNickName());
            SysDept sysDept = deptService.selectDeptById(one.getDeptId());
            sysUser.setDept(sysDept);
            sysUser.setRoleId(one.getRoleId());
         }
         ajax.put("data", sysUser);
         ajax.put("postIds", postService.selectPostListByUserId(userId));
         ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList()));
@@ -171,19 +162,8 @@
    */
   @Log(title = "用户管理", businessType = BusinessType.UPDATE)
   @PutMapping("/update")
   @ApiOperation(value = "编辑系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "编辑系统用户", tags = {"用户管理"})
   public AjaxResult edit(@Validated @RequestBody SysUser user) {
      user.setUserName(user.getPhonenumber());
      if (!org.springframework.util.StringUtils.hasLength(user.getNickName())) {
         user.setNickName(user.getPhonenumber());
      }
      R<Integer> admin = this.isAdmin(user.getUserId());
      Integer data = admin.getData();
      if (data == null || data != 1) {
         SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
         one.setRoleId(user.getRoleId());
         sysUserRoleService.updateSysUserRole(one);
      }
      userService.checkUserAllowed(user);
      userService.checkUserDataScope(user.getUserId());
      SysUser sysUser = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
@@ -202,30 +182,13 @@
         return error("登录账号重复");
      }
      user.setUpdateBy(SecurityUtils.getUsername());
      if (user.getPassword() != null && !"".equals(user.getPassword())) {
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("a123456")));
         user.setPassWordUpdate(new Date());
      }
      if (user.getPhonenumber() != null) {
         user.setUserName(user.getPhonenumber());
      }
      user.setUpdateBy(SecurityUtils.getUsername());
      user.setUpdateTime(new Date());
      userService.updateUser(user);
      user = userService.getById(user.getUserId());
      //添加门店员工关系数据
      if (2 == user.getRoleType()) {
         UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId()));
         one.setUserId(user.getUserId());
         one.setShopId(user.getObjectId());
         one.setRoleType(one.getRoleType());
         one.setRoleId(user.getRoleId());
         one.setDeptId(user.getDeptId());
         one.setNickName(user.getNickName());
         userShopService.updateById(one);
      }
      SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
      one.setRoleId(user.getRoleId());
      sysUserRoleService.updateSysUserRole(one);
      return success();
   }
   
@@ -235,7 +198,7 @@
    */
   @Log(title = "用户管理", businessType = BusinessType.DELETE)
   @DeleteMapping("/{userIds}")
   @ApiOperation(value = "删除系统用户", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "删除系统用户", tags = {"用户管理"})
   public AjaxResult remove(@PathVariable Long[] userIds) {
      if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
         return error("当前用户不能删除");
@@ -246,7 +209,7 @@
   
   
   @PostMapping("/shopUserStart")
   @ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "账号管理--禁用/启用", tags = {"用户管理"})
   public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) {
      if (shopUserStart.getUserId() == null) {
         return AjaxResult.error("userId不能为空");
@@ -395,12 +358,12 @@
    */
   @Log(title = "用户管理", businessType = BusinessType.UPDATE)
   @PutMapping("/resetPwd")
   @ApiOperation(value = "重置密码", tags = {"管理后台-账号管理", "门店后台-部门管理"})
   @ApiOperation(value = "重置密码", tags = {"用户管理"})
   public AjaxResult resetPwd(@RequestBody SysUser user) {
      userService.checkUserAllowed(user);
      userService.checkUserDataScope(user.getUserId());
      
      user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("a123456")));
      user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("123456")));
      user.setUpdateBy(SecurityUtils.getUsername());
      return toAjax(userService.resetPwd(user));
   }
@@ -554,9 +517,6 @@
      }
      user.setCreateBy(SecurityUtils.getUsername());
      user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
      if (null == user.getRoleType()) {
         user.setRoleType(1);
      }
      userService.insertUser(user);
      SysUserRole sysUserRole = new SysUserRole();
      sysUserRole.setRoleId(user.getRoleId());
@@ -593,7 +553,7 @@
   @PostMapping("/saveShopUser")
   public R<Long> saveShopUser(@RequestBody SysUser user) {
      SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0")
            .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2));
            .eq(SysUser::getStatus, "0"));
      if (null == one) {
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         userService.save(user);
@@ -640,25 +600,6 @@
   }
   
   
   @ResponseBody
   @PutMapping("/switchShop/{shopId}")
   @ApiOperation(value = "切换门店", tags = {"门店后台-首页"})
   public R<Set<String>> switchShop(@PathVariable("shopId") Integer shopId) {
      Long userid = tokenService.getLoginUser().getUserid();
      UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, userid).eq(UserShop::getShopId, shopId));
      if (null == one) {
         return R.fail("切换失败");
      }
      SysUser sysUser = userService.getById(userid);
      sysUser.setObjectId(shopId);
      userService.updateById(sysUser);
      //查询用户权限列表
      Long roleId = one.getRoleId();
      Set<String> rolePerms = menuService.selectMenuPermsByRoleId(roleId);
      return R.ok(rolePerms);
   }
   /**
    * 通过账号和账号权限查询用户
    *
@@ -671,7 +612,6 @@
            .eq(SysUser::getUserName, userName)
            .eq(SysUser::getDelFlag, "0")
            .eq(SysUser::getStatus, 0)
            .eq(SysUser::getRoleType, roleType)
            .last("LIMIT 1"));
      return R.ok(user);
   }