yanghui
2022-11-18 2dff7f26adc08af4fcf0b77ff0ddda99d75c77c4
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -12,11 +12,13 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.constants.ReturnMsgConstants;
import com.panzhihua.common.enums.SanShuoEventStatusEnum;
import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.SanShuoMessageVO;
import com.panzhihua.common.model.vos.community.switchs.CommunitySwitchAllAppletsVO;
import com.panzhihua.common.model.vos.sanshuo.*;
import com.panzhihua.common.service.user.UserService;
@@ -25,19 +27,21 @@
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.api.ComSanShuoEventTransferRecordController;
import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComEventMapper;
import com.panzhihua.service_community.dao.ComStreetDAO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.entity.*;
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComStreetDO;
import com.panzhihua.service_community.service.*;
import com.panzhihua.service_community.util.WXMessageUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import static java.util.Objects.isNull;
@@ -81,13 +85,19 @@
    @Resource
    private CommediateTypeService commediateTypeService;
    @Resource
    private ComSanshuoExpertDao comSanshuoExpertDao;
    @Resource
    private SysUserDao sysUserDao;
    @Override
    public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) {
        log.info("=================当前登陆的用户信息,用户类型"+loginUserInfoVO.getType()+"社区id"+loginUserInfoVO.getCommunityId());
        Boolean isExpertCheck=false;
        Long expertId=null;
        Boolean isStretAccount = isStreetAccount(loginUserInfoVO);
        comEvent.setAppId(loginUserInfoVO.getAppId());
        if (nonNull(comEvent.getUserType())){
            if (comEvent.getUserType().equals(1)){
                //个人账号权限
@@ -127,14 +137,12 @@
                comEvent.setCommunityIds(cids);
            }
        }
//        if (nonNull(loginUserInfoVO.getAccount())){
//            if (loginUserInfoVO.getAccount().equals("admin")){
//                comEvent.setUserType(null);
//            }
//        }
        if (nonNull(loginUserInfoVO.getAccount())){
            if (loginUserInfoVO.getAccount().equals("admin")){
                comEvent.setUserType(9);
            }
        }
        IPage<ComEvent> list=null;
        log.info("=====================当前的userType"+comEvent.getUserType());
        log.info("=====================是否专家账号查看"+isExpertCheck);
        //是否为专家查看自己发布的事件
        if (isExpertCheck && comEvent.getUserType()!=1){
            if (nonNull(comEventMapper.listEventIds(expertId))){
@@ -156,10 +164,8 @@
            ComMediateType category = commediateTypeService.getById(comEvent1.getEventCategory());
            comEvent1.setEventCategoryName(category.getName());
            comEvent1.setHasPerm(hasPermission(comEvent1,loginUserInfoVO ));
            if (!comEvent.getUserType().equals(1)){
                this.accountMenu(comEvent1,comEvent.getUserType(),loginUserInfoVO,isStretAccount);
            }
        });
            this.accountMenu(comEvent1,comEvent.getUserType(),loginUserInfoVO,isStretAccount);
            });
        return R.ok(list);
    }
