| | |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import cn.hutool.crypto.digest.MD5; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | * */ |
| | | @Override |
| | | public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) { |
| | | //是否重名 |
| | | List<ComSanshuoExpert> checkExpert=comSanshuoExpertDao.selectExpertByNameOrPhoneOrAccount(comSanshuoExpertDTO); |
| | | if (checkExpert.size() != 0){ |
| | | return R.fail("账号信息有重复"); |
| | | } |
| | | ComSanshuoExpert expert=new ComSanshuoExpert(); |
| | | BeanUtil.copyProperties(comSanshuoExpertDTO,expert); |
| | | //处理id |
| | | if (nonNull(comSanshuoExpertDTO.getUnit())){ |
| | | String id = comSanshuoExpertDTO.getUnit(); |
| | | String[] split = id.split(","); |
| | | comSanshuoExpertDTO.setUnitId(split[split.length-1]); |
| | | expert.setUnitId(split[split.length-1]); |
| | | } |
| | | expert.setId(Snowflake.getId()); |
| | | expert.setCreateTime(new Date()); |
| | | if (expert.getLevel()==2){ |
| | | expert.setIndustryCenterId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); |
| | | expert.setIndustryCenterId(Long.parseLong(expert.getUnitId())); |
| | | expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站"); |
| | | }else if(expert.getLevel()==3){ |
| | | expert.setStreetId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); |
| | | expert.setStreetId(Long.parseLong(expert.getUnitId())); |
| | | expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站"); |
| | | }else if(expert.getLevel()==4){ |
| | | expert.setCommunityId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); |
| | | expert.setCommunityId(Long.parseLong(expert.getUnitId())); |
| | | expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站"); |
| | | } |
| | | expert.setStatus(1); |
| | | expert.setDelFlag(1); |
| | | int insert = comSanshuoExpertDao.insert(expert); |
| | | if (insert>0){ |
| | | try { |
| | | comSanshuoExpertDTO.setPassword(MyAESUtil.Encrypt(comSanshuoExpertDTO.getPassword(),"Ryo7M3n8loC5Abcd")); |
| | | comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | vo.setLevel(i); |
| | | if (i==2){ |
| | | //设置行业分中心为childList |
| | | vo.setId(2L); |
| | | vo.setChildList(comSanshuoIndustryCenterDao.indstryList()); |
| | | vo.setName("行业分中心"); |
| | | }else if (i==3){ |
| | | vo.setId(3L); |
| | | vo.setChildList(comSanshuoIndustryCenterDao.streetList()); |
| | | vo.setName("街道调解站"); |
| | | }else if (i==4){ |
| | | vo.setId(4L); |
| | | vo.setChildList(comSanshuoIndustryCenterDao.communityList()); |
| | | vo.setName("社区调解站"); |
| | | }else if(i==1){ |
| | | vo.setId(1L); |
| | | vo.setName("三说会堂"); |
| | | } |
| | | list.add(vo); |
| | |
| | | * 小程序获取专家列表 |
| | | * */ |
| | | @Override |
| | | public R selectExpertList() { |
| | | List<ComSanshuoExpert> comSanshuoExperts = comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getStatus, 1).eq(ComSanshuoExpert::getDelFlag, 1)); |
| | | //设置成功率 |
| | | for (ComSanshuoExpert comSanshuoExpert : comSanshuoExperts) { |
| | | //查询成功率 |
| | | 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)); |
| | | } |
| | | public R selectExpertList(Integer type,Long id,Long cid) { |
| | | List<ComSanshuoExpert> list=new ArrayList<>(); |
| | | if (type.equals(1)){ |
| | | //行业分中心下属专家 |
| | | list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda(). |
| | | eq(ComSanshuoExpert::getStatus, 1). |
| | | eq(ComSanshuoExpert::getDelFlag,1 ). |
| | | eq(ComSanshuoExpert::getIndustryCenterId, id)); |
| | | }else { |
| | | if (nonNull(id)){ |
| | | list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda(). |
| | | eq(ComSanshuoExpert::getStatus, 1). |
| | | eq(ComSanshuoExpert::getDelFlag,1 ). |
| | | eq(ComSanshuoExpert::getCommunityId, id)); |
| | | }else { |
| | | comSanshuoExpert.setCount(0); |
| | | list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda(). |
| | | eq(ComSanshuoExpert::getStatus, 1). |
| | | eq(ComSanshuoExpert::getDelFlag,1 ). |
| | | eq(ComSanshuoExpert::getCommunityId,cid )); |
| | | } |
| | | |
| | | } |
| | | return R.ok(comSanshuoExperts); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | |