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

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 98 insertions(+), 21 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 eda1ddf..612ce4b 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
@@ -886,6 +886,18 @@
         if (sysUserDO.getBindingCheckUnitId() != null) {
             loginUserInfoVO.setBackstageType(4);
         }
+        //判断是否是商家账号
+        Long storeId = userDao.selectStoreIdIdByUserId(sysUserDO.getUserId());
+        if (null != storeId){
+            loginUserInfoVO.setBackstageUserId(sysUserDO.getUserId());
+            loginUserInfoVO.setBackstageType(5);
+            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);
     }
 
@@ -1244,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());
@@ -1276,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);
@@ -1288,6 +1327,7 @@
                 menuRoleVO.setRoleId(roleId);
                 this.putMenuRole(menuRoleVO);
             }
+
         }
         if (roleId.intValue() == 777777777) {
             SysRoleDO sysRoleDO = new SysRoleDO();
@@ -1295,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<>();
@@ -1325,6 +1401,7 @@
                 menuRoleVO.setRoleId(roleId);
                 this.putMenuRole(menuRoleVO);
             }
+
         }
         SysRoleDO roleDO = roleDAO.selectById(roleId);
         if (ObjectUtils.isEmpty(roleDO)) {
@@ -1393,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);
@@ -3408,7 +3485,7 @@
         }
         Map<String, String> headerMap = new HashMap<>();
         headerMap.put("appid", appId);
-        String resultJson = HttpClientUtil.get("https://api.uucsh.cn/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "&timestamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null);
+        String resultJson = HttpClientUtil.get("https://uu-api.imashuo.com/member/wx/get-access?province=" + uuLoginVO.getProvince() + "&city=" + uuLoginVO.getCity() + "&area=" + uuLoginVO.getArea() + "&appid=" + appId + "&timestamp=" + uuLoginVO.getTimestamp() + "&sign=" + uuLoginVO.getSign() + "&mobile=" + uuLoginVO.getMobile() + "&couponId=" + uuLoginVO.getCouponId(), headerMap, null);
         JSONObject result = JSON.parseObject(resultJson);
         if (result.get("status").equals(1)) {
             return R.ok(result.get("data"));
@@ -3768,16 +3845,16 @@
     @Override
     public R getAllCommunityList() {
         List<Integer> areaList = areaCodeList();
-        List<AreaVOS> areaVOList = new ArrayList<>();
+        List<AreaVOStr> areaVOList = new ArrayList<>();
         for (Integer code : areaList) {
-            AreaVOS areaVO = new AreaVOS();
-            areaVO.setId(code);
+            AreaVOStr areaVO = new AreaVOStr();
+            areaVO.setId(code+"");
             areaVO.setName(areaCodeToName(code.longValue()));
-            List<StreetVOS> streetVOS = userDao.selectStreetByAreaCode(code);
-            Iterator<StreetVOS> iterator = streetVOS.listIterator();
+            List<StreetVOStr> streetVOS = userDao.selectStreetByAreaCodeStr(code);
+            Iterator<StreetVOStr> iterator = streetVOS.listIterator();
             while (iterator.hasNext()) {
-                StreetVOS vo = iterator.next();
-                List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(vo.getId(), 3);
+                StreetVOStr vo = iterator.next();
+                List<CommunityVO> communityVOS = userDao.selectCommunityByStreetId(Long.parseLong(vo.getId()), 3);
                 vo.setChildList(communityVOS);
 
             }

--
Gitblit v1.7.1