From 5f3cf501f9f6c216df17ee8af6618b55b537d21a Mon Sep 17 00:00:00 2001
From: yanghui <2536613402@qq.com>
Date: 星期五, 21 十月 2022 16:57:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into local_20221014

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |  354 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 278 insertions(+), 76 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
index 458f08f..4d1762f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1,53 +1,42 @@
 package com.panzhihua.service_user.service.impl;
 
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.*;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.panzhihua.common.constants.Constants;
-import com.panzhihua.common.constants.UserConstants;
-import com.panzhihua.common.exceptions.ServiceException;
-import com.panzhihua.common.model.dtos.DataKanBansDto;
-import com.panzhihua.common.model.dtos.PageDTO;
-import com.panzhihua.common.model.dtos.community.ExportUserDTO;
-import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
-import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
 import com.panzhihua.common.model.dtos.community.microCommercialStreet.BindUserPhoneDTO;
-import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
-import com.panzhihua.common.model.dtos.grid.*;
 import com.panzhihua.common.model.dtos.partybuilding.ComPbCheckUserDTO;
-import com.panzhihua.common.model.dtos.user.*;
-import com.panzhihua.common.model.vos.*;
-import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.model.vos.community.ComAreaTownCommunityVO;
 import com.panzhihua.common.model.vos.community.acid.ComActAcidCheckRecordVO;
 import com.panzhihua.common.model.vos.community.acid.ComActAcidMemberVO;
 import com.panzhihua.common.model.vos.community.acid.ComActAcidRecordVO;
 import com.panzhihua.common.model.vos.community.microCommercialStreet.McsLoginUserInfoVO;
-import com.panzhihua.common.model.vos.grid.GridMemberVO;
-import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
-import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
-import com.panzhihua.common.model.vos.shop.ShopStoreVO;
+import com.panzhihua.common.model.vos.sanshuo.ComSanshuoExpertVO;
 import com.panzhihua.common.model.vos.user.*;
+import com.panzhihua.common.service.community.CommunityService;
 import com.panzhihua.common.utlis.*;
 import com.panzhihua.service_user.dao.*;
 import com.panzhihua.service_user.entity.SysAppConfig;
 import com.panzhihua.service_user.entity.SysTemplateConfig;
-import com.panzhihua.service_user.model.dos.*;
-import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
-import com.panzhihua.service_user.model.dtos.UsersStatisticsDTO;
-import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
-import com.panzhihua.service_user.service.UserService;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.time.DateFormatUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -58,16 +47,68 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.panzhihua.common.constants.Constants;
+import com.panzhihua.common.constants.UserConstants;
+import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.dtos.DataKanBansDto;
+import com.panzhihua.common.model.dtos.PageDTO;
+import com.panzhihua.common.model.dtos.community.ExportUserDTO;
+import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
+import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsMerchantDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberAddDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditAdminDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberEditStatusDTO;
+import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
+import com.panzhihua.common.model.dtos.grid.PageEventGridMemberRelationDTO;
+import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
+import com.panzhihua.common.model.dtos.user.PageFeedBackDTO;
+import com.panzhihua.common.model.dtos.user.PageUserAppletsBackstageDTO;
+import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO;
+import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
+import com.panzhihua.common.model.vos.AppletUserInfoVO;
+import com.panzhihua.common.model.vos.EditUserInfoPassAppDTO;
+import com.panzhihua.common.model.vos.IndexDataKanbanVO;
+import com.panzhihua.common.model.vos.IndexDataVO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.SystemmanagementConfigVO;
+import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
+import com.panzhihua.common.model.vos.community.IndexUserCommunityVo;
+import com.panzhihua.common.model.vos.community.IndexUserStatisticsVo;
+import com.panzhihua.common.model.vos.community.IndexUserStreetVo;
+import com.panzhihua.common.model.vos.grid.GridMemberVO;
+import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO;
+import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO;
+import com.panzhihua.common.model.vos.shop.ShopStoreVO;
+import com.panzhihua.service_user.model.dos.ComActFourMember;
+import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO;
+import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
+import com.panzhihua.service_user.model.dos.EventGridMemberBuildingRelationDO;
+import com.panzhihua.service_user.model.dos.LcCompareCodeMemberDO;
+import com.panzhihua.service_user.model.dos.SysMenuDO;
+import com.panzhihua.service_user.model.dos.SysOperLogDO;
+import com.panzhihua.service_user.model.dos.SysRoleDO;
+import com.panzhihua.service_user.model.dos.SysRoleMenuDO;
+import com.panzhihua.service_user.model.dos.SysUserAgreementDO;
+import com.panzhihua.service_user.model.dos.SysUserDO;
+import com.panzhihua.service_user.model.dos.SysUserFeedbackDO;
+import com.panzhihua.service_user.model.dos.SysUserNoticeDO;
+import com.panzhihua.service_user.model.dos.SysUserRoleDO;
+import com.panzhihua.service_user.model.dtos.DataKanbanDTO;
+import com.panzhihua.service_user.model.dtos.UsersStatisticsDTO;
+import com.panzhihua.service_user.service.EventGridMemberBuildingRelationService;
+import com.panzhihua.service_user.service.UserService;
 
