zhangtiansen
2022-10-19 b2d178b267f0eaa12a3d1fd6da8928a9ef5d366b
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -6,11 +6,13 @@
import cn.hutool.crypto.digest.MD5;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.model.dtos.community.sanshuo.ComSanshuoExpertDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sanshuo.ComSanshuoExpertVO;
import com.panzhihua.common.model.vos.sanshuo.ExpertRangeVO;
import com.panzhihua.common.model.vos.sanshuo.ExpertShowVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
@@ -148,7 +150,7 @@
     * @return 处理结果
     * */
    @Override
    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) {
    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo,Integer level) {
        //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属
        //id:社区或街道或业务中心id
        //账号级别
@@ -167,14 +169,31 @@
                }else if (loginUserInfo.getType().equals(11)){
                    range=2;
                    id=loginUserInfo.getCommunityId();
                }else if (loginUserInfo.getType().equals(7)){
                    //街道后台
                    range=3;
                    id=loginUserInfo.getStreetId();
                }
            }
        }
        if (loginUserInfo.getAccount().equals("admin") || loginUserInfo.getAccount().equals("xiqu")){
        if (loginUserInfo.getAccount().equals("admin")){
            //三说会堂查看所有专家
            id=null;
            range=null;
            range=1;
        }
        return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id));
        IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level);
        for (ComSanshuoExpertVO record : comSanshuoExpertVOIPage.getRecords()) {
            //获取调解次数和成功率
            record.setCount(comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, record.getId())));
            record.setSuccessCount(comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, record.getId()).eq(ComEvent::getEventResult,2 )));
            if (nonNull(record.getCount()) && nonNull(record.getSuccessCount())){
                if (!record.getCount().equals(0) && !record.getSuccessCount().equals(0)){
                    record.setRate(NumberUtil.div(record.getSuccessCount(), record.getCount(),2));
                }
            }
        }
        return R.ok(comSanshuoExpertVOIPage);
    }
    /**
@@ -187,6 +206,7 @@
            if (nonNull(expertShowVO.getLevel())){
                if (1==expertShowVO.getLevel()) {
                    expertShowVO.setName("区三说会堂调解专家");
                    // expertShowVO.setChildList(comSanshuoExpertDao.selectExpertVoList(expertShowVO.getLevel()));
                }else if (2==expertShowVO.getLevel()){
                    expertShowVO.setName("行业分中心调解专家");
                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry();
@@ -254,34 +274,30 @@
                vo.setId(comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfo.getAccount())).getId());
                list.add(vo);
                return R.ok(list);
            }else if (nonNull(loginUserInfo.getUserType())){
                if (loginUserInfo.getUserType().equals(1)){
                    //街道账号
                    ComStreetDO comStreetDO = comStreetDAO.selectById(loginUserInfo.getStreetId());
                    List<ExpertRangeVO> list=new ArrayList<>();
                    ExpertRangeVO vo=new ExpertRangeVO();
                    vo.setLevel(3);
                    vo.setName(comStreetDO.getName()+"调解站");
                    vo.setId(loginUserInfo.getStreetId());
                    list.add(vo);
                    return R.ok(list);
                }
                if (loginUserInfo.getUserType().equals(2)){
                    //街道账号
                    ComActDO comActDO = comActDAO.selectById(loginUserInfo.getCommunityId());
                    List<ExpertRangeVO> list=new ArrayList<>();
                    ExpertRangeVO vo=new ExpertRangeVO();
                    vo.setLevel(4);
                    vo.setName(comActDO.getName()+"调解站");
                    vo.setId(loginUserInfo.getCommunityId());
                    list.add(vo);
                    return R.ok(list);
                }
            }else if (loginUserInfo.getType().equals(3)) {
                //社区账号
                ComActDO comStreetDO = comActDAO.selectById(loginUserInfo.getCommunityId());
                List<ExpertRangeVO> list = new ArrayList<>();
                ExpertRangeVO vo = new ExpertRangeVO();
                vo.setLevel(4);
                vo.setName(comStreetDO.getName() + "调解站");
                vo.setId(loginUserInfo.getCommunityId());
                list.add(vo);
                return R.ok(list);
            } else if (loginUserInfo.getType().equals(7)){
                //街道账号
                ComStreetDO comActDO = comStreetDAO.selectById(loginUserInfo.getStreetId());
                List<ExpertRangeVO> list=new ArrayList<>();
                ExpertRangeVO vo=new ExpertRangeVO();
                vo.setLevel(4);
                vo.setName(comActDO.getName()+"调解站");
                vo.setId(loginUserInfo.getStreetId());
                list.add(vo);
                return R.ok(list);
            }
        }
        return R.fail();
    }
    /**
     * 小程序获取专家列表