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

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 87 insertions(+), 3 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 75f86c1..bd73ae8 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
@@ -28,7 +28,9 @@
 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.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;
@@ -302,11 +304,18 @@
      */
     @Override
     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 {
+        }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登录
@@ -493,8 +502,15 @@
         }else if (isNull(loginUserInfoVO.getLevel())){
             loginUserInfoVO.setLevel(1);
         }
+        //是否为三说会堂专家
+        ComSanshuoExpertVO expertVO=userDao.isExpert(loginUserInfoVO.getPhone());
+        if (nonNull(expertVO)){
+            loginUserInfoVO.setType(13);
+        }
         return R.ok(loginUserInfoVO);
     }
+
+
 
     /**
      * 修改用户登录密码
@@ -3609,6 +3625,38 @@
         }
         return R.ok();
     }
+
+    @Override
+    public R wsPush(String washPhone,String phone,String washName,Integer orderStatus) {
+        if(StringUtils.isNotEmpty(phone)){
+            SysUserDO sysUserDO=userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,phone).eq(SysUserDO::getAppId,"wx98d62711dfbd8425").orderByDesc(SysUserDO::getCreateAt).last("limit 1"));
+            if(sysUserDO!=null&&StringUtils.isNotEmpty(sysUserDO.getOpenid())){
+                String status="";
+                String accessToken="";
+                WxXCXTempSend util = new WxXCXTempSend();
+                try {
+                    accessToken = util.getWsAccessToken();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                switch (orderStatus){
+                    case 3 : status="已分配车美";
+                        WxUtil.sendWsWash3(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"sNj6m-JBvW6rOokKGDX9X3-XH1AD0GY5_X0jA9JSLwc");
+                        break;
+                    case 4 : status="车美已开始服务";
+                        WxUtil.sendWsWash4(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"Eft5ksvsnOQANy2uNOGY43CC3pb33eDGA_lgCEoxuiw");
+                        break;
+                    case 6 : status="订单确认完成";
+                        WxUtil.sendWsWash6(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"iPS8yrsGDqy76hiP8bIbxkosveoX1xTFhdusSiGp-XM");
+                        break;
+                    case 9 : status="订单已取消";
+                        WxUtil.sendWsWash(sysUserDO.getOpenid(),accessToken,status,washName,washPhone,phone,"z_ysGXz9JWBc2rXuYZzVCXKJTyLf0w0WerrohuNoEng");
+                        break;
+                }
+            }
+        }
+        return R.ok();
+    }
     @Override
     public R getCommunityList(String name,Long id) {
         //区级账号名
@@ -3754,10 +3802,11 @@
         //是否存在相同账号
         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(administratorsUserVO.getPassword());
+            sysUserDO.setPassword(new BCryptPasswordEncoder().encode(administratorsUserVO.getPassword()));
             sysUserDO.setName(administratorsUserVO.getName());
             if (nonNull(administratorsUserVO.getImageUrl())){
                 sysUserDO.setImageUrl(administratorsUserVO.getImageUrl());
@@ -3765,12 +3814,22 @@
             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));
             }
@@ -3788,13 +3847,38 @@
     public R resetPassExpertOrIndustryCenter(String account,String password) {
         SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().eq("account", account));
         if (nonNull(sysUserDO)){
-            sysUserDO.setPassword(password);
+            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() {

--
Gitblit v1.7.1