-import static java.util.Objects.isNull;
-import static java.util.Objects.nonNull;
-import static org.apache.commons.lang3.StringUtils.isNotBlank;
+import cn.hutool.core.util.IdcardUtil;
+import lombok.extern.slf4j.Slf4j;
 
 // import com.panzhihua.common.service.grid.GridService;
 
@@ -123,15 +164,15 @@
     private SysTemplateConfigDao sysTemplateConfigDao;
     @Resource
     private ObjectMapper objectMapper;
-    private static final Integer ALLCOUNTY = 1;
-    private static final Integer ALLSTREET = 2;
-    private static final Integer ALLCOMMUNITY = 3;
-    private static final Integer BYSTREET = 4;
-    private static final Integer BYAREA = 5;
-    private static final String OTHERUSER = "其他用户";
-    private static final String UPDATEACIDCHECKRECORD = "修改排查数据";
-    private static final String UPDATEACIDMEMBER = "修改防疫工作人员信息";
-    private static final String UPDATEACIDRECORD = "修改防疫信息数据";
+    private static final Integer ALLCOUNTY=1;
+    private static final Integer ALLSTREET=2;
+    private static final Integer ALLCOMMUNITY=3;
+    private static final Integer BYSTREET=4;
+    private static final Integer BYAREA=5;
+    private static final String OTHERUSER="其他用户";
+    private static final String UPDATEACIDCHECKRECORD="修改排查数据";
+    private static final String UPDATEACIDMEMBER="修改防疫工作人员信息";
+    private static final String UPDATEACIDRECORD="修改防疫信息数据";
 
     // @Resource
     // private GridService gridService;
@@ -262,18 +303,25 @@
      * @return 用户基本信息、角色
      */
     @Override
-    public R<LoginUserInfoVO> getUserInfo(String name, int type, String appId) {
+    public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) {
+        //是否为三说会堂行业分中心或专家后台账号
         SysUserDO sysUserDO = null;
+        Boolean isIndustryOrExpertAccount=(userDao.isIndustryCenterAccount(name)>0 || userDao.isExpertAccount(name)>0);
         if (1 == type) {
             sysUserDO = userDao.selectOne(
-                    new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
-        } else {
+                new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
+        }else if(isIndustryOrExpertAccount) {
+            //三说会堂行业分中心或专家后台账号登陆
+            sysUserDO = userDao.selectOne(
+                    new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId, appId));
+        }
+        else {
             LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
             if (type == 11) {
                 //只允许通过account登录
-                wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId, appId));
+                wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId,appId));
             } else {
-                wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAppId, appId).eq(SysUserDO::getAccount, name).or()
+                wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAppId,appId).eq(SysUserDO::getAccount, name).or()
                         .eq(SysUserDO::getPhone, name));
             }
             sysUserDO = userDao.selectOne(wrapper);
@@ -283,6 +331,9 @@
             return R.fail();
         }
         LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO();
+        if (nonNull(sysUserDO.getStreetId())){
+            loginUserInfoVO.setStreetId(sysUserDO.getStreetId());
+        }
         loginUserInfoVO.setUserId(sysUserDO.getUserId());
         loginUserInfoVO.setName(sysUserDO.getName());
         loginUserInfoVO.setPassword(sysUserDO.getPassword());
