From b30e1a48f2bc5f65a0efd2e69e090fed2d7a627c Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期四, 17 十一月 2022 15:56:43 +0800 Subject: [PATCH] #feat 订单退款和查询 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 144 insertions(+), 39 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 d19192c..4a092c1 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 @@ -4,12 +4,15 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.crypto.SecureUtil; 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; @@ -21,12 +24,14 @@ 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.entity.ComSanshuoIndustryCenter; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComStreetDO; import com.panzhihua.service_community.service.ComActService; import com.panzhihua.service_community.service.ComSanShuoExpertService; import com.panzhihua.service_community.service.ComStreetService; import com.panzhihua.service_community.util.MyAESUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -40,6 +45,7 @@ import static java.util.Objects.nonNull; @Service +@Slf4j public class ComSanShuoExpertServiceImpl extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService { @Resource @@ -81,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); @@ -99,6 +107,10 @@ e.printStackTrace(); } //生成后台账号 + //如果是普达社区专家则不生成后台账号 + if (nonNull(expert.getCommunityId()) && !expert.getCommunityId().equals(10172)){ + return R.ok(); + } AdministratorsUserVO user=new AdministratorsUserVO(); user.setUserId(Snowflake.getId()); user.setAccount(comSanshuoExpertDTO.getAccount()); @@ -106,7 +118,9 @@ user.setName(comSanshuoExpertDTO.getName()); user.setType(11); user.setImageUrl(comSanshuoExpertDTO.getAvatar()); - return R.ok(userService.sanShuoAddUser(user)); + user.setPhone(comSanshuoExpertDTO.getPhone()); + userService.sanShuoAddUser(user); + return R.ok(); } }else { ComSanshuoExpert expert=new ComSanshuoExpert(); @@ -133,6 +147,7 @@ return R.fail("操作失败"); } + /** * 后台获取专家列表 * @param page @@ -142,7 +157,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 //账号级别 @@ -161,14 +176,39 @@ }else if (loginUserInfo.getType().equals(11)){ range=2; id=loginUserInfo.getCommunityId(); + }else if (loginUserInfo.getType().equals(7)){ + //街道后台 + 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(); } } } - 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)); + log.info(""); + IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level,loginUserInfo.getAppId()); + 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); } /** @@ -181,6 +221,7 @@ if (nonNull(expertShowVO.getLevel())){ if (1==expertShowVO.getLevel()) { expertShowVO.setName("区三说会堂调解专家"); + expertShowVO.setCount(comSanshuoExpertDao.selectExpertVoList()); }else if (2==expertShowVO.getLevel()){ expertShowVO.setName("行业分中心调解专家"); List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry(); @@ -198,6 +239,7 @@ } return R.ok(expertShowVOS); } + /** * 专家级别与单位范围 @@ -244,37 +286,33 @@ ExpertRangeVO vo=new ExpertRangeVO(); vo.setLevel(2); vo.setName("行业分中心"); + vo.setId(comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfo.getAccount())).getId()); + 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 (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.getStreetId()); - 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(); } - /** * 小程序获取专家列表 @@ -326,20 +364,87 @@ 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); } + @Override + public void insertExpert(ComSanshuoExpert expert) { +// if (nonNull(comSanshuoExpertDTO.getUnit())){ +// String id = comSanshuoExpertDTO.getUnit(); +// String[] split = id.split(","); +// expert.setUnitId(split[split.length-1]); +// } + expert.setId(Snowflake.getId()); + expert.setCreateTime(new Date()); + if (expert.getLevel()==2){ + expert.setIndustryCenterId(Long.parseLong(expert.getUnitId())); + 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.setStatus(1); + expert.setDelFlag(1); + expert.setCreateBy("admin"); + expert.setCreateTime(new Date()); + expert.setAdded(0); + expert.setPassword("Huacheng@123"); + expert.setAccount(PinyinUtil.getPinyin(expert.getName(),"")); + int insert = comSanshuoExpertDao.insert(expert); + if (insert>0){ + log.info(expert.getName()+"添加完成"); + } +// if (insert>0){ +// try { +// comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword()); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //生成后台账号 +// AdministratorsUserVO user=new AdministratorsUserVO(); +// user.setUserId(Snowflake.getId()); +// user.setAccount(comSanshuoExpertDTO.getAccount()); +// user.setPassword(comSanshuoExpertDTO.getPassword()); +// user.setName(comSanshuoExpertDTO.getName()); +// user.setType(11); +// user.setImageUrl(comSanshuoExpertDTO.getAvatar()); +// user.setPhone(comSanshuoExpertDTO.getPhone()); +// userService.sanShuoAddUser(user); +// } + } + + @Override + public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO,Integer page,Integer size) { + if (nonNull(level)){ + if (level.equals(1)){ + //三说会堂权限,查看所有 + return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,null ,loginUserInfoVO.getAppId())); + }else if (level.equals(2)){ + //行业分中心 + ComSanshuoIndustryCenter center = comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount())); + return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,center.getId(),loginUserInfoVO.getAppId())); + }else if (level.equals(3)){ + //街道 + return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getStreetId(),loginUserInfoVO.getAppId())); + }else if(level.equals(4)){ + return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId())); + } + } + return null; + } + } -- Gitblit v1.7.1