From 9c816811faae42989340d4fd1511a550a98f6aac Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Wed, 24 Jun 2020 19:10:14 +0800 Subject: [PATCH] 修改 修改管理员时的角色 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 65 +++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 7 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 ec7fa0d..d7cb7c5 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 @@ -1,10 +1,12 @@ 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; import com.kidgrow.common.model.*; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.StringUtils; import com.kidgrow.redis.util.RedisConstant; import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.usercenter.mapper.SysDoctorMapper; @@ -109,6 +111,17 @@ return true; } + /** + * 根据userid删除医生数据 + * @param userId + * @return + */ + @Override + public int deleteByUserId(Long userId) { + Map<String, Object> params = new HashMap<>(); + params.put("userId", userId); + return baseMapper.deleteByMap(params); + } @Override public ResultBody enable(Map<String, Object> params) { Long aLong = MapUtils.getLong(params,"id"); @@ -132,7 +145,7 @@ } @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user) { String id = request.getHeader(SecurityConstants.USER_ID_HEADER); if(null==sysDoctor){ @@ -227,19 +240,29 @@ } @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public ResultBody setAdminDoctor(Map<String, Object> params) { Long id = MapUtils.getLong(params, "id"); 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) { @@ -247,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("管理员设置成功!"); @@ -288,4 +317,26 @@ return ResultBody.failed("业务参数有误!").data(false); } } + + /** + * 判断用户名是否管理员 + * @param userName + * @return + */ + @Override + public ResultBody userIsAdmin(String userName) { + if (StringUtils.isNotBlank(userName)) { + SysDoctor sysDoctor= baseMapper.userIsAdmin(userName); + if (sysDoctor != null) { + return ResultBody.ok().data(sysDoctor.getIsAdminUser()); + } + else + { + return ResultBody.failed().data(false); + } + }else + { + return ResultBody.failed("用户名不能为空!").data(false); + } + } } -- Gitblit v1.8.0