From 8c0b5b30e5200e7bd45aa34507c3623e17fcce91 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期四, 24 八月 2023 13:47:24 +0800 Subject: [PATCH] 新增小程序积分列表 修改积分发放流程 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 127 +++++++++++++++++++++++++++++++++-------- 1 files changed, 101 insertions(+), 26 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 070873e..61e11f8 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 @@ -41,6 +41,7 @@ import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import static java.util.Objects.isNull; @@ -93,9 +94,11 @@ @Override public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) { + log.info("当前登录信息"+loginUserInfoVO); Boolean isExpertCheck=false; Long expertId=null; Boolean isStretAccount = isStreetAccount(loginUserInfoVO); + comEvent.setAppId(loginUserInfoVO.getAppId()); if (nonNull(comEvent.getUserType())){ if (comEvent.getUserType().equals(1)){ //个人账号权限 @@ -256,6 +259,7 @@ comEvent.setArchive(0); comEvent.setConciliation(0); comEvent.setChangeExpert(0); + comEvent.setDistribution(0); } else if(comEvent.getEventProcessStatus().equals(2)){ //待分配和待验证状态,可以受理,分配专家 //关闭调解和归档 @@ -300,7 +304,7 @@ comEvent.setSolve(0); comEvent.setArchive(0); comEvent.setDistribution(0); - } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){ + } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){ //上报并且调解失败,此时事件的状态为6,事件结果为调解失败 //comEvent.setDistribution(0); comEvent.setEventResult(null); @@ -323,8 +327,11 @@ //关闭所有权限 comEvent.setDistribution(0); comEvent.setSolve(0); - comEvent.setArchive(0); + //comEvent.setArchive(0); + comEvent.setChangeExpert(0); + comEvent.setConciliation(0); } + } else{ //已上报到街道或三说会堂,社区没有分配和受理权限权限 @@ -366,7 +373,8 @@ //调解中,可以查看,调解,更换专家,删除 comEvent.setDistribution(0); comEvent.setArchive(0); - } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){ + comEvent.setSolve(0); + }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){ //调解完成,可以归档,查看 comEvent.setEventResult(null); comEvent.setEventProcessStatus(2); @@ -375,12 +383,12 @@ //comEvent.setChangeExpert(0); //comEvent.setArchive(0); comEvent.setConciliation(0); - } - else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){ + }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){ //调解完成,可以归档,查看 comEvent.setSolve(0); comEvent.setDistribution(0); comEvent.setChangeExpert(0); + comEvent.setConciliation(0); } }else if (comEvent.getCurrentProcessType().equals(5)){ //根据事件状态决定权限 @@ -422,11 +430,12 @@ } else{ //未上上报到行业分中心,或者已上报到区三说会堂,仅查看 - comEvent.setArchive(0); + //comEvent.setArchive(0); comEvent.setSolve(0); comEvent.setDistribution(0); comEvent.setChangeExpert(0); - //comEvent.setConciliation(0); + comEvent.setConciliation(0); + } }else if (userType.equals(5) || isStreet){ //街道权限,操作街道下属社区的所有事件 @@ -464,7 +473,7 @@ comEvent.setEventResult(null); comEvent.setEventProcessStatus(1); } - else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){ + else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){ //设置为待受理 comEvent.setEventResult(null); comEvent.setEventProcessStatus(2); @@ -532,7 +541,7 @@ comEvent.setDistribution(0); comEvent.setSolve(0); comEvent.setArchive(0); - } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){ + } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){ //失败后转交三说会堂 comEvent.setSolve(0); comEvent.setDistribution(0); @@ -565,6 +574,12 @@ public Integer hasPermission(ComEvent comEvent,LoginUserInfoVO sysUser){ String account=""; Integer perm=1; + + if(comEvent==null || sysUser == null ) + { + return perm; + } + if (nonNull(sysUser.getAccount())){ account=sysUser.getAccount(); } @@ -625,7 +640,7 @@ comEvent.setCurrentOrgId(center.getId().toString()); comEvent.setCurrentProcessType(5); } - if (nonNull(comEvent.getCenterId())){ + if (StringUtils.isNotEmpty(comEvent.getCenterId())){ comEvent.setRequestUserCommunity(null); } comEvent.setUserEventStatus(2); @@ -655,6 +670,9 @@ } public void sendMessage(Long expertId,ComEvent comEvent){ + if (nonNull(comEvent.getRequestUserCommunity()) && comEvent.getRequestUserCommunity().equals(10172)){ + return; + } //获取专家的openId ComSanshuoExpert expert = comSanShuoExpertService.getById(expertId); SysUser sysUser = sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhone, expert.getPhone()).eq(SysUser::getType, 1).eq(SysUser::getAppId,"wx0cef797390444b75" )); @@ -813,6 +831,11 @@ //已是最高上报级别,无法上报 } } + + //是否为已完成并且不上报 + if (!comEventConciliationVO.getReportSuperior() && comEventConciliationVO.getEventSucceed().equals(2)){ + comEvent.setIsEnd(1); + } int flag = baseMapper.updateById(comEvent); comEventTransferRecord.setEventId(comEvent.getId()); comEventTransferRecord.setSave(true); @@ -904,17 +927,41 @@ return map; } - public String getPhone(ComEvent comEvent){ + public String getPhone(ComEvent comEvent) + { + if(comEvent==null) + { + return ""; + } if (isNull(comEvent.getRequestUserCommunity())){ - return comSanShuoIndustryCenterService.getById(comEvent.getCenterId()).getPhone(); - }else { - String contactsPhone = comActDAO.selectById(comEvent.getRequestUserCommunity()).getContactsPhone(); - if (isNull(contactsPhone)){ - return null; + ComSanshuoIndustryCenter sanshuoIndustryCenter=comSanShuoIndustryCenterService.getById(comEvent.getCenterId()); + if(sanshuoIndustryCenter==null) + { + return ""; } - return contactsPhone; + else + { + return sanshuoIndustryCenter.getPhone(); + } + + }else { + ComActDO comActDO=comActDAO.selectById(comEvent.getRequestUserCommunity()); + if(comActDO!=null) + { + String contactsPhone = comActDO.getContactsPhone(); + if (isNull(contactsPhone)){ + return ""; + } + else + { + return contactsPhone; + } + } + return ""; } } + + @Override @Transactional(rollbackFor = Exception.class) @@ -949,7 +996,7 @@ } @Override - public R calculate(LoginUserInfoVO loginUserInfoVO) { + public R calculate(LoginUserInfoVO loginUserInfoVO,Integer level,Long id) { ComEvent comEvent=new ComEvent(); Boolean isExpertCheck=false; Long expertId=null; @@ -1001,6 +1048,18 @@ } } log.info("当前userType===="+comEvent.getUserType()); + //comEvent.setAppId(loginUserInfoVO.getAppId()); +// R<LoginUserInfoVO> r = userService.detailUser(loginUserInfoVO.getUserId()); +// LoginUserInfoVO user = r.getData(); + LoginUserInfoVO user = loginUserInfoVO; + if (nonNull(user.getAppId())){ + comEvent.setAppId(user.getAppId()); + } + if (nonNull(level) && nonNull(id)){ + comEvent.setLevel(level); + comEvent.setSearchId(id); + comEvent.setUserType(null); + } List<ComEventCalculateVO> calculateList = baseMapper.calculate(comEvent); ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO(); comEventCalculateVO.setStatus("0"); @@ -1057,7 +1116,12 @@ if (nonNull(vo.getSuccess()) && !vo.getSuccess().equals(0)){ if (nonNull(vo.getAccepted()) && !vo.getAccepted().equals(0)){ //计算成功率 - vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2)); + try { + vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2)); + }catch (NullPointerException e){ + vo.setSuccessRate(new BigDecimal(0)); + } + } } vo.setExpert(comSanshuoExpertDao.selectExpertCount(indexDataDTO)); @@ -1077,6 +1141,7 @@ return R.ok(vo); } + @Override public R eventIndexData(Integer type) { //获取事件总数 @@ -1084,9 +1149,19 @@ if (type.equals(1)){ //受理级别占比 List<EventRateVO> eventRateVOS = comEventMapper.eventRate(); + //获取专家受理的数量 + Integer expertCount=comEventMapper.expertSolveCountCommunity(); + //获取行业分中心受理数量 + Integer centerCount=comEventMapper.expertSolveCountCenter(); for (EventRateVO eventRateVO : eventRateVOS) { if (nonNull(eventRateVO)){ - eventRateVO.setName(typeToName(eventRateVO.getCurrentProcessType())); + eventRateVO.setName(typeToName(eventRateVO.getType())); +// if (eventRateVO.getCurrentProcessType().equals(2)){ +// eventRateVO.setCount(eventRateVO.getCount()+expertCount); +// } +// if (eventRateVO.getCurrentProcessType().equals(1)){ +// eventRateVO.setCount(eventRateVO.getCount()+centerCount); +// } if (nonNull(eventCount) && !eventCount.equals(0)){ //计算占比 eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2)); @@ -1143,11 +1218,11 @@ case 1: return "行业分中心受理"; case 3: - return "街道调解站受理"; + return "镇/街道受理案件"; case 2: - return "社区调解站受理"; + return "村/社区受理案件"; case 4: - return "区三说会堂受理"; + return "区三说会堂中心受理"; } return null; } @@ -1155,13 +1230,13 @@ public String typeToNameExpert(Integer type){ switch (type){ case 1: - return "区三说会堂专家"; + return "区三说会堂中心专家"; case 2: return "行业分中心专家"; case 3: - return "街道调解站专家"; + return "镇/街道调解专家"; case 4: - return "社区调解站专家"; + return "村/社区调解专家"; } return null; } -- Gitblit v1.7.1