@@ -185,7 +191,7 @@
    public void accountMenu(ComEvent comEvent,Integer userType,LoginUserInfoVO loginUserInfoVO,Boolean isStreet){
        //四个账号级别
        Boolean isAdmin=false;
        if (isNull(userType)){
        if (userType.equals(9)){
            isAdmin=true;
        }
        comEvent.setDelete(1);
@@ -333,7 +339,7 @@
        }else if (userType.equals(3)){
            //分配行业分中心操作权限
            //是否上报到行业分中心
            if (comEvent.getReportCenter().equals(1) || comEvent.getCurrentProcessType().equals(1)){
            if (comEvent.getCurrentProcessType().equals(1)){
                //已经报到行业分中心
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
@@ -368,7 +374,9 @@
                    comEvent.setEventProcessStatus(2);
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    //comEvent.setChangeExpert(0);
                    //comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
@@ -376,17 +384,56 @@
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                }
            }else{
            }else if (comEvent.getCurrentProcessType().equals(5)){
                //根据事件状态决定权限
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                } else if(comEvent.getEventProcessStatus().equals(2)){
                    //待分配和待验证状态,可以受理,分配专家
                    //关闭调解和归档
                    comEvent.setArchive(0);
                    //comEvent.setConciliation(0);
                    comEvent.setChangeExpert(0);
                    if (comEvent.getSpecialistName().equals("待分配")){
                        comEvent.setSolve(0);
                    }
                }
                else if (comEvent.getEventProcessStatus().equals(5)){
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
                }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(2) && comEvent.getEventSucceed().equals(2)){
                    //调解完成并且成功,可以归档,查看
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
            }
            else{
                //未上上报到行业分中心,或者已上报到区三说会堂,仅查看
                comEvent.setArchive(0);
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                //comEvent.setConciliation(0);
            }
        }else if (userType.equals(5)  || isStreet){
            //街道权限,操作街道下属社区的所有事件
            //是否上报到街道
            if (comEvent.getReportStreet().equals(1) || comEvent.getCurrentProcessType().equals(3)){
            if (comEvent.getCurrentProcessType().equals(3)){
                //已上报到街道
                if (comEvent.getEventProcessStatus().equals(1) ){
                    //待受理和待验证状态,可以受理,分配专家
@@ -438,8 +485,14 @@
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
            }else{
            }else if (comEvent.getCurrentProcessType().equals(4)){
                //未上报到街道,仅查看
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                comEvent.setConciliation(0);
            }else {
                comEvent.setArchive(0);
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
@@ -485,7 +538,9 @@
                    //失败后转交三说会堂
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setConciliation(0);
                    //comEvent.setConciliation(0);
                    comEvent.setEventProcessStatus(2);
                    comEvent.setArchive(0);
                    //comEvent.setChangeExpert(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
@@ -565,12 +620,15 @@
            comEvent.setCurrentOrgId(community.getCommunityId().toString());
            comEvent.setCurrentProcessType(5);
        }
        if (!StringUtils.isEmpty(comEvent.getCenterId())) {
        if (!StringUtils.isEmpty(comEvent.getCenterId()))   {
            //创建时处理级别都是专家
            ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCenterId());
            comEvent.setCurrentOrgName(center.getName());
            comEvent.setCurrentOrgId(center.getId().toString());
            comEvent.setCurrentProcessType(5);
        }
        if (StringUtils.isNotEmpty(comEvent.getCenterId())){
            comEvent.setRequestUserCommunity(null);
        }
        comEvent.setUserEventStatus(2);
        //设置为未上报
@@ -586,6 +644,8 @@
        comEvent.setUpdateBy(comEvent.getRequestUserId());
        comEvent.setUpdateAt(new Date());
        boolean flag = save(comEvent);
        //推送消息到专家微信
        sendMessage(comEvent.getSpecialistId(),comEvent);
        //添加一条对应记录
        comEventMapper.insertEventAndExpertRecord(comEvent.getId(),expert.getId(),0);
        if (!flag) {
@@ -594,6 +654,26 @@
        //提交不视为一次流转记录,不保存图片
        saveEventImageList(comEvent.getImages(), comEvent.getId(),null,1);
        return R.ok(ReturnMsgConstants.SAVE_SUCCESS);
    }
    public void sendMessage(Long expertId,ComEvent comEvent){
        //获取专家的openId
        ComSanshuoExpert expert = comSanShuoExpertService.getById(expertId);
        SysUser sysUser = sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhone, expert.getPhone()).eq(SysUser::getType, 1).eq(SysUser::getAppId,"wx0cef797390444b75" ));
        SanShuoMessageVO vo=new SanShuoMessageVO();
        if (isNull(sysUser)){
            return;
        }
        if (isNull(sysUser.getOpenid())){
           log.info("专家未登陆APP,无法推送");
           return;
        }
        vo.setTouser(sysUser.getOpenid());
        vo.setThing1(commediateTypeService.getById(comEvent.getEventCategory()).getName());
        vo.setThing5("您有一个新的调解事件需处理");
        vo.setThing2(comEvent.getRequestUserName());
        vo.setTime3(DateUtil.now());
        WXMessageUtil.sendStatusMessage(vo);
    }
    @Transactional(rollbackFor = Exception.class)
@@ -671,7 +751,9 @@
                    ComActDO comActDO = comActDAO.selectById(expert.getCommunityId());
                    comEvent.setCurrentOrgId(comActDO.getStreetId().toString());
                    //生成一次流转记录
                    comEvent.setCurrentEventProcessResult("专家上报到社区");
                    comEvent.setCurrentEventProcessResult("(专家上报到"+comActDO.getName()+")"+comEventConciliationVO.getCurrentEventProcessResult());
                    //更改当前处理部门
                    comEvent.setCurrentOrgName(comActDO.getName()+"调解站");
                    comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                    comEventTransferRecord.setToId(Long.parseLong(comEvent.getCurrentOrgId()));
                    comEventTransferRecord.setReportLevel(4);
@@ -684,7 +766,9 @@
                    comEvent.setSpecialistName("待分配");
                    comEvent.setSpecialistId(99999L);
                    //生成一次流转记录
                    comEvent.setCurrentEventProcessResult("专家上报到行业分中心");
                    ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCurrentOrgId());
                    comEvent.setCurrentEventProcessResult("(专家上报到"+center.getName()+")"+comEventConciliationVO.getCurrentEventProcessResult());
                    comEvent.setCurrentOrgName(expert.getUnit());
                    comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                    comEventTransferRecord.setToId(expert.getIndustryCenterId());
                    comEventTransferRecord.setReportLevel(3);
