| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO; |
| | | import com.panzhihua.common.model.vos.community.ComStreetVO; |
| | | import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO; |
| | | import com.panzhihua.service_user.dao.*; |
| | | import com.panzhihua.service_user.entity.SysAppConfig; |
| | |
| | | loginUserInfoVO.setIsmemberrole(2); |
| | | loginUserInfoVO.setIsFourMember(2); |
| | | loginUserInfoVO.setIsCommunityWorker(2); |
| | | loginUserInfoVO.setIsDpcMember(2); |
| | | loginUserInfoVO.setIsPropertyWorker(2); |
| | | loginUserInfoVO.setIsSocialWorker(2); |
| | | loginUserInfoVO.setIsFmsMember(2); |
| | | loginUserInfoVO.setIsOrgContactPeople(2); |
| | | // 志愿者状态 |
| | | String phone = sysUserDO.getPhone(); |
| | | Long userCommunityId = sysUserDO.getCommunityId(); |
| | | Long streetId = sysUserDO.getStreetId(); |
| | | if (userCommunityId != null) { |
| | | ComActVO comActVO = userDao.selectCommunity(userCommunityId); |
| | | if (comActVO != null) { |
| | |
| | | loginUserInfoVO.setAppSecret(sysAppConfig.getSecret()); |
| | | } |
| | | } |
| | | } else if (nonNull(streetId)){ |
| | | ComStreetVO streetVO = userDao.selectStreetById(streetId); |
| | | if (nonNull(streetVO)) { |
| | | loginUserInfoVO.setAreaCode(streetVO.getAreaCode().toString()); |
| | | } |
| | | } |
| | | if (!ObjectUtils.isEmpty(phone)) { |
| | | ComMngVolunteerMngVO comMngVolunteerMngVO = userDao.selectVolunteerMngByPhone(phone); |
| | |
| | | loginUserInfoVO.setVolunteerStatus(state); |
| | | } |
| | | //是否四长四员 |
| | | Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard,sysUserDO.getIdCard())); |
| | | Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda() |
| | | .eq(ComActFourMember::getIdCard,sysUserDO.getIdCard()).eq(ComActFourMember::getCommunityId, userCommunityId)); |
| | | if(countFourMember>0){ |
| | | loginUserInfoVO.setIsFourMember(1); |
| | | } |
| | |
| | | int countPropertyWorker = userDao.countPropertyWorker(Long.parseLong(userId), userCommunityId); |
| | | if (countPropertyWorker > 0) { |
| | | loginUserInfoVO.setIsPropertyWorker(1); |
| | | } |
| | | //是否微团队成员 |
| | | int countFmsMember = userDao.countFmsMember(phone, userCommunityId); |
| | | if (countFmsMember > 0) { |
| | | loginUserInfoVO.setIsFmsMember(1); |
| | | } |
| | | //是否社会组织联系人 |
| | | int countOrgNum = userDao.countOrgNum(phone); |
| | | if (countOrgNum > 0) { |
| | | loginUserInfoVO.setIsOrgContactPeople(1); |
| | | } |
| | | // 是否是"管理员"或者 本社区 "社区团队"、"党委成员" |
| | | Integer countTeam = userDao.selectCountTeam(phone, userCommunityId); |
| | |
| | | loginUserInfoVO.setIsmemberrole(1); |
| | | } else if (isSysUser != null && isSysUser > 0) { |
| | | loginUserInfoVO.setIsmemberrole(1); |
| | | } |
| | | Integer isDpcMember = userDao.selectCountDpc(phone, userCommunityId); |
| | | if (isDpcMember > 0) { |
| | | loginUserInfoVO.setIsDpcMember(1); |
| | | } |
| | | Integer countSocialWorker = userDao.countSocialWorker(phone,userCommunityId); |
| | | if(countSocialWorker>0){ |
| | | loginUserInfoVO.setIsSocialWorker(1); |
| | | } |
| | | //判断账号类型 |
| | | Long orgId = userDao.countSocialOrg(Long.parseLong(userId)); |
| | | if (nonNull(orgId)) { |
| | | loginUserInfoVO.setUserType(3); |
| | | } else { |
| | | if (loginUserInfoVO.getStreetId() != null) { |
| | | loginUserInfoVO.setUserType(1); |
| | | } else { |
| | | int count = userDao.countSocialOrgMember(Long.parseLong(userId)); |
| | | if (count > 0) { |
| | | loginUserInfoVO.setUserType(4); |
| | | } else { |
| | | loginUserInfoVO.setUserType(2); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null); |
| | |
| | | } |
| | | ComActVO comActVO = userDao.selectCommunity(loginUserInfoVO.getCommunityId()); |
| | | if (!ObjectUtils.isEmpty(comActVO)) { |
| | | loginUserInfoVO.setComActVO(comActVO); |
| | | loginUserInfoVO.setCommunityName(comActVO.getName()); |
| | | loginUserInfoVO.setAreaCode(comActVO.getAreaCode()); |
| | | } |
| | |
| | | } |
| | | //是否是社区物业人员 |
| | | int countPropertyWorker = userDao.countPropertyWorker(userId, loginUserInfoVO.getCommunityId()); |
| | | loginUserInfoVO.setIsPropertyWorker(countPropertyWorker > 0 ? 1 : 0); |
| | | loginUserInfoVO.setIsPropertyWorker(countPropertyWorker > 0 ? 1 : 2); |
| | | //是否微团队成员 |
| | | int countFmsMember = userDao.countFmsMember(loginUserInfoVO.getPhone(), loginUserInfoVO.getCommunityId()); |
| | | loginUserInfoVO.setIsFmsMember(countFmsMember > 0 ? 1 : 2); |
| | | //是否人大代表成员 |
| | | Integer isDpcMember = userDao.selectCountDpc(loginUserInfoVO.getPhone(), loginUserInfoVO.getCommunityId()); |
| | | loginUserInfoVO.setIsDpcMember(isDpcMember > 0 ? 1 : 2); |
| | | //是否社会组织联系人 |
| | | int countOrgNum = userDao.countOrgNum(loginUserInfoVO.getPhone()); |
| | | loginUserInfoVO.setIsOrgContactPeople(countOrgNum > 0 ? 1 : 2); |
| | | loginUserInfoVO.setIdCard(SensitiveUtil.desensitizedIdNumber(loginUserInfoVO.getIdCard())); |
| | | loginUserInfoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(loginUserInfoVO.getPhone())); |
| | | //判断账号类型 |
| | | Long orgId = userDao.countSocialOrg(userId); |
| | | if(nonNull(orgId)){ |
| | | loginUserInfoVO.setUserType(3); |
| | | loginUserInfoVO.setOrgId(orgId); |
| | | } |
| | | else { |
| | | if(loginUserInfoVO.getStreetId()!=null){ |
| | | loginUserInfoVO.setUserType(1); |
| | | } |
| | | else { |
| | | int count = userDao.countSocialOrgMember(userId); |
| | | if (count > 0) { |
| | | loginUserInfoVO.setUserType(4); |
| | | } else { |
| | | loginUserInfoVO.setUserType(2); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(loginUserInfoVO); |
| | | } |
| | | |
| | |
| | | sysUserDO.setPhone(loginUserInfoVO.getPhone()); |
| | | } |
| | | sysUserDO.setFaceState(null); |
| | | SysUserDO sysUserDO1 = |
| | | userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard).eq(SysUserDO::getCommunityId,loginUserInfoVO.getCommunityId())); |
| | | SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard) |
| | | .eq(SysUserDO::getCommunityId,loginUserInfoVO.getCommunityId())); |
| | | if (!ObjectUtils.isEmpty(sysUserDO1)) { |
| | | return R.fail("身份证已经存在"); |
| | | } |
| | |
| | | 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("角色不存在"); |
| | |
| | | |
| | | } |
| | | |
| | | if (insert > 0 && sysUserDO.getType() == 3) {// 添加的用户是社区账号时 |
| | | if (insert > 0 && sysUserDO.getType() == 3 &&sysUserDO.getStreetId()==null) {// 添加的用户是社区账号时 |
| | | // 添加网格综合治理管理后台用户 |
| | | SysUserDO sysUserDOWangGe = new SysUserDO(); |
| | | BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe); |
| | |
| | | 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(303L); |
| | | } |
| | | else if(administratorsUserVO.getSocialType()==3){ |
| | | sysRoleDO.setRoleKey("social_org_member" + administratorsUserVO.getStreetId()); |
| | | menu.add(300L); |
| | | menu.add(301L); |
| | | 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; |
| | | }else{ |
| | | roleDAO.insert(sysRoleDO); |
| | | // 新街道管理员角色设置固定三社权限 |
| | | MenuRoleVO menuRoleVO = new MenuRoleVO(); |
| | | menuRoleVO.setMenuIds(menu); |
| | | menuRoleVO.setRoleId(sysRoleDO.getRoleId()); |
| | | this.putMenuRole(menuRoleVO); |
| | | } |
| | | roleId = sysRoleDO.getRoleId(); |
| | | } |
| | | SysRoleDO roleDO = roleDAO.selectById(roleId); |
| | | if (ObjectUtils.isEmpty(roleDO)) { |
| | | return R.fail("角色不存在"); |
| | |
| | | throw new ServiceException("手机号已经存在"); |
| | | } else if (e.getMessage().contains("union_account_type")) { |
| | | throw new ServiceException("账户已经存在"); |
| | | }else if(e.getMessage().contains("23000")){ |
| | | throw new ServiceException("手机号已存在"); |
| | | } |
| | | |
| | | } |
| | |
| | | .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() |
| | |
| | | */ |
| | | @Override |
| | | public R putUserBackstage(AdministratorsUserVO administratorsUserVO) { |
| | | Long userId = administratorsUserVO.getUserId(); |
| | | SysUserDO sysUserDO = new SysUserDO(); |
| | | Long roleId = administratorsUserVO.getRoleId(); |
| | | SysRoleDO roleDO = null; |
| | | if (null != roleId && 0 != roleId) { |
| | | if (roleId.equals(777777777L)) { |
| | | SysUserRoleDO sysUserRoleDO = sysUserRoleDAO.selectOne(new LambdaQueryWrapper<SysUserRoleDO>().eq(SysUserRoleDO::getUserId, userId)); |
| | | roleId = sysUserRoleDO.getRoleId(); |
| | | } |
| | | roleDO = roleDAO.selectById(roleId); |
| | | if (ObjectUtils.isEmpty(roleDO)) { |
| | | return R.fail("角色不存在"); |
| | |
| | | SysUserRoleDO sysUserRoleDO = new SysUserRoleDO(); |
| | | sysUserRoleDO.setRoleId(roleDO.getRoleId()); |
| | | int update1 = sysUserRoleDAO.update(sysUserRoleDO, new UpdateWrapper<SysUserRoleDO>().lambda() |
| | | .eq(SysUserRoleDO::getUserId, administratorsUserVO.getUserId())); |
| | | .eq(SysUserRoleDO::getUserId, userId)); |
| | | if (update1 > 0) { |
| | | return R.ok(); |
| | | } else { |
| | | sysUserRoleDO.setUserId(administratorsUserVO.getUserId()); |
| | | sysUserRoleDO.setUserId(userId); |
| | | sysUserRoleDAO.insert(sysUserRoleDO); |
| | | } |
| | | } |
| | |
| | | } |
| | | Long communityId = sysUserDO.getCommunityId(); |
| | | Long communityId1 = administratorsUserVO.getCommunityId(); |
| | | if (communityId1.intValue() != communityId.intValue()) { |
| | | if (communityId1!=null&&communityId1.intValue() != communityId.intValue()) { |
| | | return R.fail("用户不属于当前平台"); |
| | | } |
| | | // 删除用户 |
| | |
| | | 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(); |
| | | } |
| | | |
| | | /** |
| | | * 微商业街新增商家账号 |
| | | * @param mcsMerchantDTO |