From ffb18ccfe6750f4a65bce6e02e7f6edb54a5d76f Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期六, 24 九月 2022 23:45:38 +0800 Subject: [PATCH] [修改] 三说代码事件流程代码提交 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 96 insertions(+), 7 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java index b7e781c..b23b06c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java @@ -1,7 +1,9 @@ package com.panzhihua.service_community.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.crypto.digest.MD5; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; @@ -13,7 +15,10 @@ import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.api.ComSanShuoExpertApi; import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.entity.ComEvent; +import com.panzhihua.service_community.entity.ComSanshuoEvent; import com.panzhihua.service_community.entity.ComSanshuoExpert; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComStreetDO; @@ -24,6 +29,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -43,6 +49,8 @@ private ComStreetDAO comStreetDAO; @Resource private ComActDAO comActDAO; + @Resource + private ComEventMapper comEventMapper; /** @@ -54,8 +62,21 @@ public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) { 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]); + } expert.setId(Snowflake.getId()); expert.setCreateTime(new Date()); + if (expert.getLevel()==2){ + expert.setIndustryCenterId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); + }else if(expert.getLevel()==3){ + expert.setStreetId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); + }else if(expert.getLevel()==4){ + expert.setCommunityId(Long.parseLong(comSanshuoExpertDTO.getUnitId())); + } int insert = comSanshuoExpertDao.insert(expert); if (insert>0){ try { @@ -93,12 +114,14 @@ Integer range=null; if (nonNull(loginUserInfo)){ if (nonNull(loginUserInfo.getUserType()) || nonNull(loginUserInfo.getType())){ - if (loginUserInfo.getUserType().equals(1)){ - range=3; - id=loginUserInfo.getStreetId(); - }else if (loginUserInfo.getUserType().equals(2)){ - range=4; - id=loginUserInfo.getCommunityId(); + if (nonNull(loginUserInfo.getUserType())){ + if (loginUserInfo.getUserType().equals(1)){ + range=3; + id=loginUserInfo.getStreetId(); + }else if (loginUserInfo.getUserType().equals(2)){ + range=4; + id=loginUserInfo.getCommunityId(); + } }else if (loginUserInfo.getType().equals(11)){ range=2; id=loginUserInfo.getCommunityId(); @@ -133,7 +156,7 @@ } } } - return R.ok(); + return R.ok(expertShowVOS); } /** @@ -204,4 +227,70 @@ } + /** + * 小程序获取专家列表 + * */ + @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)); + } + }else { + comSanshuoExpert.setCount(0); + } + + } + return R.ok(comSanshuoExperts); + } + + + /** + * 专家风采列表 + * */ + @Override + public R expertShowList(Integer level, Long id) { + QueryWrapper<ComSanshuoExpert> wrapper=new QueryWrapper<>(); + wrapper.eq("level",level ); + if (level.equals(2)){ + wrapper.eq("industry_center_id", id); + }else if (level.equals(3)){ + wrapper.eq("street_id",id ); + }else if (level.equals(4)){ + wrapper.eq("community_id",id ); + } + List<ComSanshuoExpert> comSanshuoExperts = comSanshuoExpertDao.selectList(wrapper); + 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)); + } + }else { + comSanshuoExpert.setCount(0); + } + } + return R.ok(comSanshuoExperts); + } + + } -- Gitblit v1.7.1