From ad2201f809f45cbbe2e63a829e4c93a9c7b7f67c Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期五, 11 十一月 2022 10:00:19 +0800
Subject: [PATCH] #feat 修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java |  119 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 78 insertions(+), 41 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
index f760afc..4a092c1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -87,13 +87,15 @@
             expert.setCreateTime(new Date());
             if (expert.getLevel()==2){
                 expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
-                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
+                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName());
             }else if(expert.getLevel()==3){
                 expert.setStreetId(Long.parseLong(expert.getUnitId()));
                 expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
             }else if(expert.getLevel()==4){
                 expert.setCommunityId(Long.parseLong(expert.getUnitId()));
-                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
+                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解室");
+            }else{
+                expert.setUnit("区三说会堂");
             }
             expert.setStatus(1);
             expert.setDelFlag(1);
@@ -105,6 +107,10 @@
                     e.printStackTrace();
                 }
                 //生成后台账号
+                //如果是普达社区专家则不生成后台账号
+                if (nonNull(expert.getCommunityId()) && !expert.getCommunityId().equals(10172)){
+                   return R.ok();
+                }
                 AdministratorsUserVO user=new AdministratorsUserVO();
                 user.setUserId(Snowflake.getId());
                 user.setAccount(comSanshuoExpertDTO.getAccount());
@@ -113,7 +119,8 @@
                 user.setType(11);
                 user.setImageUrl(comSanshuoExpertDTO.getAvatar());
                 user.setPhone(comSanshuoExpertDTO.getPhone());
-                return R.ok(userService.sanShuoAddUser(user));
+                userService.sanShuoAddUser(user);
+                return R.ok();
             }
         }else {
             ComSanshuoExpert expert=new ComSanshuoExpert();
@@ -169,24 +176,39 @@
                 }else if (loginUserInfo.getType().equals(11)){
                     range=2;
                     id=loginUserInfo.getCommunityId();
+                }else if (loginUserInfo.getType().equals(7)){
+                    //街道后台
+                    range=3;
+                    id=loginUserInfo.getStreetId();
+                }else if (loginUserInfo.getType().equals(12)){
+                    range=2;
+                    id=comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount,loginUserInfo.getAccount() )).getId();
+                }else if (loginUserInfo.getType().equals(3)){
+                    //社区后台账号
+                    range=4;
+                    id=loginUserInfo.getCommunityId();
                 }
             }
         }
-        if (loginUserInfo.getAccount().equals("admin") || loginUserInfo.getAccount().equals("xiqu")){
+        if (loginUserInfo.getAccount().equals("admin")){
+            //三说会堂查看所有专家
             id=null;
-            range=null;
+            range=1;
         }
-        IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level);
+        log.info("");
+        IPage<ComSanshuoExpertVO> comSanshuoExpertVOIPage = comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id, level,loginUserInfo.getAppId());
         for (ComSanshuoExpertVO record : comSanshuoExpertVOIPage.getRecords()) {
             //获取调解次数和成功率
             record.setCount(comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, record.getId())));
             record.setSuccessCount(comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, record.getId()).eq(ComEvent::getEventResult,2 )));
             if (nonNull(record.getCount()) && nonNull(record.getSuccessCount())){
-                if (!(record.getCount().equals(0) && !record.getSuccessCount().equals(0))
-                record.setRate(NumberUtil.div(record.getSuccessCount(), record.getCount(),2));
+                if (!record.getCount().equals(0) && !record.getSuccessCount().equals(0)){
+                    record.setRate(NumberUtil.div(record.getSuccessCount(), record.getCount(),2));
+                }
+
             }
         }
