From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java |  427 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 364 insertions(+), 63 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 b7e781c..bf755e5 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
@@ -1,36 +1,44 @@
 package com.panzhihua.service_community.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.crypto.digest.MD5;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.sanshuo.ComSanshuoExpertDTO;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.sanshuo.ComSanshuoExpertVO;
 import com.panzhihua.common.model.vos.sanshuo.ExpertRangeVO;
 import com.panzhihua.common.model.vos.sanshuo.ExpertShowVO;
 import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.common.utlis.Snowflake;
-import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.entity.ComEvent;
 import com.panzhihua.service_community.entity.ComSanshuoExpert;
+import com.panzhihua.service_community.entity.ComSanshuoIndustryCenter;
 import com.panzhihua.service_community.model.dos.ComActDO;
+import com.panzhihua.service_community.model.dos.ComSanshuoExpertTwoDO;
 import com.panzhihua.service_community.model.dos.ComStreetDO;
-import com.panzhihua.service_community.service.ComActService;
 import com.panzhihua.service_community.service.ComSanShuoExpertService;
-import com.panzhihua.service_community.service.ComStreetService;
-import com.panzhihua.service_community.util.MyAESUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import static java.util.Objects.isNull;
 import static java.util.Objects.nonNull;
 
 @Service
+@Slf4j
 public class ComSanShuoExpertServiceImpl  extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService {
 
     @Resource
@@ -43,6 +51,8 @@
     private ComStreetDAO comStreetDAO;
     @Resource
     private ComActDAO comActDAO;
+    @Resource
+    private ComEventMapper comEventMapper;
 
 
     /**
@@ -51,30 +61,87 @@
      * @return 处理结果
      * */
     @Override
-    public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
-        ComSanshuoExpert expert=new ComSanshuoExpert();
-        BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
-        expert.setId(Snowflake.getId());
-        expert.setCreateTime(new Date());
-        int insert = comSanshuoExpertDao.insert(expert);
-        if (insert>0){
-            try {
-                comSanshuoExpertDTO.setPassword(MyAESUtil.Encrypt(comSanshuoExpertDTO.getPassword(),"Ryo7M3n8loC5Abcd"));
-            } catch (Exception e) {
-                e.printStackTrace();
+    @Transactional(rollbackFor = Exception.class)
+    public R addOrUpdateExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
+        if (isNull(comSanshuoExpertDTO.getId())){
+            //是否重名
+            List<ComSanshuoExpert> checkExpert=comSanshuoExpertDao.selectExpertByNameOrPhoneOrAccount(comSanshuoExpertDTO);
+            if (checkExpert.size() != 0){
+                return R.fail("账号信息有重复");
             }
-            //生成后台账号
-            AdministratorsUserVO user=new AdministratorsUserVO();
-            user.setUserId(Snowflake.getId());
-            user.setAccount(comSanshuoExpertDTO.getAccount());
-            user.setPassword(comSanshuoExpertDTO.getPassword());
-            user.setName(comSanshuoExpertDTO.getName());
-            user.setType(11);
-            user.setImageUrl(comSanshuoExpertDTO.getAvatar());
-            return userService.sanShuoAddUser(user);
+            ComSanshuoExpert expert=new ComSanshuoExpert();
+            BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
+            if (nonNull(comSanshuoExpertDTO.getUnit())){
+                String id = comSanshuoExpertDTO.getUnit();
+                String[] split = id.split(",");
+                expert.setUnitId(split[split.length-1]);
+            }
+            expert.setId(Snowflake.getId());
+            expert.setCreateTime(new Date());
+            if (expert.getLevel()==2){
+                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
+                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()+"调解室");
+            }else{
+                expert.setUnit("区三说会堂");
+            }
+            expert.setStatus(1);
+            expert.setDelFlag(1);
+            int insert = comSanshuoExpertDao.insert(expert);
+            if (insert>0){
+                try {
+                    comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword());
+                } catch (Exception e) {
+                    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());
+                user.setPassword(comSanshuoExpertDTO.getPassword());
+                user.setName(comSanshuoExpertDTO.getName());
+                user.setType(11);
+                user.setImageUrl(comSanshuoExpertDTO.getAvatar());
+                user.setPhone(comSanshuoExpertDTO.getPhone());
+                userService.sanShuoAddUser(user);
+                return R.ok();
+            }
+        }else {
+            ComSanshuoExpert expert=new ComSanshuoExpert();
+            BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
+            if (nonNull(comSanshuoExpertDTO.getUnit())){
+                String id = comSanshuoExpertDTO.getUnit();
+                String[] split = id.split(",");
+                expert.setUnitId(split[split.length-1]);
+            }
+            expert.setUpdateTime(new Date());
+            if (expert.getLevel()==2){
+                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
+                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){
+                if (nonNull(expert.getUnitId())){
+                    expert.setCommunityId(Long.parseLong(expert.getUnitId()));
+                    expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
+                }
+            }
+            return R.ok(comSanshuoExpertDao.updateById(expert));
         }
-        return R.fail("添加失败");
+
+        return R.fail("操作失败");
     }
