From 7bfa6a85ad6a6c537b0f7ddb9f6a8795c8e8c866 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期四, 09 六月 2022 16:44:24 +0800
Subject: [PATCH] 五社&社区企业&人大代表

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |   80 +++++++++++++++++++++++++++++++++-------
 1 files changed, 66 insertions(+), 14 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 4ba20f5..08b6891 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.ComStreetVO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO;
 import com.panzhihua.service_user.dao.*;
 import com.panzhihua.service_user.entity.SysAppConfig;
@@ -375,12 +376,15 @@
         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) {
@@ -393,6 +397,11 @@
                     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);
@@ -403,7 +412,8 @@
                 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);
             }
@@ -417,6 +427,11 @@
             if (countFmsMember > 0) {
                 loginUserInfoVO.setIsFmsMember(1);
             }
+            //是否社会组织联系人
+            int countOrgNum = userDao.countOrgNum(phone);
+            if (countOrgNum > 0) {
+                loginUserInfoVO.setIsOrgContactPeople(1);
+            }
             // 是否是"管理员"或者 本社区 "社区团队"、"党委成员"
             Integer countTeam = userDao.selectCountTeam(phone, userCommunityId);
             Integer selectCountMemberRole = userDao.selectCountMemberRole(phone, userCommunityId);
@@ -429,9 +444,29 @@
             } 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);
@@ -719,23 +754,35 @@
         }
         //是否是社区物业人员
         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 : 0);
+        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()));
         //判断账号类型
-        int countSocialOrg=userDao.countSocialOrg(userId);
-        if(countSocialOrg>0){
+        Long orgId = userDao.countSocialOrg(userId);
+        if(nonNull(orgId)){
             loginUserInfoVO.setUserType(3);
+            loginUserInfoVO.setOrgId(orgId);
         }
         else {
             if(loginUserInfoVO.getStreetId()!=null){
                 loginUserInfoVO.setUserType(1);
             }
             else {
-                loginUserInfoVO.setUserType(2);
+                int count = userDao.countSocialOrgMember(userId);
+                if (count > 0) {
+                    loginUserInfoVO.setUserType(4);
+                } else {
+                    loginUserInfoVO.setUserType(2);
+                }
             }
         }
         return R.ok(loginUserInfoVO);
@@ -893,8 +940,8 @@
             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("身份证已经存在");
         }
@@ -1246,7 +1293,7 @@
         Long roleId = administratorsUserVO.getRoleId();
         if(roleId.intValue()==777777777){
             SysRoleDO sysRoleDO = new SysRoleDO();
-            sysRoleDO.setRoleName("三社超级管理员");
+            sysRoleDO.setRoleName("五社超级管理员");
             List<Long> menu=new ArrayList<>();
             if(administratorsUserVO.getSocialType()==1){
                 sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId());
@@ -1260,12 +1307,12 @@
                 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(301L);
                 menu.add(303L);
             }
 
@@ -1274,8 +1321,7 @@
             SysRoleDO sysRoleDO1 = roleDAO.selectOne(
                     new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey()));
             if(sysRoleDO1!=null){
-                sysRoleDO=sysRoleDO1;
-                roleId = sysRoleDO.getRoleId();
+                sysRoleDO = sysRoleDO1;
             }else{
                 roleDAO.insert(sysRoleDO);
                 // 新街道管理员角色设置固定三社权限
@@ -1284,6 +1330,7 @@
                 menuRoleVO.setRoleId(sysRoleDO.getRoleId());
                 this.putMenuRole(menuRoleVO);
             }
+            roleId = sysRoleDO.getRoleId();
         }
         SysRoleDO roleDO = roleDAO.selectById(roleId);
         if (ObjectUtils.isEmpty(roleDO)) {
@@ -1411,10 +1458,15 @@
      */
     @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("角色不存在");
@@ -1440,11 +1492,11 @@
             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);
             }
         }

--
Gitblit v1.7.1