From 6e6f4887eaeb046ccdc76a79375a8c7ff47daa96 Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期五, 21 十月 2022 17:52:18 +0800 Subject: [PATCH] Merge branch 'zigonggao_dev' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into zigonggao_dev --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 90 insertions(+), 11 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java index 156ffe4..1af1b86 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java @@ -18,6 +18,7 @@ import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.SanShuoMessageVO; import com.panzhihua.common.model.vos.community.switchs.CommunitySwitchAllAppletsVO; import com.panzhihua.common.model.vos.sanshuo.*; import com.panzhihua.common.service.user.UserService; @@ -26,14 +27,12 @@ import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.api.ComSanShuoEventTransferRecordController; -import com.panzhihua.service_community.dao.ComActDAO; -import com.panzhihua.service_community.dao.ComEventMapper; -import com.panzhihua.service_community.dao.ComSanshuoExpertDao; -import com.panzhihua.service_community.dao.ComStreetDAO; +import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.entity.*; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComStreetDO; import com.panzhihua.service_community.service.*; +import com.panzhihua.service_community.util.WXMessageUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomUtils; import org.checkerframework.checker.units.qual.A; @@ -87,6 +86,9 @@ @Resource private ComSanshuoExpertDao comSanshuoExpertDao; + + @Resource + private SysUserDao sysUserDao; @Override @@ -370,7 +372,8 @@ comEvent.setEventProcessStatus(2); comEvent.setSolve(0); comEvent.setDistribution(0); - comEvent.setChangeExpert(0); + //comEvent.setChangeExpert(0); + comEvent.setArchive(0); } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){ //调解完成,可以归档,查看 @@ -378,12 +381,51 @@ comEvent.setDistribution(0); comEvent.setChangeExpert(0); } - }else{ + }else if (comEvent.getCurrentProcessType().equals(5)){ + //根据事件状态决定权限 + if (comEvent.getEventProcessStatus().equals(1) ){ + //待受理和待验证状态,可以受理,分配专家 + //关闭调解和归档 + comEvent.setArchive(0); + comEvent.setConciliation(0); + comEvent.setChangeExpert(0); + } else if(comEvent.getEventProcessStatus().equals(2)){ + //待分配和待验证状态,可以受理,分配专家 + //关闭调解和归档 + comEvent.setArchive(0); + //comEvent.setConciliation(0); + comEvent.setChangeExpert(0); + if (comEvent.getSpecialistName().equals("待分配")){ + comEvent.setSolve(0); + } + } + else if (comEvent.getEventProcessStatus().equals(5)){ + //调解中,可以查看,调解,更换专家,删除 + comEvent.setDistribution(0); + comEvent.setSolve(0); + comEvent.setArchive(0); + }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(2) && comEvent.getEventSucceed().equals(2)){ + //调解完成并且成功,可以归档,查看 + comEvent.setSolve(0); + comEvent.setDistribution(0); + comEvent.setChangeExpert(0); + comEvent.setConciliation(0); + } + else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){ + //调解完成,可以归档,查看 + comEvent.setSolve(0); + comEvent.setDistribution(0); + comEvent.setChangeExpert(0); + comEvent.setConciliation(0); + } + } + else{ //未上上报到行业分中心,或者已上报到区三说会堂,仅查看 comEvent.setArchive(0); comEvent.setSolve(0); comEvent.setDistribution(0); comEvent.setChangeExpert(0); + //comEvent.setConciliation(0); } }else if (userType.equals(5) || isStreet){ //街道权限,操作街道下属社区的所有事件 @@ -582,6 +624,9 @@ comEvent.setCurrentOrgId(center.getId().toString()); comEvent.setCurrentProcessType(5); } + if (nonNull(comEvent.getCenterId())){ + comEvent.setRequestUserCommunity(null); + } comEvent.setUserEventStatus(2); //设置为未上报 comEvent.setReportLevel(0); @@ -596,6 +641,8 @@ comEvent.setUpdateBy(comEvent.getRequestUserId()); comEvent.setUpdateAt(new Date()); boolean flag = save(comEvent); + //推送消息到专家微信 + sendMessage(comEvent.getSpecialistId(),comEvent); //添加一条对应记录 comEventMapper.insertEventAndExpertRecord(comEvent.getId(),expert.getId(),0); if (!flag) { @@ -604,6 +651,26 @@ //提交不视为一次流转记录,不保存图片 saveEventImageList(comEvent.getImages(), comEvent.getId(),null,1); return R.ok(ReturnMsgConstants.SAVE_SUCCESS); + } + + + public void sendMessage(Long expertId,ComEvent comEvent){ + //获取专家的openId + ComSanshuoExpert expert = comSanShuoExpertService.getById(expertId); + SysUser sysUser = sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhone, expert.getPhone()).eq(SysUser::getType, 1)); + SanShuoMessageVO vo=new SanShuoMessageVO(); + if (nonNull(sysUser)){ + if (isNull(sysUser.getOpenid())){ + log.info("专家未登陆APP,无法推送"); + return; + } + } + vo.setTouser(sysUser.getOpenid()); + vo.setThing1(commediateTypeService.getById(comEvent.getEventCategory()).getName()); + vo.setThing5("您有一个新的调解事件需处理"); + vo.setThing2(comEvent.getRequestUserName()); + vo.setTime3(DateUtil.now()); + WXMessageUtil.sendStatusMessage(vo); } @Transactional(rollbackFor = Exception.class) @@ -681,7 +748,7 @@ ComActDO comActDO = comActDAO.selectById(expert.getCommunityId()); comEvent.setCurrentOrgId(comActDO.getStreetId().toString()); //生成一次流转记录 - comEvent.setCurrentEventProcessResult("专家上报到社区"); + comEvent.setCurrentEventProcessResult("(专家上报到"+comActDO.getName()+")"+comEventConciliationVO.getCurrentEventProcessResult()); //更改当前处理部门 comEvent.setCurrentOrgName(comActDO.getName()+"调解站"); comEventTransferRecord.setFromId(comEvent.getSpecialistId()); @@ -696,7 +763,8 @@ comEvent.setSpecialistName("待分配"); comEvent.setSpecialistId(99999L); //生成一次流转记录 - comEvent.setCurrentEventProcessResult("专家上报到行业分中心"); + ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCurrentOrgId()); + comEvent.setCurrentEventProcessResult("(专家上报到"+center.getName()+")"+comEventConciliationVO.getCurrentEventProcessResult()); comEvent.setCurrentOrgName(expert.getUnit()); comEventTransferRecord.setFromId(comEvent.getSpecialistId()); comEventTransferRecord.setToId(expert.getIndustryCenterId()); @@ -709,7 +777,7 @@ comEvent.setCurrentOrgId("99999"); //生成一次流转记录 comEvent.setReportHall(1); - comEvent.setCurrentEventProcessResult("行业分中心上报到区三说会堂"); + comEvent.setCurrentEventProcessResult("(行业分中心上报到区三说会堂中心)"+comEventConciliationVO.getCurrentEventProcessResult()); comEvent.setCurrentOrgName("区三说会堂"); comEventTransferRecord.setFromId(comEvent.getSpecialistId()); comEventTransferRecord.setToId(99999L); @@ -723,7 +791,7 @@ ComActDO comActDO = comActDAO.selectOne(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getCommunityId, comEvent.getRequestUserCommunity()).eq(ComActDO::getAppId, "wx0cef797390444b75")); comEvent.setCurrentOrgId(comActDO.getStreetId().toString()); //生成一次流转记录 - comEvent.setCurrentEventProcessResult("社区报到街道"); + comEvent.setCurrentEventProcessResult("(社区上报到"+comStreetDAO.selectById(comActDO.getStreetId()).getName()+")"+comEventConciliationVO.getCurrentEventProcessResult()); comEvent.setCurrentOrgName(comStreetDAO.selectById(comActDO.getStreetId()).getName()+"调解站"); comEventTransferRecord.setFromId(comEvent.getRequestUserCommunity()); comEventTransferRecord.setToId(comActDO.getStreetId()); @@ -736,7 +804,7 @@ comEvent.setCurrentOrgId("99999"); comEvent.setCurrentOrgName("区三说会堂"); //生成一次流转记录 - comEvent.setCurrentEventProcessResult("街道上报到区三说会堂"); + comEvent.setCurrentEventProcessResult("(街道上报到区三说会堂中心)"+comEventConciliationVO.getCurrentEventProcessResult()); comEventTransferRecord.setFromId(Long.parseLong(comEvent.getCurrentOrgId())); comEventTransferRecord.setReportLevel(1); comEvent.setReportLevel(1); @@ -831,7 +899,16 @@ List<ComEventResource> resource = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id) .eq(ComEventResource::getStatus, 5)); map.put("archiveImage", resource); + map.put("contact", getPhone(comEvent)); return map; + } + + public String getPhone(ComEvent comEvent){ + if (isNull(comEvent.getRequestUserCommunity())){ + return comSanShuoIndustryCenterService.getById(comEvent.getCenterId()).getPhone(); + }else { + return comActDAO.selectById(comEvent.getRequestUserCommunity()).getContactsPhone(); + } } @Override @@ -859,6 +936,8 @@ comEvent.setSpecialistName(specter.getName()); comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode()); int flag = baseMapper.updateById(comEvent); + ComEvent comEvent1 = comEventMapper.selectById(id); + sendMessage(specialistId,comEvent1 ); //添加一条对应记录 comEventMapper.insertEventAndExpertRecord(id, specialistId,1); return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE); -- Gitblit v1.7.1