From 7eb3cd005ff1df04d0b009f1aac5f51b766635a7 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期一, 04 九月 2023 11:12:51 +0800
Subject: [PATCH] 修改社区动态加载不出来
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 198 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 170 insertions(+), 28 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 b7a1234..d21a6f0 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;
@@ -87,14 +88,17 @@
@Resource
private ComSanshuoExpertDao comSanshuoExpertDao;
+ @Resource
private SysUserDao sysUserDao;
@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)){
//个人账号权限
@@ -142,13 +146,14 @@
IPage<ComEvent> list=null;
//是否为专家查看自己发布的事件
if (isExpertCheck && comEvent.getUserType()!=1){
- if (nonNull(comEventMapper.listEventIds(expertId))){
- list = comEventMapper.pageByComEventExpert(comEventMapper.listEventIds(expertId), comEvent, pagination);
+ List<Long> ids=comEventMapper.listEventIds(expertId);
+ if (ids!=null && ids.size()>0 ){
+ list = comEventMapper.pageByComEventExpert(ids, comEvent, pagination);
}
}else{
list = baseMapper.pageByComEvent(comEvent, pagination);
}
- if (list.getRecords().size() < 1) {
+ if (list==null || list.getRecords().size() < 1) {
return R.ok(Collections.emptyList());
}
list.getRecords().forEach(comEvent1 -> {
@@ -255,6 +260,7 @@
comEvent.setArchive(0);
comEvent.setConciliation(0);
comEvent.setChangeExpert(0);
+ comEvent.setDistribution(0);
} else if(comEvent.getEventProcessStatus().equals(2)){
//待分配和待验证状态,可以受理,分配专家
//关闭调解和归档
@@ -299,7 +305,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);
@@ -322,8 +328,11 @@
//关闭所有权限
comEvent.setDistribution(0);
comEvent.setSolve(0);
- comEvent.setArchive(0);
+ //comEvent.setArchive(0);
+ comEvent.setChangeExpert(0);
+ comEvent.setConciliation(0);
}
+
}
else{
//已上报到街道或三说会堂,社区没有分配和受理权限权限
@@ -365,27 +374,69 @@
//调解中,可以查看,调解,更换专家,删除
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);
comEvent.setSolve(0);
comEvent.setDistribution(0);
//comEvent.setChangeExpert(0);
+ //comEvent.setArchive(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 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{
+ }
+ else{
//未上上报到行业分中心,或者已上报到区三说会堂,仅查看
- comEvent.setArchive(0);
+ //comEvent.setArchive(0);
comEvent.setSolve(0);
comEvent.setDistribution(0);
comEvent.setChangeExpert(0);
+ comEvent.setConciliation(0);
+
}
}else if (userType.equals(5) || isStreet){
//街道权限,操作街道下属社区的所有事件
@@ -423,7 +474,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);
@@ -491,7 +542,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);
@@ -524,6 +575,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();
}
@@ -577,12 +634,15 @@
comEvent.setCurrentOrgId(community.getCommunityId().toString());
comEvent.setCurrentProcessType(5);
}
- if (!StringUtils.isEmpty(comEvent.getCenterId())) {
+ if (!StringUtils.isEmpty(comEvent.getCenterId())) {
//创建时处理级别都是专家
ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCenterId());
comEvent.setCurrentOrgName(center.getName());
comEvent.setCurrentOrgId(center.getId().toString());
comEvent.setCurrentProcessType(5);
+ }
+ if (StringUtils.isNotEmpty(comEvent.getCenterId())){
+ comEvent.setRequestUserCommunity(null);
}
comEvent.setUserEventStatus(2);
//设置为未上报
@@ -611,13 +671,19 @@
}
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::getAccount, expert.getAccount()).eq(SysUser::getPhone, expert.getPhone()));
+ SysUser sysUser = sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getPhone, expert.getPhone()).eq(SysUser::getType, 1).eq(SysUser::getAppId,"wx0cef797390444b75" ));
SanShuoMessageVO vo=new SanShuoMessageVO();
- if (isNull(sysUser.getOpenid())){
- log.info("专家未登陆APP,无法推送");
+ if (isNull(sysUser)){
return;
+ }
+ if (isNull(sysUser.getOpenid())){
+ log.info("专家未登陆APP,无法推送");
+ return;
}
vo.setTouser(sysUser.getOpenid());
vo.setThing1(commediateTypeService.getById(comEvent.getEventCategory()).getName());
@@ -717,7 +783,7 @@
comEvent.setSpecialistName("待分配");
comEvent.setSpecialistId(99999L);
//生成一次流转记录
- ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getSpecialistId());
+ ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCurrentOrgId());
comEvent.setCurrentEventProcessResult("(专家上报到"+center.getName()+")"+comEventConciliationVO.getCurrentEventProcessResult());
comEvent.setCurrentOrgName(expert.getUnit());
comEventTransferRecord.setFromId(comEvent.getSpecialistId());
@@ -766,6 +832,11 @@
//已是最高上报级别,无法上报
}
}
+
+ //是否为已完成并且不上报
+ if (!comEventConciliationVO.getReportSuperior() && comEventConciliationVO.getEventSucceed().equals(2)){
+ comEvent.setIsEnd(1);
+ }
int flag = baseMapper.updateById(comEvent);
comEventTransferRecord.setEventId(comEvent.getId());
comEventTransferRecord.setSave(true);
@@ -806,7 +877,7 @@
|| comEvent.getEventProcessStatus() == SanShuoEventStatusEnum.VALID.getCode().intValue()) {
comEvent.setId(id);
comEvent.setUserEventStatus(4);
- comEvent.setEventProcessStatus(8);
+ comEvent.setEventProcessStatus(9);
comEvent.setRevokeDes("用户手动取消");
comEvent.setRevokeDate(new Date());
int flag = baseMapper.updateById(comEvent);
@@ -853,7 +924,42 @@
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(comEvent==null)
+ {
+ return "";
+ }
+ if (isNull(comEvent.getRequestUserCommunity())){
+ ComSanshuoIndustryCenter sanshuoIndustryCenter=comSanShuoIndustryCenterService.getById(comEvent.getCenterId());
+ if(sanshuoIndustryCenter==null)
+ {
+ return "";
+ }
+ 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
@@ -881,13 +987,15 @@
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);
}
@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;
@@ -906,7 +1014,12 @@
comEvent.setSpecialistId(expert.getId());
isExpertCheck=true;
expertId=expert.getId();
+// level=expert.getLevel();
+// id=expert.getCommunityId();
+ comEvent.setCommunityId(expert.getCommunityId());
}
+
+
}else if (loginUserInfoVO.getType().equals(12)){
//行业分中心权限
comEvent.setUserType(3);
@@ -925,10 +1038,11 @@
List<Long> cids = comActDAO.selectCommunityByStreetId(loginUserInfoVO.getStreetId());
comEvent.setUserType(5);
comEvent.setCommunityIds(cids);
- }
+ }
if (isExpertCheck){
- if(nonNull(comEventMapper.listEventIds(expertId))){
- List<Long> eventIds = comEventMapper.listEventIds(expertId);
+ List<Long> eventIds = comEventMapper.listEventIds(expertId);
+ if(eventIds!=null && eventIds.size()>0){
+
//获取该专家的所有事件
comEvent.setEventIds(eventIds);
}
@@ -939,6 +1053,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");
@@ -995,7 +1121,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));
@@ -1015,6 +1146,7 @@
return R.ok(vo);
}
+
@Override
public R eventIndexData(Integer type) {
//获取事件总数
@@ -1022,9 +1154,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));
@@ -1081,11 +1223,11 @@
case 1:
return "行业分中心受理";
case 3:
- return "街道调解站受理";
+ return "镇/街道受理案件";
case 2:
- return "社区调解站受理";
+ return "村/社区受理案件";
case 4:
- return "区三说会堂受理";
+ return "区三说会堂中心受理";
}
return null;
}
@@ -1093,13 +1235,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