@@ -290,13 +341,13 @@
         loginUserInfoVO.setAccount(name);
         loginUserInfoVO.setType(sysUserDO.getType());
         loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);// 暂时 身份证判断实名制
-        if (sysUserDO.getCommunityId() != null) {
+        if(sysUserDO.getCommunityId()!=null){
             ComActVO comActVO = userDao.selectCommunity(sysUserDO.getCommunityId());
             loginUserInfoVO.setCommunityId(sysUserDO.getCommunityId());
-            if (comActVO != null) {
+            if(comActVO!=null){
                 loginUserInfoVO.setComActVO(comActVO);
-                String areaName = userDao.selectAreaCodeByStreetId(comActVO.getStreetId());
-                if (StringUtils.isNotEmpty(areaName)) {
+                String areaName=userDao.selectAreaCodeByStreetId(comActVO.getStreetId());
+                if(StringUtils.isNotEmpty(areaName)){
                     loginUserInfoVO.setAreaName(areaName);
                 }
 //                SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
@@ -355,8 +406,8 @@
                 loginUserInfoVO.setCommunityName(comActVO.getName());
                 loginUserInfoVO.setComActVO(comActVO);
                 loginUserInfoVO.setAreaCode(comActVO.getAreaCode());
-                SysAppConfig sysAppConfig = sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode, comActVO.getAreaCode()));
-                if (sysAppConfig != null) {
+                SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode()));
+                if(sysAppConfig!=null){
                     loginUserInfoVO.setAppId(sysAppConfig.getAppId());
                     loginUserInfoVO.setAppSecret(sysAppConfig.getSecret());
                 }
@@ -371,8 +422,8 @@
                 loginUserInfoVO.setVolunteerStatus(state);
             }
             //是否四长四员
-            Integer countFourMember = comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard, sysUserDO.getIdCard()));
-            if (countFourMember > 0) {
+            Integer countFourMember=comActFourMemberDao.selectCount(new QueryWrapper<ComActFourMember>().lambda().eq(ComActFourMember::getIdCard,sysUserDO.getIdCard()));
+            if(countFourMember>0){
                 loginUserInfoVO.setIsFourMember(1);
             }
             //是否是社区物业人员
@@ -388,21 +439,24 @@
             //是否是防疫工作人员
             ComActAcidMemberVO acidMember = userDao.selectAcidMemberByPhone(phone);
             if (nonNull(acidMember)) {
-                if (acidMember.getRelationName().equals("panzhihua") || acidMember.getRelationName().equals("西区") || acidMember.getRelationName().equals("东区") || acidMember.getRelationName().equals("仁和区") || acidMember.getRelationName().equals("米易县") || acidMember.getRelationName().equals("盐边县")) {
+                if(acidMember.getRelationName().equals("panzhihua")||acidMember.getRelationName().equals("西区")||acidMember.getRelationName().equals("东区")||acidMember.getRelationName().equals("仁和区")||acidMember.getRelationName().equals("米易县")||acidMember.getRelationName().equals("盐边县")){
                     loginUserInfoVO.setIsAcidMember(1);
-                } else {
+                }
+                else {
                     loginUserInfoVO.setIsAcidMember(2);
                 }
                 loginUserInfoVO.setRelationName(acidMember.getRelationName());
             }
-            Integer count = userDao.selectOrgAdmin(phone);
-            if (count > 0) {
+            Integer count=userDao.selectOrgAdmin(phone);
+            if(count>0){
                 loginUserInfoVO.setIsCheckUnitAdmin(1);
             }
-            Long checkUnitId = userDao.selectCheckUnitId(phone);
-            if (checkUnitId != null) {
+            Long checkUnitId=userDao.selectCheckUnitId(phone);
+            if(checkUnitId!=null){
                 loginUserInfoVO.setCheckUnitId(checkUnitId);
-            } else {
+            }
+
+            else {
                 loginUserInfoVO.setIsCheckUnitAdmin(0);
             }
             //是否网格员
@@ -422,19 +476,64 @@
             } else if (isSysUser != null && isSysUser > 0) {
                 loginUserInfoVO.setIsmemberrole(1);
             }
-            Integer countSocialWorker = userDao.countSocialWorker(phone, userCommunityId);
-            if (countSocialWorker > 0) {
+            Integer countSocialWorker = userDao.countSocialWorker(phone,userCommunityId);
+            if(countSocialWorker>0){
                 loginUserInfoVO.setIsSocialWorker(1);
             }
         }
         loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard() != null);
+        //是否社区或街道后台
+        int countSocialOrg=userDao.countSocialOrg(sysUserDO.getUserId());
+        if(countSocialOrg>0){
+            loginUserInfoVO.setUserType(3);
+        }
+        if (nonNull(sysUserDO.getAccount())){
+            if (isStreetAccount(sysUserDO.getAccount())){
+                //街道账号
+                loginUserInfoVO.setLevel(3);
+            }
+            if (sysUserDO.getAccount().equals("admin")){
+                loginUserInfoVO.setLevel(1);
+            }
+        }
+        if (loginUserInfoVO.getType().equals(3)){
+            loginUserInfoVO.setLevel(4);
+        }
+        if (sysUserDO.getType().equals(11)){
+            //专家
+            loginUserInfoVO.setLevel(5);
+        }else if (sysUserDO.getType().equals(12)){
+            //行业分中心
+            loginUserInfoVO.setLevel(2);
+        }
+        //是否为三说会堂专家
+        ComSanshuoExpertVO expertVO=userDao.isExpert(loginUserInfoVO.getPhone());
+        if (nonNull(expertVO)){
+            loginUserInfoVO.setType(13);
+        }
         return R.ok(loginUserInfoVO);
     }
 
     /**
+     * 是否为综治后台街道账号
+     * */
+    public Boolean isStreetAccount(String name){
+        Boolean flag=false;
+        String[] account={"glpz","qxpjd","tjdjd","dbdjd","yqjd","bcg","hmkjd","dhjd","jsgyy","dzhljd"};
+        if (nonNull(name)){
+            if (ArrayUtil.contains(account,name)){
+                flag=true;
+            }
+        }
+        return flag;
+    }
+
+
+    /**
      * 修改用户登录密码
      *
-     * @param changePasswordVO 新密码
+     * @param changePasswordVO
+     *            新密码
      * @return 修改结果
      */
     @Override
@@ -466,8 +565,10 @@
     /**
      * 某社区后台人员查询
      *
-     * @param param       名字
-     * @param communityId 社区id
+     * @param param
+     *            名字
+     * @param communityId
+     *            社区id
      * @return 人员集合
      */
     @Override
@@ -494,8 +595,10 @@
     /**
      * 微心愿搜索社区团队人员列表
      *
-     * @param param       请求参数
-     * @param communityId 社区id
+     * @param param
+     *            请求参数
+     * @param communityId
+     *            社区id
      * @return 社区团队人员列表
      */
     @Override
@@ -506,7 +609,8 @@
     /**
      * 分页查询人脸识别
      *
-     * @param loginUserInfoVO 查询参数
+     * @param loginUserInfoVO
+     *            查询参数
      * @return 分页集合
      */
     @Override
@@ -693,7 +797,15 @@
                 loginUserInfoVO.setUserType(1);
             } else {
                 loginUserInfoVO.setUserType(2);
+                loginUserInfoVO.setLevel(4);
             }
