fengjin
2022-10-21 6e6f4887eaeb046ccdc76a79375a8c7ff47daa96
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -87,13 +87,15 @@
            expert.setCreateTime(new Date());
            if (expert.getLevel()==2){
                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName());
            }else if(expert.getLevel()==3){
                expert.setStreetId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
            }else if(expert.getLevel()==4){
                expert.setCommunityId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解室");
            }else{
                expert.setUnit("区三说会堂");
            }
            expert.setStatus(1);
            expert.setDelFlag(1);
@@ -173,6 +175,13 @@
                    //街道后台
                    range=3;
                    id=loginUserInfo.getStreetId();
                }else if (loginUserInfo.getType().equals(12)){
                    range=2;
                    id=comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount,loginUserInfo.getAccount() )).getId();
                }else if (loginUserInfo.getType().equals(3)){
                    //社区后台账号
                    range=4;
                    id=loginUserInfo.getCommunityId();
                }
            }
        }
@@ -181,6 +190,7 @@
            id=null;
            range=1;
        }
        log.info("");
        IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level);
        for (ComSanshuoExpertVO record : comSanshuoExpertVOIPage.getRecords()) {
            //获取调解次数和成功率
@@ -206,7 +216,7 @@
            if (nonNull(expertShowVO.getLevel())){
                if (1==expertShowVO.getLevel()) {
                    expertShowVO.setName("区三说会堂调解专家");
                    // expertShowVO.setChildList(comSanshuoExpertDao.selectExpertVoList(expertShowVO.getLevel()));
                    expertShowVO.setCount(comSanshuoExpertDao.selectExpertVoList());
                }else if (2==expertShowVO.getLevel()){
                    expertShowVO.setName("行业分中心调解专家");
                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry();
@@ -349,17 +359,15 @@
            Integer count = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6));
            Integer successCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6).eq(ComEvent::getEventResult, 2));
            comSanshuoExpert.setCount(count);
            if (nonNull(count) && !count.equals(0)){
                comSanshuoExpert.setCount(count);
                if (nonNull(successCount) && !count.equals(successCount)){
                    //计算成功率
                    comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
                }else {
                    comSanshuoExpert.setRate(new BigDecimal(0));
            if (nonNull(successCount) && nonNull(count)){
                if (!successCount.equals(0) && !count.equals(0)){
                        //计算成功率
                        comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
                }
            }else {
                comSanshuoExpert.setCount(0);
                comSanshuoExpert.setRate(new BigDecimal(0));
            }
        }
        return R.ok(comSanshuoExperts);
    }
@@ -414,20 +422,20 @@
    }
    @Override
    public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO) {
    public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO,Integer page,Integer size) {
        if (nonNull(level)){
            if (level.equals(1)){
                //三说会堂权限,查看所有
                return R.ok(comSanshuoExpertDao.selectList(null));
                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,null));
            }else if (level.equals(2)){
                //行业分中心
                ComSanshuoIndustryCenter center = comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount()));
                return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getIndustryCenterId,center.getId())));
                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,center.getId()));
            }else if (level.equals(3)){
                //街道
                return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getStreetId,loginUserInfoVO.getStreetId())));
                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getStreetId()));
            }else if(level.equals(4)){
                return R.ok(comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getCommunityId,loginUserInfoVO.getCommunityId())));
                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId()));
            }
        }
        return null;