From a33990498e32fda774dacf849bfcd660c58da8e7 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 28 四月 2022 15:22:17 +0800 Subject: [PATCH] Merge branch 'huacheng' into huacheng_paicha --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 223 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 210 insertions(+), 13 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 2a6ff6b..09ae33b 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 @@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO; +import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO; import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO; import com.panzhihua.service_user.dao.*; import com.panzhihua.service_user.entity.SysAppConfig; @@ -376,6 +377,9 @@ loginUserInfoVO.setIsFourMember(2); loginUserInfoVO.setIsCommunityWorker(2); loginUserInfoVO.setIsPropertyWorker(2); + loginUserInfoVO.setIsSocialWorker(2); + loginUserInfoVO.setIsFmsMember(2); + loginUserInfoVO.setIsAcidMember(2); // 志愿者状态 String phone = sysUserDO.getPhone(); Long userCommunityId = sysUserDO.getCommunityId(); @@ -410,6 +414,22 @@ if (countPropertyWorker > 0) { loginUserInfoVO.setIsPropertyWorker(1); } + //是否微团队成员 + int countFmsMember = userDao.countFmsMember(phone, userCommunityId); + if (countFmsMember > 0) { + loginUserInfoVO.setIsFmsMember(1); + } + //是否是防疫工作人员 + ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(phone); + if (nonNull(acidMember)) { + loginUserInfoVO.setIsAcidMember(1); + loginUserInfoVO.setRelationName(acidMember.getRelationName()); + } + //是否网格员 + int easyPhotoMember = userDao.countEasyPhotoMember(phone, userCommunityId); + if (easyPhotoMember > 0) { + loginUserInfoVO.setIsEasyPhotoMember(1); + } // 是否是"管理员"或者 本社区 "社区团队"、"党委成员" Integer countTeam = userDao.selectCountTeam(phone, userCommunityId); Integer selectCountMemberRole = userDao.selectCountMemberRole(phone, userCommunityId); @@ -421,6 +441,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); @@ -699,6 +723,7 @@ } ComActVO comActVO = userDao.selectCommunity(loginUserInfoVO.getCommunityId()); if (!ObjectUtils.isEmpty(comActVO)) { + loginUserInfoVO.setComActVO(comActVO); loginUserInfoVO.setCommunityName(comActVO.getName()); loginUserInfoVO.setAreaCode(comActVO.getAreaCode()); } @@ -708,8 +733,31 @@ //是否是社区物业人员 int countPropertyWorker = userDao.countPropertyWorker(userId, loginUserInfoVO.getCommunityId()); loginUserInfoVO.setIsPropertyWorker(countPropertyWorker > 0 ? 1 : 0); + //是否微团队成员 + int countFmsMember = userDao.countFmsMember(loginUserInfoVO.getPhone(), loginUserInfoVO.getCommunityId()); + loginUserInfoVO.setIsFmsMember(countFmsMember > 0 ? 1 : 0); + //是否是防疫工作人员 + loginUserInfoVO.setIsAcidMember(2); + ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(loginUserInfoVO.getPhone()); + if (nonNull(acidMember)) { + loginUserInfoVO.setIsAcidMember(1); + loginUserInfoVO.setRelationName(acidMember.getRelationName()); + } loginUserInfoVO.setIdCard(SensitiveUtil.desensitizedIdNumber(loginUserInfoVO.getIdCard())); loginUserInfoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(loginUserInfoVO.getPhone())); + //判断账号类型 + int countSocialOrg=userDao.countSocialOrg(userId); + if(countSocialOrg>0){ + loginUserInfoVO.setUserType(3); + } + else { + if(loginUserInfoVO.getStreetId()!=null){ + loginUserInfoVO.setUserType(1); + } + else { + loginUserInfoVO.setUserType(2); + } + } return R.ok(loginUserInfoVO); } @@ -1109,6 +1157,46 @@ 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); + } + else { + menuRoleVO.setIsAll(1); + } + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1132,7 +1220,7 @@ } - if (insert > 0 && sysUserDO.getType() == 3) {// 添加的用户是社区账号时 + if (insert > 0 && sysUserDO.getType() == 3 &&sysUserDO.getStreetId()==null) {// 添加的用户是社区账号时 // 添加网格综合治理管理后台用户 SysUserDO sysUserDOWangGe = new SysUserDO(); BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe); @@ -1176,6 +1264,47 @@ 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(300L); + menu.add(301L); + menu.add(302L); + menu.add(303L); + menu.add(304L); + } + else if(administratorsUserVO.getSocialType()==2){ + sysRoleDO.setRoleKey("social_org" + administratorsUserVO.getStreetId()); + menu.add(300L); + menu.add(301L); + menu.add(302L); + menu.add(303L); + } + else if(administratorsUserVO.getSocialType()==3){ + sysRoleDO.setRoleKey("social_org_member" + administratorsUserVO.getStreetId()); + menu.add(300L); + menu.add(303L); + } + + 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(sysRoleDO.getRoleId()); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1193,6 +1322,8 @@ throw new ServiceException("手机号已经存在"); } else if (e.getMessage().contains("union_account_type")) { throw new ServiceException("账户已经存在"); + }else if(e.getMessage().contains("23000")){ + throw new ServiceException("手机号已存在"); } } @@ -1270,7 +1401,12 @@ .anyMatch(sysRoleMenuDO -> sysRoleMenuDO.getMenuId().equals(menuId))).collect(Collectors.toList()); } if (!menuIds.isEmpty()) { - sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); + if(menuRoleVO.getMenuIds()==null){ + 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() @@ -1352,7 +1488,7 @@ } Long communityId = sysUserDO.getCommunityId(); Long communityId1 = administratorsUserVO.getCommunityId(); - if (communityId1.intValue() != communityId.intValue()) { + if (communityId1!=null&&communityId1.intValue() != communityId.intValue()) { return R.fail("用户不属于当前平台"); } // 删除用户 @@ -1854,6 +1990,30 @@ /** * 修改用户的党员状态 * + * @param phone + * 身份证号 + * @return 修改结果 + */ + @Override + public R updateUserIsPartymemberByPhone(String phone) { + SysUserDO sysUserDO = userDao.selectOne( + new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, phone).eq(SysUserDO::getType, 1)); + if (sysUserDO != null) { + sysUserDO.setIsPartymember(1); + int updated = userDao.updateById(sysUserDO); + if (updated > 0) { + // 删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); + stringRedisTemplate.delete(userKey); + } + log.info("新增党员修改用户党员状态成功 手机号【{}】", phone); + } + return R.ok(); + } + + /** + * 修改用户的党员状态 + * * @param idCard * 身份证号 * @return 修改结果 @@ -2194,7 +2354,7 @@ /** * 修改app用户密码 - * + * * @param userInfoAppDTO * 请求参数 * @return 修改结果 @@ -2226,7 +2386,7 @@ /** * 添加网格员 - * + * * @param eventGridMemberAddDTO * 请求参数 * @return 结果 @@ -2343,7 +2503,7 @@ /** * 网格员管理 - * + * * @param memberRelationDTO * 请求参数 * @return 网格员列表 @@ -2380,7 +2540,7 @@ /** * 修改网格员信息 - * + * * @param gridMemberDTO * 请求参数 * @return 修改结果 @@ -2476,7 +2636,7 @@ /** * 重置网格员密码 - * + * * @param gridMemberDTO * 请求参数 * @return 重置结果 @@ -2494,7 +2654,7 @@ /** * 批量删除网格员 - * + * * @param Ids * 网格员id集合 * @return 删除结果 @@ -2533,7 +2693,7 @@ /** * 查询社区的收益说明 - * + * * @param communityId * 社区id * @return 收益说明 @@ -2580,7 +2740,7 @@ /** * 根据用户id查询用户openid - * + * * @param userId * 用户id * @return openid @@ -2596,7 +2756,7 @@ /** * 查询社区后台工作人员列表 - * + * * @param communityId * 社区id * @return 社区后台工作人员列表 @@ -2730,7 +2890,7 @@ userDao.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO.getType(), disableOrEnableConvenientMerchantDTO.getUserIds()); return R.ok(); } - + /** * 根据openid维护社区团队里是否注册 * @param openid 用户微信唯一标识 @@ -2828,6 +2988,28 @@ LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); BeanUtils.copyProperties(sysUserDO, loginUserInfoVO); return R.ok(loginUserInfoVO); + } + + @Override + public R updateStreetId(AdministratorsUserVO administratorsUserVO) { + SysUserDO sysUserDO=new SysUserDO(); + BeanUtils.copyProperties(administratorsUserVO,sysUserDO); + userDao.updateById(sysUserDO); + return R.ok(); + } + + /** + * 删除用户信息缓存 + * @param phone + */ + @Override + public R deleteUserCashByPhone(String phone) { + SysUserDO sysUserDO = this.userDao.selectOne(new LambdaQueryWrapper<SysUserDO>().eq(SysUserDO::getPhone, phone).eq(SysUserDO::getType, 1)); + if (nonNull(sysUserDO)) { + String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); + stringRedisTemplate.delete(userKey); + } + return R.ok(); } /** @@ -3067,4 +3249,19 @@ } return rs.toString(); } + + @Override + public R updateUserPartyStatus(Long userId) { + SysUserDO sysUserDO = userDao.selectById(userId); + if (sysUserDO != null) { + sysUserDO.setIsPartymember(1); + int updated = userDao.updateById(sysUserDO); + if (updated > 0) { + // 删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); + stringRedisTemplate.delete(userKey); + } + } + return R.ok(); + } } -- Gitblit v1.7.1