forked from kidgrow-microservices-platform

zxh
2020-08-20 dc029e255839c9ae591223bab2cea3bb81040899
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -223,11 +223,27 @@
                //更新
                SysDoctor getOne = baseMapper.selectById(sysDoctor.getId());
                if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) {
                    QueryWrapper queryrole = new QueryWrapper();
                    queryrole.eq("user_id", getOne.getUserId());
                    List<SysRoleUser> list = sysUserRoleMapper.selectList(queryrole);
                    //如果是本来是管理员的话,不用走判读管理员的方法
                    if (!list.isEmpty()) {
                        List<Long> collect = list.stream().map(e -> e.getRoleId()).collect(Collectors.toList());
                        if (!collect.contains(CommonConstant.HOSPITAL_ADMIN_ID)) {
                    /**
                     * 管理员只有一个
                     */
                    if (isSupperRole(sysDoctor)) {
                        return ResultBody.failed("该部门已经有管理员");
                            }
                        }
                    } else {
                        /**
                         * 管理员只有一个
                         */
                        if (isSupperRole(sysDoctor)) {
                            return ResultBody.failed("该部门已经有管理员");
                        }
                    }
                    Map<String, Object> columnMap = new HashMap<>();
                    columnMap.put("user_id", sysDoctor.getUserId());
@@ -307,6 +323,7 @@
        }
        return ResultBody.ok();
    }
    //是否可以使是超管角色
    public Boolean isSupperRole(SysDoctorDto sysDoctor){
        Boolean flag = false;