+        }
+        if (sysUserDO.getType().equals(11)){
+            loginUserInfoVO.setLevel(5);
+        }else if (sysUserDO.getType().equals(12)){
+            loginUserInfoVO.setLevel(2);
+        }else if (isNull(loginUserInfoVO.getLevel())){
+            loginUserInfoVO.setLevel(1);
         }
         loginUserInfoVO.setBackstageType(1);
         String[] account = {"dongqu", "xiqu", "yanbianxian", "miyixian", "renhequ", "fantaixinqu"};
@@ -2171,8 +2283,13 @@
         sysUserDO.setPhone(storeVO.getPhone());
         sysUserDO.setName(storeVO.getContacts());
         sysUserDO.setPassword(encode);
+        sysUserDO.setAppId("wx0cef797390444b75");
         try {
             insert = userDao.insert(sysUserDO);
+            SysUserRoleDO sysUserRoleDO = new SysUserRoleDO();
+            sysUserRoleDO.setUserId(sysUserDO.getUserId());
+            sysUserRoleDO.setRoleId(sysRoleDO.getRoleId());
+            sysUserRoleDAO.insert(sysUserRoleDO);
             // 把SysUserId赋值给店铺
             if (sysUserDO.getUserId() != null) {
                 userDao.updateStoreByPhone(storeVO.getPhone(), sysUserDO.getUserId());
@@ -3698,6 +3815,92 @@
         return R.ok();
     }
 
+    /**
+     * 三说会堂新增业务中心或专家账号
+     * */
+    @Override
+    public R addExpertOrIndustryCenter(AdministratorsUserVO administratorsUserVO) {
+        SysUserDO sysUserDO=new SysUserDO();
+        //是否存在相同账号
+        SysUserDO userDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", administratorsUserVO.getAccount()));
+        if (isNull(userDO)){
+            sysUserDO.setAppId("wx0cef797390444b75");
+            sysUserDO.setCreateAt(new Date());
+            sysUserDO.setUserId(administratorsUserVO.getUserId());
+            sysUserDO.setAccount(administratorsUserVO.getAccount());
+            sysUserDO.setPassword(new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword()));
+            sysUserDO.setName(administratorsUserVO.getName());
+            if (nonNull(administratorsUserVO.getImageUrl())){
+                sysUserDO.setImageUrl(administratorsUserVO.getImageUrl());
+            }
+            if (nonNull(administratorsUserVO.getType())){
+                sysUserDO.setType(administratorsUserVO.getType());
+            }
+            if (nonNull(administratorsUserVO.getPhone())){
+                sysUserDO.setPhone(administratorsUserVO.getPhone());
+            }
+            userDao.insert(sysUserDO);
+            //分配权限
+            SysUserRoleDO sysUserRole=new SysUserRoleDO();
+            sysUserRole.setUserId(sysUserDO.getUserId());
+            if (sysUserDO.getType().equals(11)){
+                sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_EXPERT_ROLE));
+                //将专家小程序账号设置为专家权限
+                SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 1).eq(SysUserDO::getPhone, administratorsUserVO.getPhone()));
+                if (nonNull(sysUserDO1)){
+                    sysUserDO1.setType(13);
+                    userDao.updateById(sysUserDO1);
+                    log.info("添加专家小程序账号权限");
+                }
+            }else{
+                sysUserRole.setRoleId(Long.parseLong(UserConstants.SANSHUO_INDUSTRY_CENTER_ROLE));
+            }
+            //配置权限
+            sysUserRoleDAO.insert(sysUserRole);
+            return R.ok();
+        }
+        return R.fail("账户名已存在");
+    }
+
+    /**
+     * 三说会堂后台重置密码
+     * */
+    @Override
+    public R resetPassExpertOrIndustryCenter(String account,String password) {
+        SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", account));
+        if (nonNull(sysUserDO)){
+            sysUserDO.setPassword(new BCryptPasswordEncoder().encode(password));
+            userDao.updateById(sysUserDO);
+            return R.ok();
+        }
+        return R.fail("修改失败");
+    }
+
+    /**
+     * 移除专家权限
+     * */
+    @Override
+    public R removeExpertRole(String phone) {
+        if (nonNull(phone)){
+            //是否有权限为专家的账号
+            SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 11).eq(SysUserDO::getPhone, phone));
+            if (nonNull(sysUserDO)){
+                //删除后台账号
+                sysUserDO.setStatus(2);
+                userDao.updateById(sysUserDO);
+                log.info("禁用专家后台账号成功");
+            }
+            //小程序账号移除专家权限
+            SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 13).eq(SysUserDO::getPhone, phone));
+            if (nonNull(sysUserDO1)){
+                sysUserDO1.setType(1);
+                userDao.updateById(sysUserDO1);
+                log.info("移除专家权限成功");
+            }
+        }
+        return R.ok();
+    }
+
 
     @Override
     public R getAreaAndStreet() {
@@ -3728,7 +3931,6 @@
         }
         return dates;
     }
-
 
     /**
      * 获取最近本月20天数据

--
Gitblit v1.7.1