From 239c8255bde33852335dfdff37c430aecf29fe0b Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 05 七月 2023 09:59:28 +0800
Subject: [PATCH] 修改新增社区 不同区域同名字社区添加报错

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |   74 ++++++++++++++++++++++++++++++++-----
 1 files changed, 64 insertions(+), 10 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
index 1a3fbe8..a701acd 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1298,11 +1298,28 @@
             sysRoleDO.setRoleSort(0);
             sysRoleDO.setCreateBy(administratorsUserVO.getUserId());
             sysRoleDO.setRoleId(Snowflake.getId());
-            int insert = roleDAO.insert(sysRoleDO);
-            if (insert > 0) {
-                SysRoleDO sysRoleDO1 = roleDAO.selectOne(
-                        new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId()));
-                roleId = sysRoleDO1.getRoleId();
+
+            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);
@@ -1310,6 +1327,7 @@
                 menuRoleVO.setRoleId(roleId);
                 this.putMenuRole(menuRoleVO);
             }
+
         }
         if (roleId.intValue() == 777777777) {
             SysRoleDO sysRoleDO = new SysRoleDO();
@@ -1318,11 +1336,46 @@
             sysRoleDO.setRoleSort(0);
             sysRoleDO.setCreateBy(administratorsUserVO.getUserId());
             sysRoleDO.setRoleId(Snowflake.getId());
-            int insert = roleDAO.insert(sysRoleDO);
-            if (insert > 0) {
-                SysRoleDO sysRoleDO1 = roleDAO.selectOne(
-                        new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleId, sysRoleDO.getRoleId()));
-                roleId = sysRoleDO1.getRoleId();
+
+            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();
+                    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<>();
@@ -1348,6 +1401,7 @@
                 menuRoleVO.setRoleId(roleId);
                 this.putMenuRole(menuRoleVO);
             }
+
         }
         SysRoleDO roleDO = roleDAO.selectById(roleId);
         if (ObjectUtils.isEmpty(roleDO)) {

--
Gitblit v1.7.1