@@ -696,7 +780,8 @@
                comEvent.setCurrentOrgId("99999");
                //生成一次流转记录
                comEvent.setReportHall(1);
                comEvent.setCurrentEventProcessResult("行业分中心上报到区三说会堂");
                comEvent.setCurrentEventProcessResult("(行业分中心上报到区三说会堂中心)"+comEventConciliationVO.getCurrentEventProcessResult());
                comEvent.setCurrentOrgName("区三说会堂");
                comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                comEventTransferRecord.setToId(99999L);
                comEventTransferRecord.setReportLevel(5);
@@ -709,7 +794,8 @@
                ComActDO comActDO = comActDAO.selectOne(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getCommunityId, comEvent.getRequestUserCommunity()).eq(ComActDO::getAppId, "wx0cef797390444b75"));
                comEvent.setCurrentOrgId(comActDO.getStreetId().toString());
                //生成一次流转记录
                comEvent.setCurrentEventProcessResult("社区报到街道");
                comEvent.setCurrentEventProcessResult("(社区上报到"+comStreetDAO.selectById(comActDO.getStreetId()).getName()+")"+comEventConciliationVO.getCurrentEventProcessResult());
                comEvent.setCurrentOrgName(comStreetDAO.selectById(comActDO.getStreetId()).getName()+"调解站");
                comEventTransferRecord.setFromId(comEvent.getRequestUserCommunity());
                comEventTransferRecord.setToId(comActDO.getStreetId());
                comEventTransferRecord.setReportLevel(2);
@@ -719,8 +805,9 @@
                comEvent.setCurrentProcessType(4);
                comEvent.setReportHall(1);
                comEvent.setCurrentOrgId("99999");
                comEvent.setCurrentOrgName("区三说会堂");
                //生成一次流转记录
                comEvent.setCurrentEventProcessResult("街道上报到区三说会堂");
                comEvent.setCurrentEventProcessResult("(街道上报到区三说会堂中心)"+comEventConciliationVO.getCurrentEventProcessResult());
                comEventTransferRecord.setFromId(Long.parseLong(comEvent.getCurrentOrgId()));
                comEventTransferRecord.setReportLevel(1);
                comEvent.setReportLevel(1);
