From 8c60e0e3c58614a189b8682250054c38c130f4dc Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期二, 04 一月 2022 13:22:16 +0800 Subject: [PATCH] 1.4 河门口三社功能开发 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 95 insertions(+), 3 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 34d571b..3c7a0ff 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 @@ -358,6 +358,7 @@ loginUserInfoVO.setIsFourMember(2); loginUserInfoVO.setIsCommunityWorker(2); loginUserInfoVO.setIsPropertyWorker(2); + loginUserInfoVO.setIsSocialWorker(2); // 志愿者状态 String phone = sysUserDO.getPhone(); Long userCommunityId = sysUserDO.getCommunityId(); @@ -396,6 +397,10 @@ loginUserInfoVO.setIsmemberrole(1); } else if (isSysUser != null && isSysUser > 0) { loginUserInfoVO.setIsmemberrole(1); + } + Integer countSocialWorker = userDao.countSocialWorker(phone,userCommunityId); + if(countSocialWorker>0){ + loginUserInfoVO.setIsSocialWorker(1); } } loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null); @@ -1079,6 +1084,43 @@ this.putMenuRole(menuRoleVO); } } + if(roleId.intValue()==777777777){ + SysRoleDO sysRoleDO = new SysRoleDO(); + sysRoleDO.setRoleName("超级管理员"); + 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(); + // 新街道管理员角色设置固定三社权限 + 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); + } + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1102,7 +1144,7 @@ } - if (insert > 0 && sysUserDO.getType() == 3) {// 添加的用户是社区账号时 + if (insert > 0 && sysUserDO.getType() == 3 &&sysUserDO.getStreetId()==null) {// 添加的用户是社区账号时 // 添加网格综合治理管理后台用户 SysUserDO sysUserDOWangGe = new SysUserDO(); BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe); @@ -1146,6 +1188,49 @@ public R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO) { SysUserDO sysUserDO = new SysUserDO(); Long roleId = administratorsUserVO.getRoleId(); + if(roleId.intValue()==777777777){ + SysRoleDO sysRoleDO = new SysRoleDO(); + sysRoleDO.setRoleName("三社超级管理员"); + List<Long> menu=new ArrayList<>(); + if(administratorsUserVO.getSocialType()==1){ + sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(234L); + menu.add(235L); + menu.add(236L); + menu.add(237L); + } + else if(administratorsUserVO.getSocialType()==2){ + sysRoleDO.setRoleKey("social_org" + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(76L); + menu.add(234L); + menu.add(236L); + menu.add(237L); + menu.add(238L); + } + else if(administratorsUserVO.getSocialType()==3){ + sysRoleDO.setRoleKey("social_org_member" + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(237L); + } + + sysRoleDO.setRoleSort(0); + sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); + SysRoleDO sysRoleDO1 = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); + if(sysRoleDO1!=null){ + sysRoleDO=sysRoleDO1; + roleId = sysRoleDO.getRoleId(); + }else{ + roleDAO.insert(sysRoleDO); + // 新街道管理员角色设置固定三社权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1163,6 +1248,8 @@ throw new ServiceException("手机号已经存在"); } else if (e.getMessage().contains("union_account_type")) { throw new ServiceException("账户已经存在"); + }else if(e.getMessage().contains("23000")){ + throw new ServiceException("手机号已存在"); } } @@ -1240,7 +1327,12 @@ .anyMatch(sysRoleMenuDO -> sysRoleMenuDO.getMenuId().equals(menuId))).collect(Collectors.toList()); } if (!menuIds.isEmpty()) { - sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); + if(menuRoleVO.getMenuIds().isEmpty()){ + sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); + } + else { + sysRoleMenuDAO.batchInsertWithRoleId(menuRoleVO.getMenuIds(), roleId); + } } // for (int i = 0; i < menuIds.size(); i++) { // SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda() @@ -1322,7 +1414,7 @@ } Long communityId = sysUserDO.getCommunityId(); Long communityId1 = administratorsUserVO.getCommunityId(); - if (communityId1.intValue() != communityId.intValue()) { + if (communityId1!=null&&communityId1.intValue() != communityId.intValue()) { return R.fail("用户不属于当前平台"); } // 删除用户 -- Gitblit v1.7.1