forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-27 c10ddf5cc30fc3f5d889f597e0a4d13fb52f048a
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -190,17 +190,16 @@
                    return ResultBody.failed("选择一个角色");
                }
            }
            /**
             * 限制只有创建医生的个数
             *
             */
            if (sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId()) <= 0) {
                return ResultBody.failed("该部门创建人数已经达到上限");
            }
            SysHospital sysHospital = sysHospitalMapper.selectById(sysDoctor.getHospitalId());
            SysDepartment sysDepartment = sysDepartmentMapper.selectById(sysDoctor.getDepartmentId());
            if (sysDoctor.getId() == null) {
                /**
                 * 限制只有创建医生的个数
                 *
                 */
                if (sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId()) <= 0) {
                    return ResultBody.failed("该部门创建人数已经达到上限");
                }
                Long sysUserId = null;
                //保存部门信息
                ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, null);
@@ -246,28 +245,32 @@
                        }
                    }
                    Map<String, Object> columnMap = new HashMap<>();
                    columnMap.put("user_id", sysDoctor.getUserId());
                    columnMap.put("user_id", getOne.getUserId());
                    boolean b = sysUserOrgService.removeByMap(columnMap);
                    //保存将sys_user_org
                    SysUserOrg sysUserOrg = new SysUserOrg();
                    sysUserOrg.setUserId(getOne.getUserId());
                    sysUserOrg.setEnabled(false);
                    sysUserOrg.setEnabled(true);
                    sysUserOrg.setFromId(sysDoctor.getDepartmentId());
                    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.setUserId(getOne.getUserId());
                    sysGongsi.setOrgId(sysHospital.getOrgId());
                    sysGongsi.setFromId(sysDoctor.getHospitalId());
                    sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                    sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_HOS_LEVEL);
                    sysGongsi.setEnabled(true);
                    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());
@@ -415,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();
@@ -429,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);
    }