@@ -768,7 +855,7 @@
                || comEvent.getEventProcessStatus() == SanShuoEventStatusEnum.VALID.getCode().intValue()) {
            comEvent.setId(id);
            comEvent.setUserEventStatus(4);
            comEvent.setEventProcessStatus(8);
            comEvent.setEventProcessStatus(9);
            comEvent.setRevokeDes("用户手动取消");
            comEvent.setRevokeDate(new Date());
            int flag = baseMapper.updateById(comEvent);
@@ -792,15 +879,17 @@
        comEventDetailVO.setImages(comEventRequestImageVO);
        map.put("specter", specter);
        map.put("eventDetail", comEventDetailVO);
        List<ComEventTransferRecord> archiveLog=new ArrayList<>();
        List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id).orderByDesc(ComEventTransferRecord::getCreateAt));
        transferRecord.forEach(comEventTransferRecord -> {
            List<ComEventResource> list = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent.getId()).notIn(ComEventResource::getStatus,(1)).eq(ComEventResource::getTransferId, comEventTransferRecord.getId()));
            List<ComEventRequestImageVO> ImageVO = CopyUtil.deepCopyListObject(list, ComEventRequestImageVO.class);
            comEventTransferRecord.setImages(ImageVO);
            if (comEventTransferRecord.getEventStatus().equals(7)){
                map.put("archiveLog", comEventTransferRecord);
                archiveLog.add(comEventTransferRecord);
            }
        });
        map.put("archiveLog", archiveLog);
        //迭代器迭代删除归档记录
        Iterator<ComEventTransferRecord> iterator = transferRecord.iterator();
        while (iterator.hasNext()){
@@ -813,8 +902,23 @@
        List<ComEventResource> resource = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id)
                .eq(ComEventResource::getStatus, 5));
        map.put("archiveImage", resource);
        map.put("contact", getPhone(comEvent));
        return map;
    }
    public String getPhone(ComEvent comEvent){
        if (isNull(comEvent.getRequestUserCommunity())){
            return comSanShuoIndustryCenterService.getById(comEvent.getCenterId()).getPhone();
        }else {
            String contactsPhone = comActDAO.selectById(comEvent.getRequestUserCommunity()).getContactsPhone();
            if (isNull(contactsPhone)){
                return null;
            }
            return contactsPhone;
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -841,6 +945,8 @@
        comEvent.setSpecialistName(specter.getName());
        comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
        int flag = baseMapper.updateById(comEvent);
        ComEvent comEvent1 = comEventMapper.selectById(id);
        sendMessage(specialistId,comEvent1 );
        //添加一条对应记录
        comEventMapper.insertEventAndExpertRecord(id, specialistId,1);
        return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
@@ -849,26 +955,24 @@
    @Override
    public R calculate(LoginUserInfoVO loginUserInfoVO) {
        ComEvent comEvent=new ComEvent();
        comEvent.setUserType(3);
        Boolean isExpertCheck=false;
        Long expertId=null;
        Boolean isStretAccount = isStreetAccount(loginUserInfoVO);
        if (nonNull(comEvent.getUserType())){
             if (loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){
        if (loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){
                ComSanshuoExpert expert=new ComSanshuoExpert();
                //专家账号权限(后台)
                if (nonNull(loginUserInfoVO.getPhone())){
                //专家后台账号
            if (nonNull(loginUserInfoVO.getPhone())){
                    expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, loginUserInfoVO.getPhone()));
                }else{
            }else{
                    //账号获取
                    expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount()));
                }
                comEvent.setUserType(2);
                if (nonNull(expert)){
            }
            comEvent.setUserType(2);
            if (nonNull(expert)){
                    comEvent.setSpecialistId(expert.getId());
                    isExpertCheck=true;
                    expertId=expert.getId();
                }
            }
            }else if (loginUserInfoVO.getType().equals(12)){
                //行业分中心权限
                comEvent.setUserType(3);
@@ -887,20 +991,21 @@
                List<Long> cids = comActDAO.selectCommunityByStreetId(loginUserInfoVO.getStreetId());
                comEvent.setUserType(5);
                comEvent.setCommunityIds(cids);
            }
        }
        if (isExpertCheck && comEvent.getUserType()!=1){
            if (nonNull(comEventMapper.listEventIds(expertId))){
         }
        if (isExpertCheck){
            if(nonNull(comEventMapper.listEventIds(expertId))){
                List<Long> eventIds = comEventMapper.listEventIds(expertId);
                //获取该专家的所有事件
                comEvent.setEventIds(eventIds);
            }
        }
        if (nonNull(loginUserInfoVO.getAccount())){
            if (loginUserInfoVO.getAccount().equals("admin")){
                comEvent.setUserType(null);
                comEvent.setUserType(9);
            }
        }
        log.info("当前userType===="+comEvent.getUserType());
        comEvent.setAppId(loginUserInfoVO.getAppId());
        List<ComEventCalculateVO> calculateList = baseMapper.calculate(comEvent);
        ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO();
        comEventCalculateVO.setStatus("0");
@@ -957,9 +1062,16 @@
        if (nonNull(vo.getSuccess()) && !vo.getSuccess().equals(0)){
            if (nonNull(vo.getAccepted()) && !vo.getAccepted().equals(0)){
                //计算成功率
                vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2));
                try {
                    vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2));
                }catch (NullPointerException e){
                    vo.setSuccessRate(new BigDecimal(0));
                }
            }
        }
        vo.setExpert(comSanshuoExpertDao.selectExpertCount(indexDataDTO));
        //查询当前级别下的专家
        //折线图X轴
        List<Date> dates = pastTwelveMoth();
        vo.setX(getYAndM(dates));
