liujie
2025-05-30 535223079f6fa155feb492e1b48786ece31d3467
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/IdentityInformationServiceImpl.java
@@ -46,7 +46,6 @@
                .ne(SystemUser::getStatus, 3)
                .one();
        // 获取身份
        UserIdentityDTO userIdentityDTO = (UserIdentityDTO) redisUtils.get("identity:" + phone);
        // 权限列表
        List<PermissionsVO> permissions = new ArrayList<>();
@@ -54,85 +53,91 @@
        identityInformationVO.setPartyMember(partyMember);
        identityInformationVO.setSystemUser(systemUser);
        // 获取提示内容是否确认
        Integer isConfirm = (Integer) redisUtils.get("confirmContent:" + phone);
        identityInformationVO.setIsConfirmContent(isConfirm != null && isConfirm == 1);
        // 获取当前身份
        if (userIdentityDTO == null){
            handleSystemUserLevelId(phone, systemUser, 2, identityInformationVO, partyMember);
        if(systemUser!=null){
            identityInformationVO.setIdentity(2);
            identityInformationVO.setIsFrozen(systemUser.getStatus() == 2);
        }else {
            Integer identity = userIdentityDTO.getIdentity();
            identityInformationVO.setIdentity(identity);
            if (identity == 1 && (partyMember == null || partyMember.getAuditStatus() != 1)){
                identityInformationVO.setIdentity(null);
                redisUtils.remove("identity:" + phone);
            }else if (identity == 2 && systemUser == null){
                identityInformationVO.setIdentity(null);
                redisUtils.remove("identity:" + phone);
            }else if (identity == 2){
                Integer levelId = userIdentityDTO.getLevelId();
                //验证账号所属层级
                SystemUserLevel userLevel = systemUserLevelService.getById(levelId);
                if (Objects.isNull(userLevel)) {
                    handleSystemUserLevelId(phone, systemUser, identity, identityInformationVO,partyMember);
                } else {
                    identityInformationVO.setLevelId(levelId);
                    identityInformationVO.setSuperviseFlag(userLevel.getSuperviseFlag());
                    identityInformationVO.setIdentity(identity);
                    identityInformationVO.setSystemUserLevel(userLevel);
                }
            }
            identityInformationVO.setIdentity(1);
            identityInformationVO.setIsFrozen(partyMember != null && partyMember.getFreezeStatus() == 1);
        }
        // 获取是否冻结
        if (identityInformationVO.getIdentity() != null) {
            if (identityInformationVO.getIdentity() == 1) {
                identityInformationVO.setIsFrozen(partyMember != null && partyMember.getFreezeStatus() == 1);
            } else if (identityInformationVO.getIdentity() == 2) {
                identityInformationVO.setIsFrozen(systemUser != null && systemUser.getStatus() == 2);
            }
        } else {
            identityInformationVO.setIsFrozen(false);
        }
        // 是否认证党员
        identityInformationVO.setIsPartymember(partyMember != null && partyMember.getAuditStatus().equals(1));
        // 是否确认党员信息
        identityInformationVO.setIsConfirm(partyMember != null && partyMember.getIsConfirm() == 1);
        // 党员审核状态
        identityInformationVO.setAuditStatus(partyMember == null ? null : partyMember.getAuditStatus());
        // 封装管理员信息
        // 获取提示内容是否确认
//        Integer isConfirm = (Integer) redisUtils.get("confirmContent:" + phone);
//        identityInformationVO.setIsConfirmContent(isConfirm != null && isConfirm == 1);
//
//        // 获取当前身份
//        if (o1 == null){
//            handleSystemUserLevelId(phone, systemUser, 2, identityInformationVO, partyMember);
//        }else {
//            UserIdentityDTO userIdentityDTO = (UserIdentityDTO) o1;
//            Integer identity = userIdentityDTO.getIdentity();
//            identityInformationVO.setIdentity(identity);
//            if (identity == 1 && (partyMember == null || partyMember.getAuditStatus() != 1)){
//                identityInformationVO.setIdentity(null);
//                redisUtils.remove("identity:" + phone);
//            }else if (identity == 2 && systemUser == null){
//                identityInformationVO.setIdentity(null);
//                redisUtils.remove("identity:" + phone);
//            }else if (identity == 2){
//                Integer levelId = userIdentityDTO.getLevelId();
//                //验证账号所属层级
//                SystemUserLevel userLevel = systemUserLevelService.getById(levelId);
//                if (Objects.isNull(userLevel)) {
//                    handleSystemUserLevelId(phone, systemUser, identity, identityInformationVO,partyMember);
//                } else {
//                    identityInformationVO.setLevelId(levelId);
//                    identityInformationVO.setSuperviseFlag(userLevel.getSuperviseFlag());
//                    identityInformationVO.setIdentity(identity);
//                    identityInformationVO.setSystemUserLevel(userLevel);
//                }
//            }
//        }
//
//
//
//        // 获取是否冻结
//        if (identityInformationVO.getIdentity() != null) {
//            if (identityInformationVO.getIdentity() == 1) {
//                identityInformationVO.setIsFrozen(partyMember != null && partyMember.getFreezeStatus() == 1);
//            } else if (identityInformationVO.getIdentity() == 2) {
//                identityInformationVO.setIsFrozen(systemUser != null && systemUser.getStatus() == 2);
//            }
//        } else {
//            identityInformationVO.setIsFrozen(false);
//        }
//
//        // 是否认证党员
//        identityInformationVO.setIsPartymember(partyMember != null && partyMember.getAuditStatus().equals(1));
//        // 是否确认党员信息
//        identityInformationVO.setIsConfirm(partyMember != null && partyMember.getIsConfirm() == 1);
//        // 党员审核状态
//        identityInformationVO.setAuditStatus(partyMember == null ? null : partyMember.getAuditStatus());
//
//        // 封装管理员信息
        if (systemUser != null) {
            List<SystemUserLevel> userLevels = systemUserLevelService.getListBySystemUserId(systemUser.getId());
            for (SystemUserLevel userLevel : userLevels) {
                Integer accountLevel = userLevel.getLevel();
                String districts = userLevel.getDistricts();
                String street = userLevel.getStreet();
                String community = userLevel.getCommunity();
            Integer accountLevel = systemUser.getAccountLevel();
                String districts = systemUser.getDistricts();
                String street = systemUser.getStreet();
                String community = systemUser.getCommunity();
                PermissionsVO adminPermissions = new PermissionsVO();
                adminPermissions.setIdentity(2);
                adminPermissions.setIsFrozen(systemUser.getStatus() == 2);
                adminPermissions.setLevelId(userLevel.getId());
                adminPermissions.setLevelId(accountLevel);
                if (accountLevel == 1) {
                    adminPermissions.setName(String.format("%s%s", "攀枝花市", "管理员"));
                } else if (accountLevel == 2) {
                } else if (accountLevel == 2 && systemUser.getSystemRoleId()==1) {
                    adminPermissions.setName(String.format("%s%s", districts, "管理员"));
                } else if (accountLevel == 3) {
                } else if (accountLevel == 3  && systemUser.getSystemRoleId()==1) {
                    adminPermissions.setName(String.format("%s%s%s", districts, street, "管理员"));
                } else if (accountLevel == 4) {
                } else if (accountLevel == 4  && systemUser.getSystemRoleId()==1) {
                    adminPermissions.setName(String.format("%s%s%s%s", districts, street, community, "管理员"));
                } else {
                    adminPermissions.setName("未知");
                }
                permissions.add(adminPermissions);
            }
        }
        // 封装党员信息
//
//        // 封装党员信息
        if (partyMember != null && partyMember.getAuditStatus().equals(1)) {
            PermissionsVO partyMemberPermissions = new PermissionsVO();
            partyMemberPermissions.setIdentity(1);
@@ -158,18 +163,16 @@
            Optional<SystemUserLevel> levelOptional = systemUserLevelService.getByLevelByUserId(systemUser.getId());
            if (levelOptional.isPresent()) {
                // 系统用户有关联的用户级别
                SystemUserLevel userLevel = levelOptional.get();
                Integer userLevel = systemUser.getAccountLevel();
                // 设置用户身份信息为系统用户身份
                identityInformationVO.setIdentity(identity);
                identityInformationVO.setLevelId(userLevel.getId());
                identityInformationVO.setSuperviseFlag(userLevel.getSuperviseFlag());
                identityInformationVO.setSystemUserLevel(userLevel);
                identityInformationVO.setLevelId(userLevel);
                // 存储到Redis
                UserIdentityDTO build = UserIdentityDTO.builder()
                        .identity(identity)
                        .levelId(userLevel.getId())
                        .levelId(userLevel)
                        .build();
                redisUtils.set("identity:" + phone, build);
            } else if (partyMember != null && partyMember.getAuditStatus() == 1) {
@@ -214,10 +217,6 @@
        SystemUser systemUser = identityInformation.getSystemUser();
        if (identityInformation.getIdentity() == 2 && Objects.isNull(systemUser)) {
            throw new ServiceException("管理员信息不存在");
        }
        SystemUserLevel systemUserLevel = identityInformation.getSystemUserLevel();
        if (identityInformation.getIdentity() == 2&&Objects.isNull(systemUserLevel)) {
            throw new ServiceException("管理员所属层级不存在");
        }
        PartyMember partyMember = identityInformation.getPartyMember();
        if (identityInformation.getIdentity() == 1 && Objects.isNull(partyMember)) {