From eef6d2bcdb29348efe4ef17bc45a4c6886b487b1 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 11 七月 2024 18:16:26 +0800
Subject: [PATCH] 花城 【小程序】统计排行添加是否是问题清单标识5

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java |  216 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 137 insertions(+), 79 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 9cf8a12..3d6ee67 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
@@ -94,10 +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());
+        comEvent.setAppId(loginUserInfoVO.getAppId());
         if (nonNull(comEvent.getUserType())){
             if (comEvent.getUserType().equals(1)){
                 //个人账号权限
@@ -145,13 +146,18 @@
         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 = comEventMapper.pageByComEventExpert(null, 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 -> {
@@ -508,55 +514,8 @@
         }else if (isAdmin){
             //区三说会堂账号,最高权限全部开放
             // 是否上报到三说会堂
-            if (comEvent.getCurrentProcessType().equals(4) || comEvent.getReportHall().equals(1)){
-                //已上报到三说会堂,可以操作
-                if (comEvent.getEventProcessStatus().equals(1)){
-                    //待受理和待验证状态,可以受理,分配专家
-                    //关闭调解和归档
-                    comEvent.setArchive(0);
-                    comEvent.setSolve(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(3)){
-                    //新分配给专家并且专家还未受理
-                    comEvent.setDistribution(0);
-                    comEvent.setArchive(0);
-                    //comEvent.setConciliation(0);
-                    comEvent.setChangeExpert(0);
-                    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(1) && !comEvent.getIsEnd().equals(1)){
-                    //失败后转交三说会堂
-                    comEvent.setSolve(0);
-                    comEvent.setDistribution(0);
-                    //comEvent.setConciliation(0);
-                    comEvent.setEventProcessStatus(2);
-                    comEvent.setArchive(0);
-                    //comEvent.setChangeExpert(0);
-                }
-                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
-                    //调解完成,可以归档,查看
-                    comEvent.setConciliation(0);
-                    comEvent.setSolve(0);
-                    comEvent.setDistribution(0);
-                    comEvent.setChangeExpert(0);
-                }
-            }else{
+            if(comEvent.getCurrentProcessType()==null)
+            {
                 //未上报到三说会堂,仅查看
                 comEvent.setArchive(0);
                 comEvent.setSolve(0);
@@ -564,6 +523,66 @@
                 comEvent.setChangeExpert(0);
                 comEvent.setConciliation(0);
             }
+            else
+            {
+                if (comEvent.getCurrentProcessType().equals(4) || comEvent.getReportHall().equals(1)){
+                    //已上报到三说会堂,可以操作
+                    if (comEvent.getEventProcessStatus().equals(1)){
+                        //待受理和待验证状态,可以受理,分配专家
+                        //关闭调解和归档
+                        comEvent.setArchive(0);
+                        comEvent.setSolve(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(3)){
+                        //新分配给专家并且专家还未受理
+                        comEvent.setDistribution(0);
+                        comEvent.setArchive(0);
+                        //comEvent.setConciliation(0);
+                        comEvent.setChangeExpert(0);
+                        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(1) && !comEvent.getIsEnd().equals(1)){
+                        //失败后转交三说会堂
+                        comEvent.setSolve(0);
+                        comEvent.setDistribution(0);
+                        //comEvent.setConciliation(0);
+                        comEvent.setEventProcessStatus(2);
+                        comEvent.setArchive(0);
+                        //comEvent.setChangeExpert(0);
+                    }
+                    else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
+                        //调解完成,可以归档,查看
+                        comEvent.setConciliation(0);
+                        comEvent.setSolve(0);
+                        comEvent.setDistribution(0);
+                        comEvent.setChangeExpert(0);
+                    }
+                }else{
+                    //未上报到三说会堂,仅查看
+                    comEvent.setArchive(0);
+                    comEvent.setSolve(0);
+                    comEvent.setDistribution(0);
+                    comEvent.setChangeExpert(0);
+                    comEvent.setConciliation(0);
+                }
+            }
+
         }
     }
 
@@ -573,20 +592,26 @@
     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();
         }
         //上报级别是否匹配当前账号级别
         if (sysUser.getType().equals(12) ){
-            if (!comEvent.getCurrentProcessType().equals(1)){
+            if (comEvent.getCurrentProcessType()!=null && !comEvent.getCurrentProcessType().equals(1)){
                 perm=0;
             }
-        }else if (account.equals("admin")){
-            if (!comEvent.getCurrentProcessType().equals(4)){
+        }else if (StringUtils.equals("admin",account)){
+            if ( comEvent.getCurrentProcessType()!=null && comEvent.getCurrentProcessType()!=4){
                 perm=0;
             }
         }else if (isStreetAccount(sysUser)){
-            if (!comEvent.getCurrentProcessType().equals(3)){
+            if (comEvent.getCurrentProcessType()!=null && comEvent.getCurrentProcessType()!=3){
                 perm=0;
             }
         }
@@ -920,19 +945,39 @@
         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)
@@ -967,7 +1012,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;
@@ -986,7 +1031,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);
@@ -1005,10 +1055,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);
             }
@@ -1020,10 +1071,16 @@
         }
         log.info("当前userType===="+comEvent.getUserType());
         //comEvent.setAppId(loginUserInfoVO.getAppId());
-        R<LoginUserInfoVO> r = userService.detailUser(loginUserInfoVO.getUserId());
-        LoginUserInfoVO user = r.getData();
+//        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();
@@ -1106,6 +1163,7 @@
         return R.ok(vo);
     }
 
+
     @Override
     public R eventIndexData(Integer type) {
         //获取事件总数
@@ -1119,13 +1177,13 @@
             Integer centerCount=comEventMapper.expertSolveCountCenter();
             for (EventRateVO eventRateVO : eventRateVOS) {
                 if (nonNull(eventRateVO)){
-                    eventRateVO.setName(typeToName(eventRateVO.getCurrentProcessType()));
-                    if (eventRateVO.getCurrentProcessType().equals(2)){
-                        eventRateVO.setCount(eventRateVO.getCount()+expertCount);
-                    }
-                    if (eventRateVO.getCurrentProcessType().equals(1)){
-                        eventRateVO.setCount(eventRateVO.getCount()+centerCount);
-                    }
+                    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));

--
Gitblit v1.7.1