-        return R.ok();
+        return R.ok(comSanshuoExpertVOIPage);
     }
 
     /**
@@ -199,6 +221,7 @@
             if (nonNull(expertShowVO.getLevel())){
                 if (1==expertShowVO.getLevel()) {
                     expertShowVO.setName("区三说会堂调解专家");
+                    expertShowVO.setCount(comSanshuoExpertDao.selectExpertVoList());
                 }else if (2==expertShowVO.getLevel()){
                     expertShowVO.setName("行业分中心调解专家");
                     List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry();
@@ -266,34 +289,30 @@
                 vo.setId(comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfo.getAccount())).getId());
                 list.add(vo);
                 return R.ok(list);
-            }else if (nonNull(loginUserInfo.getUserType())){
-                if (loginUserInfo.getUserType().equals(1)){
-                    //街道账号
-                    ComStreetDO comStreetDO = comStreetDAO.selectById(loginUserInfo.getStreetId());
-                    List<ExpertRangeVO> list=new ArrayList<>();
-                    ExpertRangeVO vo=new ExpertRangeVO();
-                    vo.setLevel(3);
-                    vo.setName(comStreetDO.getName()+"调解站");
-                    vo.setId(loginUserInfo.getStreetId());
-                    list.add(vo);
-                    return R.ok(list);
-                }
-                if (loginUserInfo.getUserType().equals(2)){
-                    //街道账号
-                    ComActDO comActDO = comActDAO.selectById(loginUserInfo.getCommunityId());
-                    List<ExpertRangeVO> list=new ArrayList<>();
-                    ExpertRangeVO vo=new ExpertRangeVO();
-                    vo.setLevel(4);
-                    vo.setName(comActDO.getName()+"调解站");
-                    vo.setId(loginUserInfo.getCommunityId());
-                    list.add(vo);
-                    return R.ok(list);
-                }
+            }else if (loginUserInfo.getType().equals(3)) {
+                //社区账号
+                ComActDO comStreetDO = comActDAO.selectById(loginUserInfo.getCommunityId());
+                List<ExpertRangeVO> list = new ArrayList<>();
+                ExpertRangeVO vo = new ExpertRangeVO();
+                vo.setLevel(4);
+                vo.setName(comStreetDO.getName() + "调解站");
+                vo.setId(loginUserInfo.getCommunityId());
+                list.add(vo);
+                return R.ok(list);
+            } else if (loginUserInfo.getType().equals(7)){
+                //街道账号
+                ComStreetDO comActDO = comStreetDAO.selectById(loginUserInfo.getStreetId());
+                List<ExpertRangeVO> list=new ArrayList<>();
+                ExpertRangeVO vo=new ExpertRangeVO();
+                vo.setLevel(4);
+                vo.setName(comActDO.getName()+"调解站");
+                vo.setId(loginUserInfo.getStreetId());
+                list.add(vo);
+                return R.ok(list);
             }
         }
         return R.fail();
     }
-
 
     /**
      * 小程序获取专家列表
@@ -345,17 +364,15 @@
             Integer count = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6));
             Integer successCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, comSanshuoExpert.getId()).eq(ComEvent::getEventProcessStatus, 6).eq(ComEvent::getEventResult, 2));
             comSanshuoExpert.setCount(count);
-            if (nonNull(count) && !count.equals(0)){
-                comSanshuoExpert.setCount(count);
-                if (nonNull(successCount) && !count.equals(successCount)){
-                    //计算成功率
-                    comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
-                }else {
-                    comSanshuoExpert.setRate(new BigDecimal(0));
+            if (nonNull(successCount) && nonNull(count)){
+                if (!successCount.equals(0) && !count.equals(0)){
+                        //计算成功率
+                        comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
                 }
             }else {
-                comSanshuoExpert.setCount(0);
+                comSanshuoExpert.setRate(new BigDecimal(0));
             }
+
         }
         return R.ok(comSanshuoExperts);
     }
@@ -409,5 +426,25 @@
 //            }
     }
 
+    @Override
+    public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO,Integer page,Integer size) {
+        if (nonNull(level)){
+            if (level.equals(1)){
+                //三说会堂权限,查看所有
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,null ,loginUserInfoVO.getAppId()));
+            }else if (level.equals(2)){
+                //行业分中心
+                ComSanshuoIndustryCenter center = comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfoVO.getAccount()));
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,center.getId(),loginUserInfoVO.getAppId()));
+            }else if (level.equals(3)){
+                //街道
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getStreetId(),loginUserInfoVO.getAppId()));
+            }else if(level.equals(4)){
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId()));
+            }
+        }
+        return null;
+    }
+
 
 }

--
Gitblit v1.7.1