+
 
     /**
      * 后台获取专家列表
@@ -85,7 +152,7 @@
      * @return 处理结果
      * */
     @Override
-    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) {
+    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo,Integer level) {
         //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属
         //id:社区或街道或业务中心id
         //账号级别
@@ -93,31 +160,63 @@
         Integer range=null;
         if (nonNull(loginUserInfo)){
             if (nonNull(loginUserInfo.getUserType()) || nonNull(loginUserInfo.getType())){
-                if (loginUserInfo.getUserType().equals(1)){
-                    range=3;
-                    id=loginUserInfo.getStreetId();
-                }else if (loginUserInfo.getUserType().equals(2)){
-                    range=4;
-                    id=loginUserInfo.getCommunityId();
+                if (nonNull(loginUserInfo.getUserType())){
+                    if (loginUserInfo.getUserType().equals(1)){
+                        range=3;
+                        id=loginUserInfo.getStreetId();
+                    }else if (loginUserInfo.getUserType().equals(2)){
+                        range=4;
+                        id=loginUserInfo.getCommunityId();
+                    }
                 }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();
                 }
             }
         }
-        return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id));
+        if (loginUserInfo.getAccount().equals("admin")){
+            //三说会堂查看所有专家
+            id=null;
+            range=1;
+        }
+        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));
+                }
+
+            }
+        }
+        return R.ok(comSanshuoExpertVOIPage);
     }
 
     /**
      * 专家风采
      * */
     @Override
-    public R expertShow() {
-        List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow();
+    public R expertShow(String appId) {
+        List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow(appId);
         for (ExpertShowVO expertShowVO : expertShowVOS) {
             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();
@@ -128,20 +227,21 @@
                     expertShowVO.setChildList(expertShowVOS1);
                 }else {
                     expertShowVO.setName("村/社区调解站调解专家");
-                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity();
+                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity(appId);
                     expertShowVO.setChildList(expertShowVOS1);
                 }
             }
         }
-        return R.ok();
+        return R.ok(expertShowVOS);
     }
