无关风月
2025-01-15 f88a4802f5ecc039dc0bfb12385b7539ff516bb8
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -134,13 +134,13 @@
        }
        //门店员工添加数据,需要判断账号是否存在,共用同一个账号
        if(2 == sysUser1.getRoleType()){
            AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData();
            if(null == appUser){
                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){
                AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData();
                if(null == appUser){
                    return error("请先注册小程序账号");
                }
                user.setCreateBy(SecurityUtils.getUsername());
                user.setPassword(SecurityUtils.encryptPassword("a123456"));
                user.setRoleType(sysUser1.getRoleType());
@@ -154,16 +154,23 @@
                sysUserRole.setRoleId(user.getRoleId());
                sysUserRole.setUserId(user.getUserId());
                userRoleService.insertSysUserRole(sysUserRole);
                //添加小程序店员关系数据
                if(null != appUser){
            }
            //添加小程序店员关系数据
            if(null != appUser){
                List<AppUserShop> data = appUserShopClient.getAppUserShop(appUser.getId()).getData();
                Optional<AppUserShop> first = data.stream().filter(s -> s.getShopId().equals(sysUser1.getObjectId())).findFirst();
                if(!first.isPresent()){
                    AppUserShop appUserShop = new AppUserShop();
                    appUserShop.setAppUserId(appUser.getId());
                    appUserShop.setShopId(sysUser1.getObjectId());
                    appUserShop.setRoleType(2);
                    appUserShopClient.saveAppUserShop(appUserShop);
                    appUser.setUserType(2);
                    appUserClient.editAppUserById(appUser);
                }
            }
            //添加门店员工关系数据
            UserShop userShop = new UserShop();
            userShop.setUserId(one.getUserId());
@@ -402,6 +409,30 @@
    }
    /**
     * 门店登录使用
     * @param username
     * @return
     */
    @InnerAuth
    @GetMapping("/infoShop/{username}")
    public R<LoginUser> infoShop(@PathVariable("username") String username) {
        SysUser sysUser = userService.selectUserByUserName(username);
        if (StringUtils.isNull(sysUser)) {
            return R.fail("用户名或密码错误");
        }
        // 角色集合
        Set<String> roles = permissionService.getRolePermission(sysUser);
        // 权限集合getRolePermission
        Set<String> permissions = permissionService.getMenuPermission(sysUser);
        LoginUser sysUserVo = new LoginUser();
        sysUserVo.setSysUser(sysUser);
        sysUserVo.setRoles(roles);
        sysUserVo.setPermissions(permissions);
        return R.ok(sysUserVo);
    }
    /**
     * 注册用户信息
     */
    @PostMapping("/register")
@@ -565,6 +596,8 @@
    public R<SysUser> queryUserByUserName(@RequestBody String userName){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getUserName, userName)
                .eq(SysUser::getDelFlag, "0")
                .eq(SysUser::getStatus, 0)
                .last("LIMIT 1"));
        return R.ok(user);
    }
@@ -690,4 +723,29 @@
        Set<String> rolePerms = menuService.selectMenuPermsByRoleId(roleId);
        return R.ok(rolePerms);
    }
    /**
     * 通过账号和账号权限查询用户
     * @param userName
     * @return
     */
    @PostMapping("/queryUserByUserNameAndRoleType")
    public R<SysUser>  queryUserByUserNameAndRoleType(@RequestParam("userName") String userName, @RequestParam("roleType") Integer roleType){
        SysUser user = userService.getOne(Wrappers.lambdaQuery(SysUser.class)
                .eq(SysUser::getUserName, userName)
                .eq(SysUser::getDelFlag, "0")
                .eq(SysUser::getStatus, 0)
                .eq(SysUser::getRoleType, roleType)
                .last("LIMIT 1"));
        return R.ok(user);
    }
    @PostMapping("/delSysUserById")
    public R delSysUserById(@RequestParam("userId") Long userId){
        userService.deleteUserById(userId);
        return R.ok();
    }
}