@@ -978,13 +1090,13 @@
    @Override
    public R eventIndexData(Integer type) {
        //获取事件总数
        Integer eventCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().notIn("event_process_status", (7), (8)));
        Integer eventCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().notIn("event_process_status",(9)));
        if (type.equals(1)){
            //受理级别占比
            List<EventRateVO> eventRateVOS = comEventMapper.eventRate();
            for (EventRateVO eventRateVO : eventRateVOS) {
                if (nonNull(eventRateVO)){
                    eventRateVO.setName(typeToName(eventRateVO.getType()));
                    eventRateVO.setName(typeToName(eventRateVO.getCurrentProcessType()));
                    if (nonNull(eventCount) && !eventCount.equals(0)){
                        //计算占比
                        eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));
@@ -1026,16 +1138,26 @@
        comEventMapper.updateLog(id,comEvent.getSpecialistId());
    }
    @Override
    public R listStreetScreen() {
        return R.ok(comStreetDAO.selectList(new QueryWrapper<ComStreetDO>().eq("app_id", "wx0cef797390444b75").in("name",("大宝鼎街道"),("格里坪镇"),("河门口街道"),("清香坪街道"),("陶家渡街道"),("玉泉街道"))));
    }
    @Override
    public R listCommunityScreen() {
        return R.ok(comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getAppId, "wx0cef797390444b75").in(ComActDO::getStreetId,("1552661139563876352"),("1552661132500668416"),("1552661143879815168"),("1552661138704044032"),("1552661135428292608"),("1552661136451702784"))));
    }
    public String typeToName(Integer type){
        switch (type){
            case 1:
                return "行业分中心受理";
            case 2:
                return "街道调解站受理";
            case 3:
                return "社区调解站受理";
                return "镇/街道受理案件";
            case 2:
                return "村/社区受理案件";
            case 4:
                return "区三说会堂受理";
                return "区三说会堂中心受理";
        }
        return null;
    }
@@ -1043,13 +1165,13 @@
    public String typeToNameExpert(Integer type){
        switch (type){
            case 1:
                return "区三说会堂专家";
                return "区三说会堂中心专家";
            case 2:
                return "行业分中心专家";
            case 3:
                return "街道调解站专家";
                return "镇/街道调解专家";
            case 4:
                return "社区调解站专家";
                return "村/社区调解专家";
        }
        return null;
    }