lidongdong
2023-07-05 c20f18b987d597b04e110665c57c0cc6eb796525
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -894,6 +894,10 @@
            loginUserInfoVO.setStoreIdId(storeId);
        }
        SysUserRoleDO sysUserRoleDO=sysUserRoleDAO.selectOne(new QueryWrapper<SysUserRoleDO>()
                .lambda().eq(SysUserRoleDO::getUserId,sysUserDO.getUserId()));
        loginUserInfoVO.setRoleId(sysUserRoleDO.getRoleId().toString());
        return R.ok(loginUserInfoVO);
    }
@@ -1252,6 +1256,15 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R addUserBackstage(AdministratorsUserVO administratorsUserVO) {
        List<SysUserDO> list=userDao.selectList(new QueryWrapper<SysUserDO>().lambda().
                       eq(SysUserDO::getAppId,administratorsUserVO.getAppid()).
                eq(SysUserDO::getAccount,administratorsUserVO.getAccount()));
        if(list!=null && list.size()>0)
        {
            return R.fail("账户已存在!");
        }
        ComActVO comActVO = userDao.selectCommunity(administratorsUserVO.getCommunityId());
        if (nonNull(comActVO)) {
            List<ComAreaTownCommunityVO> areaTownList = userDao.selectAreaTownCommunity(comActVO.getName());
@@ -1284,11 +1297,29 @@
            }
            sysRoleDO.setRoleSort(0);
            sysRoleDO.setCreateBy(administratorsUserVO.getUserId());
            int insert = roleDAO.insert(sysRoleDO);
            if (insert > 0) {
                SysRoleDO sysRoleDO1 = roleDAO.selectOne(
                        new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
                roleId = sysRoleDO1.getRoleId();
            sysRoleDO.setRoleId(Snowflake.getId());
            SysRoleDO sysRoleDOSelext = roleDAO.selectOne(
                    new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
            if(sysRoleDOSelext==null)
            {
                int insert = roleDAO.insert(sysRoleDO);
                if (insert > 0) {
                    SysRoleDO sysRoleDO1 = roleDAO.selectOne(
                            new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId()));
                    roleId = sysRoleDO1.getRoleId();
                    // 新角色设置所有权限
                    MenuRoleVO menuRoleVO = new MenuRoleVO();
                    menuRoleVO.setIsAll(1);
                    menuRoleVO.setCommunityId(communityId);
                    menuRoleVO.setRoleId(roleId);
                    this.putMenuRole(menuRoleVO);
                }
            }
            else
            {
                roleId = sysRoleDOSelext.getRoleId();
                // 新角色设置所有权限
                MenuRoleVO menuRoleVO = new MenuRoleVO();
                menuRoleVO.setIsAll(1);
@@ -1296,6 +1327,7 @@
                menuRoleVO.setRoleId(roleId);
                this.putMenuRole(menuRoleVO);
            }
        }
        if (roleId.intValue() == 777777777) {
            SysRoleDO sysRoleDO = new SysRoleDO();
@@ -1303,11 +1335,47 @@
            sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId());
            sysRoleDO.setRoleSort(0);
            sysRoleDO.setCreateBy(administratorsUserVO.getUserId());
            int insert = roleDAO.insert(sysRoleDO);
            if (insert > 0) {
                SysRoleDO sysRoleDO1 = roleDAO.selectOne(
                        new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
                roleId = sysRoleDO1.getRoleId();
            sysRoleDO.setRoleId(Snowflake.getId());
            SysRoleDO sysRoleDOSelext = roleDAO.selectOne(
                    new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
            if(sysRoleDOSelext==null)
            {
                int insert = roleDAO.insert(sysRoleDO);
                if (insert > 0) {
//                    SysRoleDO sysRoleDO1 = roleDAO.selectOne(
//                            new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId()));
                    roleId = sysRoleDOSelext.getRoleId();
                    // 新街道管理员角色设置固定三社权限
                    MenuRoleVO menuRoleVO = new MenuRoleVO();
                    List<Long> menu = new ArrayList<>();
                    if (administratorsUserVO.getSocialType() == 1) {
                        menu.add(233L);
                        menu.add(234L);
                        menu.add(235L);
                        menu.add(236L);
                        menu.add(237L);
                    } else if (administratorsUserVO.getSocialType() == 2) {
                        menu.add(233L);
                        menu.add(234L);
                        menu.add(236L);
                        menu.add(237L);
                        menu.add(238L);
                    } else if (administratorsUserVO.getSocialType() == 3) {
                        menu.add(233L);
                        menu.add(237L);
                    } else {
                        menuRoleVO.setIsAll(1);
                    }
                    menuRoleVO.setMenuIds(menu);
                    menuRoleVO.setRoleId(roleId);
                    this.putMenuRole(menuRoleVO);
                }
            }
            else
            {
                roleId = sysRoleDOSelext.getRoleId();
                // 新街道管理员角色设置固定三社权限
                MenuRoleVO menuRoleVO = new MenuRoleVO();
                List<Long> menu = new ArrayList<>();
@@ -1333,6 +1401,7 @@
                menuRoleVO.setRoleId(roleId);
                this.putMenuRole(menuRoleVO);
            }
        }
        SysRoleDO roleDO = roleDAO.selectById(roleId);
        if (ObjectUtils.isEmpty(roleDO)) {
@@ -1401,10 +1470,10 @@
            }
            sysRoleDO.setRoleSort(0);
            sysRoleDO.setCreateBy(administratorsUserVO.getUserId());
            SysRoleDO sysRoleDO1 = roleDAO.selectOne(
            List<SysRoleDO> sysRoleDO1 = roleDAO.selectList(
                    new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
            if (sysRoleDO1 != null) {
                sysRoleDO = sysRoleDO1;
            if (sysRoleDO1 != null && sysRoleDO1.size()>0 ) {
                sysRoleDO = sysRoleDO1.get(0);
                roleId = sysRoleDO.getRoleId();
            } else {
                roleDAO.insert(sysRoleDO);