张天森
2022-10-13 e955e44015d7dd9bce2bf932b28812045c908206
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -79,14 +79,14 @@
    @Override
    public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) {
        log.info("当前登陆的用户信息,用户类型"+loginUserInfoVO.getType()+"社区id"+loginUserInfoVO.getCommunityId());
        log.info("=================当前登陆的用户信息,用户类型"+loginUserInfoVO.getType()+"社区id"+loginUserInfoVO.getCommunityId());
        Boolean isExpertCheck=false;
        Long expertId=null;
        if (nonNull(comEvent.getUserType())){
            if (comEvent.getUserType().equals(1)){
                //个人账号权限
                comEvent.setRequestUserId(loginUserInfoVO.getUserId());
            }else if (comEvent.getUserType().equals(2) || loginUserInfoVO.getType().equals(11)){
            }else if (comEvent.getUserType().equals(2) || loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){
                ComSanshuoExpert expert=new ComSanshuoExpert();
                //专家账号权限(小程序和后台)
                if (nonNull(loginUserInfoVO.getPhone())){
@@ -115,9 +115,18 @@
                comEvent.setCommunityId(loginUserInfoVO.getCommunityId());
            }
        }
        if (nonNull(loginUserInfoVO.getAccount())){
            if (loginUserInfoVO.getAccount().equals("admin")){
                comEvent.setUserType(null);
            }
        }
        IPage<ComEvent> list=null;
        log.info("=====================当前的userType"+comEvent.getUserType());
        log.info("=====================是否专家账号查看"+isExpertCheck);
        if (isExpertCheck){
            list = comEventMapper.pageByComEventExpert(comEventMapper.listEventIds(expertId), comEvent, pagination);
            if (nonNull(comEventMapper.listEventIds(expertId))){
                list = comEventMapper.pageByComEventExpert(comEventMapper.listEventIds(expertId), comEvent, pagination);
            }
        }else{
            list = baseMapper.pageByComEvent(comEvent, pagination);
        }
@@ -140,10 +149,32 @@
            if(nonNull(archiveRecord)){
                comEvent1.setIsArchive(0);
            }
            comEvent1.setHasPerm(hasPermission(comEvent1,loginUserInfoVO ));
        });
        return R.ok(list);
    }
    /**
     * 当前账号是否有操作事件权限
     * */
    public Integer hasPermission(ComEvent comEvent,LoginUserInfoVO sysUser){
        String account="";
        Integer perm=1;
        if (nonNull(sysUser.getAccount())){
            account=sysUser.getAccount();
        }
        //上报级别是否匹配当前账号级别
        if (sysUser.getType().equals(12) ){
            if (!comEvent.getCurrentProcessType().equals(1)){
                perm=0;
            }
        }else if (account.equals("admin")){
            if (!comEvent.getCurrentProcessType().equals(4)){
                perm=0;
            }
        }
        return perm;
    }
    @Override
    public List<ComEvent> listByComEvent(ComEvent comEvent,LoginUserInfoVO loginUserInfoVO) {
        List<ComEvent> list = baseMapper.listByComEvent(comEvent,null);
@@ -264,6 +295,8 @@
                    //上报到社区
                    //查询社区账号,由专家转交到社区
                    comEvent.setCurrentProcessType(2);
                    comEvent.setSpecialistName("待分配");
                    comEvent.setSpecialistId(99999L);
                    ComActDO comActDO = comActDAO.selectById(expert.getCommunityId());
                    comEvent.setCurrentOrgId(comActDO.getStreetId().toString());
                    //生成一次流转记录
@@ -276,6 +309,8 @@
                    //上报到行业分中心
                    comEvent.setCurrentProcessType(1);
                    comEvent.setCurrentOrgId(expert.getIndustryCenterId().toString());
                    comEvent.setSpecialistName("待分配");
                    comEvent.setSpecialistId(99999L);
                    //生成一次流转记录
                    comEvent.setCurrentEventProcessResult("专家上报到行业分中心");
                    comEventTransferRecord.setFromId(comEvent.getSpecialistId());
@@ -311,8 +346,7 @@
                comEvent.setCurrentOrgId("99999");
                //生成一次流转记录
                comEvent.setCurrentEventProcessResult("街道上报到区三说会堂");
                comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                comEventTransferRecord.setToId(99999L);
                comEventTransferRecord.setFromId(Long.parseLong(comEvent.getCurrentOrgId()));
                comEventTransferRecord.setReportLevel(1);
                comEvent.setReportLevel(1);
            }else {