huliguo
2025-04-23 f2070facdb5715e7349df69cfe257289c680d292
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -116,7 +116,7 @@
     */
    @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();
@@ -132,51 +132,7 @@
            return error("登录账号重复");
        }
        //门店员工添加数据,需要判断账号是否存在,共用同一个账号
        if(2 == sysUser1.getRoleType()){
            AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData();
            if(null == appUser){
                return error("请先注册小程序账号");
            }
            SysUser one2 = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber())
                    .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getObjectId, sysUser1.getObjectId())
                    .eq(SysUser::getRoleType, 2));
            if(null != one2){
                return error("登录账号重复");
            }
            SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber())
                    .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2));
            if(null == one){
                user.setCreateBy(SecurityUtils.getUsername());
                user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("a123456")));
                user.setRoleType(sysUser1.getRoleType());
                user.setObjectId(sysUser1.getObjectId());
                if(null != appUser){
                    user.setAppUserId(appUser.getId());
                }
                userService.insertUser(user);
                one = user;
                SysUserRole sysUserRole = new SysUserRole();
                sysUserRole.setRoleId(user.getRoleId());
                sysUserRole.setUserId(user.getUserId());
                userRoleService.insertSysUserRole(sysUserRole);
            }
            //添加门店员工关系数据
            UserShop one1 = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, one.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId()));
            if(null == one1){
                UserShop userShop = new UserShop();
                userShop.setUserId(one.getUserId());
                userShop.setShopId(sysUser1.getObjectId());
                userShop.setRoleType(2);
                userShop.setRoleId(user.getRoleId());
                userShop.setDeptId(user.getDeptId());
                userShop.setNickName(user.getNickName());
                userShop.setCreateTime(LocalDateTime.now());
                userShopService.save(userShop);
            }
        }else{
            user.setCreateBy(SecurityUtils.getUsername());
            user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("a123456")));
@@ -186,7 +142,7 @@
            sysUserRole.setRoleId(user.getRoleId());
            sysUserRole.setUserId(user.getUserId());
            userRoleService.insertSysUserRole(sysUserRole);
        }
        return AjaxResult.success();
    }
    
@@ -220,17 +176,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()));
@@ -288,17 +233,6 @@
        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);
        }
        return success();
    }
@@ -396,7 +330,7 @@
            return R.fail("用户名或密码错误");
        }
        // 角色集合
        Set<String> roles = permissionService.getRolePermission(sysUser);
        Set<String> roles = permissionService.getRolePermission(sysUser);//admin 或 其他权限
        // 权限集合getRolePermission
        Set<String> permissions = permissionService.getMenuPermission(sysUser);
        LoginUser sysUserVo = new LoginUser();
@@ -475,7 +409,6 @@
    public AjaxResult resetPwd(@RequestBody SysUser user) {
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
        user.setPassword(SecurityUtils.encryptPassword(MD5Generator.generateMD5("a123456")));
        user.setUpdateBy(SecurityUtils.getUsername());
        return toAjax(userService.resetPwd(user));