+
 
     /**
      * 专家级别与单位范围
      * */
     @Override
     public R expertRange(LoginUserInfoVO loginUserInfo) {
-        if (nonNull(loginUserInfo)){
+//        if (loginUserInfo!=null){
             if (loginUserInfo.getAccount().equals("zhengfawei") || loginUserInfo.getAccount().equals("admin")){
                 List<ExpertRangeVO> list=new ArrayList<>();
                 for (int i = 1; i < 5; i++) {
@@ -149,11 +249,20 @@
                     vo.setLevel(i);
                     if (i==2){
                         //设置行业分中心为childList
+                        vo.setId(2L);
                         vo.setChildList(comSanshuoIndustryCenterDao.indstryList());
+                        vo.setName("行业分中心");
                     }else if (i==3){
+                        vo.setId(3L);
                         vo.setChildList(comSanshuoIndustryCenterDao.streetList());
+                        vo.setName("街道调解站");
                     }else if (i==4){
+                        vo.setId(4L);
                         vo.setChildList(comSanshuoIndustryCenterDao.communityList());
+                        vo.setName("社区调解室");
+                    }else if(i==1){
+                        vo.setId(1L);
+                        vo.setName("三说会堂");
                     }
                     list.add(vo);
                 }
@@ -172,35 +281,227 @@
                 ExpertRangeVO vo=new ExpertRangeVO();
                 vo.setLevel(2);
                 vo.setName("行业分中心");
+                vo.setId(comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfo.getAccount())).getId());
+                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 (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.getStreetId());
-                    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.ok("测试陈宫:"+loginUserInfo.getUserType());
+    }
+
+    /**
+     * 小程序获取专家列表
+     * */
+    @Override
+    public R selectExpertList(Integer type,Long id,Long cid) {
+        List<ComSanshuoExpert> list=new ArrayList<>();
+        if (type.equals(1)){
+            //行业分中心下属专家
+            list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().
+                    eq(ComSanshuoExpert::getStatus, 1).
+                    eq(ComSanshuoExpert::getDelFlag,1 ).
+                    eq(ComSanshuoExpert::getIndustryCenterId, id));
+        }else {
+            if (nonNull(id)){
+                list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().
+                        eq(ComSanshuoExpert::getStatus, 1).
+                        eq(ComSanshuoExpert::getDelFlag,1 ).
+                        eq(ComSanshuoExpert::getCommunityId, id));
+            }else {
+                list=comSanshuoExpertDao.selectList(new QueryWrapper<ComSanshuoExpert>().lambda().
+                        eq(ComSanshuoExpert::getStatus, 1).
+                        eq(ComSanshuoExpert::getDelFlag,1 ).
+                        eq(ComSanshuoExpert::getCommunityId,cid ));
             }
         }
