From e1ef6d473d1eeec5b08de1eb44b7a950123b00ef Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期日, 18 九月 2022 11:57:46 +0800
Subject: [PATCH] update

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 171 insertions(+), 6 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 2fad91a..36d7e9f 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
@@ -5,23 +5,45 @@
 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.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.ComSanshuoEventDao;
-import com.panzhihua.service_community.dao.ComSanshuoExpertDao;
+import com.panzhihua.service_community.dao.*;
 import com.panzhihua.service_community.entity.ComSanshuoExpert;
+import com.panzhihua.service_community.model.dos.ComActDO;
+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 org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+
+import static java.util.Objects.nonNull;
 
 @Service
 public class ComSanShuoExpertServiceImpl  extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService {
 
     @Resource
     private ComSanshuoExpertDao comSanshuoExpertDao;
+    @Resource
+    private UserService userService;
+    @Resource
+    private ComSanshuoIndustryCenterDao comSanshuoIndustryCenterDao;
+    @Resource
+    private ComStreetDAO comStreetDAO;
+    @Resource
+    private ComActDAO comActDAO;
+
 
     /**
      * 添加专家
@@ -32,11 +54,37 @@
     public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
         ComSanshuoExpert expert=new ComSanshuoExpert();
         BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
+        //处理id
+        if (nonNull(comSanshuoExpertDTO.getUnit())){
+            String id = comSanshuoExpertDTO.getUnit();
+            String[] split = id.split(",");
+            comSanshuoExpertDTO.setUnitId(split[split.length]);
+        }
         expert.setId(Snowflake.getId());
         expert.setCreateTime(new Date());
+        if (expert.getLevel()==2){
+            expert.setIndustryCenterId(Long.parseLong(comSanshuoExpertDTO.getUnitId()));
+        }else if(expert.getLevel()==3){
+            expert.setStreetId(Long.parseLong(comSanshuoExpertDTO.getUnitId()));
+        }else if(expert.getLevel()==4){
+            expert.setCommunityId(Long.parseLong(comSanshuoExpertDTO.getUnitId()));
+        }
         int insert = comSanshuoExpertDao.insert(expert);
         if (insert>0){
-            return R.ok();
+            try {
+                comSanshuoExpertDTO.setPassword(MyAESUtil.Encrypt(comSanshuoExpertDTO.getPassword(),"Ryo7M3n8loC5Abcd"));
+            } 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());
+            return userService.sanShuoAddUser(user);
         }
         return R.fail("添加失败");
     }
@@ -46,12 +94,129 @@
      * @param page
      * @param keyWord
      * @param size
-     * @param range 数据范围:1街道下属/2社区下属/3业务中心下属/null三说会堂下属
-     * @param id 社区或街道或业务中心id
+     * @param loginUserInfo 登陆账号信息
      * @return 处理结果
      * */
     @Override
-    public R expertPage(String keyWord, Integer page, Integer size,Integer range,Long id) {
+    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) {
+        //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属
+        //id:社区或街道或业务中心id
+        //账号级别
+        Long id=null;
+        Integer range=null;
+        if (nonNull(loginUserInfo)){
+            if (nonNull(loginUserInfo.getUserType()) || nonNull(loginUserInfo.getType())){
+                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();
+                }
+            }
+        }
         return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id));
     }
+
+    /**
+     * 专家风采
+     * */
+    @Override
+    public R expertShow() {
+        List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow();
+        for (ExpertShowVO expertShowVO : expertShowVOS) {
+            if (nonNull(expertShowVO.getLevel())){
+                if (1==expertShowVO.getLevel()) {
+                    expertShowVO.setName("区三说会堂调解专家");
+                }else if (2==expertShowVO.getLevel()){
+                    expertShowVO.setName("行业分中心调解专家");
+                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry();
+                    expertShowVO.setChildList(expertShowVOS1);
+                }else if (3==expertShowVO.getLevel()){
+                    expertShowVO.setName("镇/街道调解站调解专家");
+                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertStreet();
+                    expertShowVO.setChildList(expertShowVOS1);
+                }else {
+                    expertShowVO.setName("村/社区调解站调解专家");
+                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity();
+                    expertShowVO.setChildList(expertShowVOS1);
+                }
+            }
+        }
+        return R.ok();
+    }
+
+    /**
+     * 专家级别与单位范围
+     * */
+    @Override
+    public R expertRange(LoginUserInfoVO loginUserInfo) {
+        if (nonNull(loginUserInfo)){
+            if (loginUserInfo.getAccount().equals("zhengfawei") || loginUserInfo.getAccount().equals("admin")){
+                List<ExpertRangeVO> list=new ArrayList<>();
+                for (int i = 1; i < 5; i++) {
+                    ExpertRangeVO vo=new ExpertRangeVO();
+                    vo.setLevel(i);
+                    if (i==2){
+                        //设置行业分中心为childList
+                        vo.setChildList(comSanshuoIndustryCenterDao.indstryList());
+                    }else if (i==3){
+                        vo.setChildList(comSanshuoIndustryCenterDao.streetList());
+                    }else if (i==4){
+                        vo.setChildList(comSanshuoIndustryCenterDao.communityList());
+                    }
+                    list.add(vo);
+                }
+                return R.ok(list);
+            }else if (loginUserInfo.getType().equals(11)){
+                //三说会堂后台
+                List<ExpertRangeVO> list=new ArrayList<>();
+                ExpertRangeVO vo=new ExpertRangeVO();
+                vo.setLevel(1);
+                vo.setName("区三说会堂");
+                list.add(vo);
+                return R.ok(list);
+            }else if (loginUserInfo.getType().equals(12)){
+                //行业分中心后台
+                List<ExpertRangeVO> list=new ArrayList<>();
+                ExpertRangeVO vo=new ExpertRangeVO();
+                vo.setLevel(2);
+                vo.setName("行业分中心");
+                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);
+                }
+            }
+        }
+        return R.fail();
+    }
+
+
 }

--
Gitblit v1.7.1