From be63f61992b0120e0ea6df6657141d0c8e245172 Mon Sep 17 00:00:00 2001
From: 克 刘 <4345453@qq.com>
Date: Thu, 20 Aug 2020 12:08:23 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml | 3 +
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 101 +++++++++++++++++++++++++++++---------------------
2 files changed, 61 insertions(+), 43 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 8a596ea..7598b03 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
@@ -91,8 +91,8 @@
if (sysUser != null) {
vo.setUsername(sysUser.getUsername());
}
- QueryWrapper queryWrapper=new QueryWrapper();
- queryWrapper.eq("user_id",e.getUserId());
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("user_id", e.getUserId());
List<SysRoleUser> roleUserList = sysUserRoleMapper.selectList(queryWrapper);
List<Long> collect = roleUserList.stream().map(roleUser -> roleUser.getRoleId()).collect(Collectors.toList());
vo.setRoles(collect);
@@ -203,10 +203,10 @@
if (sysDoctor.getId() == null) {
Long sysUserId = null;
//保存部门信息
- ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,null);
- if(resultBody.getCode()==0){
- sysUserId=(Long)resultBody.getData();
- }else {
+ ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, null);
+ if (resultBody.getCode() == 0) {
+ sysUserId = (Long) resultBody.getData();
+ } else {
return resultBody;
}
//保存doctor的数据
@@ -223,11 +223,27 @@
//更新
SysDoctor getOne = baseMapper.selectById(sysDoctor.getId());
if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) {
- /**
- * 管理员只有一个
- */
- if (isSupperRole(sysDoctor)) {
- return ResultBody.failed("该部门已经有管理员");
+ 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());
@@ -253,8 +269,8 @@
}
redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
//角色更换
- QueryWrapper queryWrapper=new QueryWrapper();
- queryWrapper.eq("user_id",getOne.getUserId());
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("user_id", getOne.getUserId());
int delete = sysUserRoleMapper.delete(queryWrapper);
sysDoctor.getRoles().forEach(e -> {
SysRoleUser sysRoleUser = new SysRoleUser();
@@ -269,11 +285,11 @@
if (isSupperRole(sysDoctor)) {
return ResultBody.failed("该部门已经有管理员");
}
- ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,getOne);
+ ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, getOne);
Long sysUserId = null;
- if(resultBody.getCode()==0){
- sysUserId=(Long)resultBody.getData();
- }else {
+ if (resultBody.getCode() == 0) {
+ sysUserId = (Long) resultBody.getData();
+ } else {
return resultBody;
}
sysDoctor.setUserId(sysUserId);
@@ -285,10 +301,10 @@
boolean b = sysUserOrgService.removeByMap(columnMap);
SysUser byId = iSysUserService.getById(getOne.getUserId());
//将角色删除
- QueryWrapper queryWrapper=new QueryWrapper();
- queryWrapper.eq("user_id",getOne.getUserId());
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("user_id", getOne.getUserId());
int delete = sysUserRoleMapper.delete(queryWrapper);
- if(byId!=null){
+ if (byId != null) {
byId.setDel(true);
boolean b1 = iSysUserService.updateById(byId);
}
@@ -307,8 +323,9 @@
}
return ResultBody.ok();
}
+
//是否可以使是超管角色
- public Boolean isSupperRole(SysDoctorDto sysDoctor){
+ public Boolean isSupperRole(SysDoctorDto sysDoctor) {
Boolean flag = false;
/**
* 限制管理员只有一个
@@ -327,7 +344,7 @@
wrapper.in("user_id", collect);
List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper);
for (SysRoleUser sysRoleUser : list) {
- if (sysRoleUser.getRoleId().equals( CommonConstant.HOSPITAL_ADMIN_ID)) {
+ if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) {
flag = true;
}
}
@@ -337,7 +354,7 @@
}
//保存的分接口
- public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment,SysDoctor getOne) {
+ public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment, SysDoctor getOne) {
Long sysUserId = null;
/**
* 管理员只有一个
@@ -346,7 +363,7 @@
return ResultBody.failed("该部门已经有管理员");
}
if (sysDoctor.getDoctorType() != 2) {
- SysUser sysUser=new SysUser();
+ SysUser sysUser = new SysUser();
//保存
sysUser.setUsername(sysDoctor.getUsername());
sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword()));
@@ -362,29 +379,29 @@
sysUser.setCreateUserName(byId.getUsername());
}
//做判断是否注册过手机号;
- QueryWrapper queryWrapper=new QueryWrapper();
- queryWrapper.eq("username",sysDoctor.getDoctorTel());
- queryWrapper.eq("enabled",1);
- queryWrapper.eq("is_del",0);
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("username", sysDoctor.getDoctorTel());
+ queryWrapper.eq("enabled", 1);
+ queryWrapper.eq("is_del", 0);
Integer integer = sysUserMapper.selectCount(queryWrapper);
- if(integer>0){
- return ResultBody.failed("该手机号已经注册");
+ if (integer > 0) {
+ return ResultBody.failed("该手机号已经注册");
}
- if (getOne!=null&&getOne.getUserId()!=null) {
- Map<String,Object> map=new HashMap<>();
- map.put("id",getOne.getUserId());
- map.put("enabled",1);
- map.put("is_del",1);
+ if (getOne != null && getOne.getUserId() != null) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("id", getOne.getUserId());
+ map.put("enabled", 1);
+ map.put("is_del", 1);
List<SysUser> sysUsers = sysUserMapper.selectByMap(map);
- if(sysUsers!=null&&!sysUsers.isEmpty()){
- sysUser.setId(sysUsers.get(sysUsers.size()-1).getId());
+ if (sysUsers != null && !sysUsers.isEmpty()) {
+ sysUser.setId(sysUsers.get(sysUsers.size() - 1).getId());
}
}
- if(sysUser.getId()!=null){
+ if (sysUser.getId() != null) {
//更新
sysUser.setDel(false);
iSysUserService.updateById(sysUser);
- }else {
+ } else {
//保存
iSysUserService.save(sysUser);
}
@@ -431,9 +448,9 @@
if (id > 0 && adminId > 0) {
Map<String, Object> map = new HashMap<>();
map.put("user_id", adminId);
- map.put("is_admin_user",1);
- map.put("is_del",0);
- map.put("enabled",1);
+ map.put("is_admin_user", 1);
+ map.put("is_del", 0);
+ map.put("enabled", 1);
List<SysDoctor> sysDoctors = baseMapper.selectByMap(map);
if (sysDoctors == null || sysDoctors.size() <= 0) {
return ResultBody.failed("当前操作用户不是管理员");
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
index 6cefc57..a2c36bd 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
@@ -176,6 +176,7 @@
</select>
<select id="hospitalDoctorListAndDel" parameterType="long" resultType="com.kidgrow.usercenter.vo.HospitalDoctorListVo">
SELECT
+ distinct
dc.create_time,
dc.department_name,
dc.hospital_name,
@@ -190,7 +191,7 @@
us.username,
us.default_auth,
us.enabled,
- roleuser.role_id,
+-- roleuser.role_id,
dc.is_del
FROM
sys_doctor dc
--
Gitblit v1.8.0