forked from kidgrow-microservices-platform

houruijun
2020-06-28 c80b393f074148626e1134aae38e71bca28ac809
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -1,5 +1,6 @@
package com.kidgrow.usercenter.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.constant.SecurityConstants;
@@ -245,13 +246,23 @@
        Long adminId = MapUtils.getLong(params, "adminId");
        if (id>0&&adminId>0) {
            Map<String,Object> map= new HashMap<>();
            map.put("id",adminId);
            SysDoctor sysDoctor=baseMapper.selectById(adminId);
            map.put("user_id",adminId);
            List<SysDoctor> sysDoctors = baseMapper.selectByMap(map);
            if(sysDoctors==null||sysDoctors.size()<=0){
                return ResultBody.failed("当前操作用户不是管理员");
            }
            SysDoctor sysDoctor = sysDoctors.get(0);
            //先检查操作用户是否管理员
            if(sysDoctor!=null){
                if (sysDoctor.getIsAdminUser()) {
                    //现将操作人员设为非管理
                    sysDoctor=new SysDoctor();
                    //将超级管理员的角色设为普通角色
                    SysRoleUser sysRoleUser=new SysRoleUser();
                    sysRoleUser.setUserId(adminId);
                    sysRoleUser.setRoleId(CommonConstant.HOSPITAL_DOCTOR_ID);
                    QueryWrapper queryWrapper=new QueryWrapper();
                    queryWrapper.eq("user_id",adminId);
                    int update = sysUserRoleMapper.update(sysRoleUser, queryWrapper);
                    //现将操作人员设为非管理角色
                    sysDoctor.setIsAdminUser(false);
                    if(baseMapper.updateById(sysDoctor)>0)
                    {
@@ -259,7 +270,13 @@
                        sysDoctor=baseMapper.selectById(id);
                        if (sysDoctor != null) {
                            if (!sysDoctor.getIsAdminUser()) {
                                sysDoctor=new SysDoctor();
                                //现将普通人员设为管理角色
                                sysRoleUser=new SysRoleUser();
                                sysRoleUser.setUserId(adminId);
                                sysRoleUser.setRoleId(CommonConstant.HOSPITAL_DOCTOR_ID);
                                queryWrapper=new QueryWrapper();
                                queryWrapper.eq("user_id",id);
                                sysUserRoleMapper.update(sysRoleUser, queryWrapper);
                                sysDoctor.setIsAdminUser(true);
                                if (baseMapper.updateById(sysDoctor)>0) {
                                    return ResultBody.ok().data(true).msg("管理员设置成功!");