From bf71f1fd72fa08204b67bd14a656890015b75247 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 07 三月 2022 22:04:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 148 insertions(+), 5 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 fb240bf..4ba20f5 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
@@ -305,8 +305,13 @@
new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
} else {
LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
- wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or()
- .eq(SysUserDO::getPhone, name));
+ if (type == 11) {
+ //只允许通过account登录
+ wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name));
+ } else {
+ wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or()
+ .eq(SysUserDO::getPhone, name));
+ }
sysUserDO = userDao.selectOne(wrapper);
}
boolean empty = ObjectUtils.isEmpty(sysUserDO);
@@ -371,6 +376,8 @@
loginUserInfoVO.setIsFourMember(2);
loginUserInfoVO.setIsCommunityWorker(2);
loginUserInfoVO.setIsPropertyWorker(2);
+ loginUserInfoVO.setIsSocialWorker(2);
+ loginUserInfoVO.setIsFmsMember(2);
// 志愿者状态
String phone = sysUserDO.getPhone();
Long userCommunityId = sysUserDO.getCommunityId();
@@ -405,6 +412,11 @@
if (countPropertyWorker > 0) {
loginUserInfoVO.setIsPropertyWorker(1);
}
+ //是否微团队成员
+ int countFmsMember = userDao.countFmsMember(phone, userCommunityId);
+ if (countFmsMember > 0) {
+ loginUserInfoVO.setIsFmsMember(1);
+ }
// 是否是"管理员"或者 本社区 "社区团队"、"党委成员"
Integer countTeam = userDao.selectCountTeam(phone, userCommunityId);
Integer selectCountMemberRole = userDao.selectCountMemberRole(phone, userCommunityId);
@@ -416,6 +428,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);
@@ -694,6 +710,7 @@
}
ComActVO comActVO = userDao.selectCommunity(loginUserInfoVO.getCommunityId());
if (!ObjectUtils.isEmpty(comActVO)) {
+ loginUserInfoVO.setComActVO(comActVO);
loginUserInfoVO.setCommunityName(comActVO.getName());
loginUserInfoVO.setAreaCode(comActVO.getAreaCode());
}
@@ -703,8 +720,24 @@
//是否是社区物业人员
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.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);
}
@@ -1104,6 +1137,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("角色不存在");
@@ -1127,7 +1200,7 @@
}
- if (insert > 0 && sysUserDO.getType() == 3) {// 添加的用户是社区账号时
+ if (insert > 0 && sysUserDO.getType() == 3 &&sysUserDO.getStreetId()==null) {// 添加的用户是社区账号时
// 添加网格综合治理管理后台用户
SysUserDO sysUserDOWangGe = new SysUserDO();
BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe);
@@ -1171,6 +1244,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("角色不存在");
@@ -1188,6 +1302,8 @@
throw new ServiceException("手机号已经存在");
} else if (e.getMessage().contains("union_account_type")) {
throw new ServiceException("账户已经存在");
+ }else if(e.getMessage().contains("23000")){
+ throw new ServiceException("手机号已存在");
}
}
@@ -1265,7 +1381,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()
@@ -1347,7 +1468,7 @@
}
Long communityId = sysUserDO.getCommunityId();
Long communityId1 = administratorsUserVO.getCommunityId();
- if (communityId1.intValue() != communityId.intValue()) {
+ if (communityId1!=null&&communityId1.intValue() != communityId.intValue()) {
return R.fail("用户不属于当前平台");
}
// 删除用户
@@ -2825,6 +2946,28 @@
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
--
Gitblit v1.7.1