From f30a977b18541d2f1b9a7863b1377e5f366df9dc Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Mon, 16 Nov 2020 18:01:41 +0800
Subject: [PATCH] 修改时间的bug

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java |   54 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
index 7598b03..d2850bf 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -256,18 +256,21 @@
                     sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                     sysUserOrg.setOrgId(sysDepartment.getOrgId());
                     sysUserOrg.setCreateTime(new Date());
+                    List<SysUserOrg> sysUserOrgs=new ArrayList<>();
+                    sysUserOrgs.add(sysUserOrg);
                     sysUserOrgService.saveOrUpdate(sysUserOrg);
                     SysUserOrg sysGongsi = new SysUserOrg();
                     sysGongsi.setUserId(getOne.getId());
                     sysGongsi.setOrgId(sysHospital.getOrgId());
                     sysGongsi.setFromId(sysDoctor.getHospitalId());
                     sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
+                    sysUserOrgs.add(sysGongsi);
                     sysUserOrgService.saveOrUpdate(sysGongsi);
                     baseMapper.updateById(sysDoctor);
                     if (redisUtils.hHasKey(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString())) {
                         redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
                     }
-                    redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
+                    redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrgs);
                     //角色更换
                     QueryWrapper queryWrapper = new QueryWrapper();
                     queryWrapper.eq("user_id", getOne.getUserId());
@@ -330,22 +333,24 @@
         /**
          * 限制管理员只有一个
          */
-        if (sysDoctor.getRoles().contains(CommonConstant.HOSPITAL_ADMIN_ID)) {
-            //查询一个部门下的所有医生
-            QueryWrapper wrapper = new QueryWrapper();
-            wrapper.eq("is_del", 0);
-            wrapper.eq("enabled", 1);
-            wrapper.eq("department_id", sysDoctor.getDepartmentId());
-            List<SysDoctor> doctoerList = this.baseMapper.selectList(wrapper);
-            if (doctoerList.size() > 0) {
-                //查询role——user
-                List<Long> collect = doctoerList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-                wrapper = new QueryWrapper();
-                wrapper.in("user_id", collect);
-                List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
-                for (SysRoleUser sysRoleUser : list) {
-                    if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) {
-                        flag = true;
+        if (sysDoctor.getDoctorType() != 2) {
+            if (sysDoctor.getRoles().contains(CommonConstant.HOSPITAL_ADMIN_ID)) {
+                //查询一个部门下的所有医生
+                QueryWrapper wrapper = new QueryWrapper();
+                wrapper.eq("is_del", 0);
+                wrapper.eq("enabled", 1);
+                wrapper.eq("department_id", sysDoctor.getDepartmentId());
+                List<SysDoctor> doctoerList = this.baseMapper.selectList(wrapper);
+                if (doctoerList.size() > 0) {
+                    //查询role——user
+                    List<Long> collect = doctoerList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+                    wrapper = new QueryWrapper();
+                    wrapper.in("user_id", collect);
+                    List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
+                    for (SysRoleUser sysRoleUser : list) {
+                        if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) {
+                            flag = true;
+                        }
                     }
                 }
             }
@@ -413,12 +418,14 @@
                 sysRoleUser.setUserId(sysUser.getId());
                 int insert = sysUserRoleMapper.insert(sysRoleUser);
             });
+            List<SysUserOrg> sysUserOrgs=new ArrayList<>();
             //保存将sys_user_org 保存部门
             SysUserOrg sysUserOrg = new SysUserOrg();
             sysUserOrg.setUserId(sysUser.getId());
             sysUserOrg.setFromId(sysDoctor.getDepartmentId());
             sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
             sysUserOrg.setOrgId(sysDepartment.getOrgId());
+            sysUserOrgs.add(sysUserOrg);
             //保存公司
             sysUserOrgService.saveOrUpdate(sysUserOrg);
             SysUserOrg sysGongsi = new SysUserOrg();
@@ -427,8 +434,9 @@
             sysGongsi.setFromId(sysDoctor.getHospitalId());
             sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
             sysUserOrgService.saveOrUpdate(sysGongsi);
+            sysUserOrgs.add(sysGongsi);
             //保存到Redis
-            boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg);
+            boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrgs);
         }
         return ResultBody.ok().data(sysUserId);
     }
@@ -465,8 +473,9 @@
                     sysRoleUser.setRoleId(CommonConstant.HOSPITAL_DOCTOR_ID);
                     QueryWrapper queryWrapper = new QueryWrapper();
                     queryWrapper.eq("user_id", adminId);
-                    queryWrapper.eq("role_id", CommonConstant.HOSPITAL_ADMIN_ID);
-                    int update = sysUserRoleMapper.update(sysRoleUser, queryWrapper);
+//                    queryWrapper.eq("role_id", CommonConstant.HOSPITAL_ADMIN_ID);
+                    int delete = sysUserRoleMapper.delete(queryWrapper);
+                    int update = sysUserRoleMapper.insert(sysRoleUser);
                     //现将操作人员设为非管理角色
                     sysDoctor.setIsAdminUser(false);
                     if (baseMapper.updateById(sysDoctor) > 0) {
@@ -480,8 +489,9 @@
                                 sysRoleUser.setRoleId(CommonConstant.HOSPITAL_ADMIN_ID);
                                 queryWrapper = new QueryWrapper();
                                 queryWrapper.eq("user_id", sysDoctor.getUserId());
-                                queryWrapper.eq("role_id", CommonConstant.HOSPITAL_DOCTOR_ID);
-                                sysUserRoleMapper.update(sysRoleUser, queryWrapper);
+//                                queryWrapper.eq("role_id", CommonConstant.HOSPITAL_DOCTOR_ID);
+                                sysUserRoleMapper.delete(queryWrapper);
+                                sysUserRoleMapper.insert(sysRoleUser);
                                 sysDoctor.setIsAdminUser(true);
                                 if (baseMapper.updateById(sysDoctor) > 0) {
                                     return ResultBody.ok().data(true).msg("管理员设置成功!");

--
Gitblit v1.8.0