-        return R.fail();
+        return R.ok(list);
+    }
+
+
+    /**
+     * 专家风采列表
+     * */
+    @Override
+    public R expertShowList(Integer level, Long id,String appId) {
+        QueryWrapper<ComSanshuoExpert> wrapper=new QueryWrapper<>();
+        if (level==0){
+            wrapper.eq("app_id",appId );
+        }else {
+            if (level!=7){
+                wrapper.eq("level",level);
+                wrapper.eq("app_id",appId);
+                wrapper.eq("status",1 );
+                wrapper.eq("del_flag",1 );
+                if (level.equals(2)){
+                    wrapper.eq("industry_center_id", id);
+                }else if (level.equals(3)){
+                    wrapper.eq("street_id",id );
+                }else if (level.equals(4)){
+                    wrapper.eq("community_id",id );
+                }
+            }else {
+                wrapper.eq("id",id );
+            }
+        }
+        wrapper.orderByDesc("(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 and event_result=2)/(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 ) ");
+        wrapper.orderByDesc("(select count(*) FROM com_sanshuo_event_info where specialist_id=com_sanshuo_expert.id and event_process_status=6 )");
+        List<ComSanshuoExpert> comSanshuoExperts = comSanshuoExpertDao.selectList(wrapper);
+        for (ComSanshuoExpert comSanshuoExpert : comSanshuoExperts) {
+            //获取成功率
+            //查询成功率
+            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(successCount) && nonNull(count)){
+                if (!successCount.equals(0) && !count.equals(0)){
+                        //计算成功率
+                        comSanshuoExpert.setRate(NumberUtil.div(successCount, count,2));
+                }
+                else {
+                    comSanshuoExpert.setRate(new BigDecimal(0));
+                }
+            }else {
+                comSanshuoExpert.setRate(new BigDecimal(0));
+            }
+
+        }
+        ComSanshuoExpertTwoDO comSanshuoExpertTwoVo=new ComSanshuoExpertTwoDO();
+        List<ComSanshuoExpert> comSanshuoExpertsOne=new ArrayList<>();
+        List<ComSanshuoExpert> comSanshuoExpertsTwo=new ArrayList<>();
+        for (ComSanshuoExpert comSanshuoExpert : comSanshuoExperts){
+            if (comSanshuoExpert.getId()%2==1){
+                comSanshuoExpertsOne.add(comSanshuoExpert);
+            }else {
+                comSanshuoExpertsTwo.add(comSanshuoExpert);
+            }
+        }
+        if (level==0){
+            comSanshuoExpertTwoVo.setComSanshuoExperts(comSanshuoExpertsOne);
+            comSanshuoExpertTwoVo.setComSanshuoExpertsTwo(comSanshuoExpertsTwo);
+            return R.ok(comSanshuoExpertTwoVo);
+        }
+        else {
+            return R.ok(comSanshuoExperts);
+        }
+     }
+
+    @Override
+    public void insertExpert(ComSanshuoExpert expert) {
+//            if (nonNull(comSanshuoExpertDTO.getUnit())){
+//                String id = comSanshuoExpertDTO.getUnit();
+//                String[] split = id.split(",");
+//                expert.setUnitId(split[split.length-1]);
+//            }
+            expert.setId(Snowflake.getId());
+            expert.setCreateTime(new Date());
+            if (expert.getLevel()==2){
+                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
+                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.setStatus(1);
+            expert.setDelFlag(1);
+            expert.setCreateBy("admin");
+            expert.setCreateTime(new Date());
+            expert.setAdded(0);
+            expert.setPassword("Huacheng@123");
+            expert.setAccount(PinyinUtil.getPinyin(expert.getName(),""));
+            int insert = comSanshuoExpertDao.insert(expert);
+            if (insert>0){
+                log.info(expert.getName()+"添加完成");
+            }
+//            if (insert>0){
+//                try {
+//                    comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword());
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                }
+//                //生成后台账号
+//                AdministratorsUserVO user=new AdministratorsUserVO();
+//                user.setUserId(Snowflake.getId());
+//                user.setAccount(comSanshuoExpertDTO.getAccount());
+//                user.setPassword(comSanshuoExpertDTO.getPassword());
+//                user.setName(comSanshuoExpertDTO.getName());
+//                user.setType(11);
+//                user.setImageUrl(comSanshuoExpertDTO.getAvatar());
+//                user.setPhone(comSanshuoExpertDTO.getPhone());
+//                userService.sanShuoAddUser(user);
+//            }
+    }
+
+    @Override
+    public R backstageList(Integer level,LoginUserInfoVO loginUserInfoVO,Integer page,Integer size,String keyWord) {
+        if (nonNull(level)){
+            if (level.equals(1)){
+                //三说会堂权限,查看所有
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,null ,loginUserInfoVO.getAppId(),keyWord));
+            }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(),keyWord));
+            }else if (level.equals(3)){
+                //街道
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getStreetId(),loginUserInfoVO.getAppId(),keyWord));
+            }else if(level.equals(4)){
+                return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId(),keyWord));
+            }
+        }else {
+            return R.ok(comSanshuoExpertDao.expertList(new Page(page,size),level,loginUserInfoVO.getCommunityId(),loginUserInfoVO.getAppId(),keyWord));
+        }
+        return null;
+    }
+
+    @Override
+    public R rangeList() {
+        List<ExpertRangeVO> list=new ArrayList<>();
+        for (int i = 1; i < 5; i++) {
+            ExpertRangeVO vo=new ExpertRangeVO();
+            vo.setLevel(i);
+            if (i==2){
+                //设置行业分中心为childList
+                vo.setId(2L);
+                vo.setChildList(comSanshuoIndustryCenterDao.indstryList());
+                vo.setName("行业分中心");
+            }else if (i==3){
+                vo.setId(3L);
+                vo.setChildList(comSanshuoIndustryCenterDao.streetList());
+                vo.setName("街道调解站");
+            }else if (i==4){
+                vo.setId(4L);
+                vo.setChildList(comSanshuoIndustryCenterDao.communityList());
+                vo.setName("社区调解站");
+            }else if(i==1){
+                vo.setId(1L);
+                vo.setName("三说会堂");
+            }
+            list.add(vo);
+        }
+        return R.ok(list);
     }
 
 

--
Gitblit v1.7.1