From 2edc7cf9b5b82dfde27c3354b7987755c8b3a3b0 Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期六, 22 十月 2022 00:15:36 +0800
Subject: [PATCH] #feat 修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 5 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 bcf3f66..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
@@ -381,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){
             //街道权限,操作街道下属社区的所有事件
@@ -585,6 +624,9 @@
             comEvent.setCurrentOrgId(center.getId().toString());
             comEvent.setCurrentProcessType(5);
         }
+        if (nonNull(comEvent.getCenterId())){
+            comEvent.setRequestUserCommunity(null);
+        }
         comEvent.setUserEventStatus(2);
         //设置为未上报
         comEvent.setReportLevel(0);
@@ -617,9 +659,11 @@
         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 (isNull(sysUser.getOpenid())){
-            log.info("专家未登陆APP,无法推送");
-            return;
+        if (nonNull(sysUser)){
+            if (isNull(sysUser.getOpenid())){
+                log.info("专家未登陆APP,无法推送");
+                return;
+            }
         }
         vo.setTouser(sysUser.getOpenid());
         vo.setThing1(commediateTypeService.getById(comEvent.getEventCategory()).getName());
@@ -719,7 +763,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());
@@ -855,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
@@ -883,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