From 4e1448f31c75ae2baecbf497dfd11cce86914771 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Sun, 26 Apr 2020 09:45:16 +0800
Subject: [PATCH] 添加 医生的控制权限
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java | 2
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java | 6 ++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 2
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html | 2
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java | 6 +-
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml | 46 +++++++++++++++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java | 4 +
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java | 6 -
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 31 +++-------
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 2
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java | 22 +++++++
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml | 44 --------------
12 files changed, 100 insertions(+), 73 deletions(-)
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
index e738e58..3da26fb 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
@@ -119,4 +119,8 @@
* 销售代表名称
*/
private String serverUserName;
+ /**
+ * 创建者的部门
+ */
+ private String createUserOrgCode;
}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java
index 99d5a2f..091e1ec 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysRoleOrganization.java
@@ -1,10 +1,7 @@
package com.kidgrow.usercenter.model;
+import com.baomidou.mybatisplus.annotation.*;
import com.kidgrow.common.model.SuperModel;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -50,5 +47,6 @@
/**
* 是否删除,1删除,0未删除
*/
+ @TableLogic
private Boolean isDel;
}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
index 6ac963d..a60f8c9 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
@@ -39,6 +39,6 @@
ResultBody enable(Map<String, Object> params);
- boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request);
+ boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user);
}
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 a5cdc88..bb8c0e4 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
@@ -60,30 +60,14 @@
@Autowired
private RedisUtils redisUtils;
@Autowired
- private SysRoleOrganizationMapper sysRoleOrganizationMapper;
- @Autowired
- private SysRoleMapper sysRoleMapper;
+ private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl;
+
@Override
public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) {
Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
- List<SysRole> roles = user.getRoles();
- List<Map<SysRole,List<SysRoleOrganization>>> listroleOrg=new ArrayList<>();
- if (!roles.isEmpty()) {
- roles.forEach(e->{
- Map<SysRole,List<SysRoleOrganization>> rolemap=new HashMap<>();
- Map<String,Object> map=new HashMap<>();
- map.put("role_id",e.getId());
- List<SysRoleOrganization> sysRoleOrganizations = sysRoleOrganizationMapper.selectByMap(map);
- if(sysRoleOrganizations.size()>0){
- SysRole sysRole = sysRoleMapper.selectById(e.getId());
- rolemap.put(sysRole,sysRoleOrganizations);
- listroleOrg.add(rolemap);
- }
- });
- }
-
- params.put("likes",listroleOrg);
+ //添加权限
+ SysRoleOrganizationServiceImpl.getRoleOrg(params, user);
List<SysDoctor> list = baseMapper.findList(page, params);
List<SysDoctorVo> listvo = new ArrayList<>();
list.forEach(e -> {
@@ -147,7 +131,7 @@
@Override
@Transactional
- public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request) {
+ public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user) {
String id = request.getHeader(SecurityConstants.USER_ID_HEADER);
if(null==sysDoctor){
return false;
@@ -174,6 +158,11 @@
BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false);
beanCopier.copy(sysDoctor,sysDoc,null);
sysDoc.setUserId(sysUser.getId());
+ if(user.getOrganizations()!=null){
+ List<SysOrganization> organizations = user.getOrganizations();
+ sysDoc.setCreateUserOrgCode(organizations.get(organizations.size()-1).getOrgCode());
+ }
+
baseMapper.insert(sysDoc);
//保存将sys_user_org
SysUserOrg sysUserOrg=new SysUserOrg();
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java
index c55a5ec..3516eea 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java
@@ -68,6 +68,8 @@
@Override
public ResultBody<SysHospital> findAll(Map<String, Object> params) {
+ params.put("is_del",0);
+ params.put("enabled",1);
List<SysHospital> sysHospitals = baseMapper.selectByMap(params);
return ResultBody.ok().data(sysHospitals).msg("查询成功");
}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java
index 661a1a8..f9cf315 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java
@@ -4,6 +4,7 @@
import com.kidgrow.common.annotation.LoginUser;
import com.kidgrow.common.model.*;
import com.kidgrow.usercenter.dto.SysRoleOrganizationDto;
+import com.kidgrow.usercenter.mapper.SysRoleMapper;
import com.kidgrow.usercenter.service.ISysOrganizationService;
import com.kidgrow.usercenter.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +50,8 @@
private ISysRoleService iSysRoleService;
@Autowired
private SysOrganizationServiceImpl sysOrganizationService;
+ @Autowired
+ private SysRoleMapper sysRoleMapper;
/**
* 列表
@@ -189,4 +192,23 @@
}
return listMap;
}
+ public void getRoleOrg(Map<String, Object> params, SysUser user){
+ List<SysRole> roles = user.getRoles();
+ List<Map<SysRole,List<SysRoleOrganization>>> listroleOrg=new ArrayList<>();
+ if (!roles.isEmpty()) {
+ roles.forEach(e->{
+ Map<SysRole,List<SysRoleOrganization>> rolemap=new HashMap<>();
+ Map<String,Object> map=new HashMap<>();
+ map.put("role_id",e.getId());
+ List<SysRoleOrganization> sysRoleOrganizations = baseMapper.selectByMap(map);
+ if(sysRoleOrganizations.size()>0){
+ SysRole sysRole = sysRoleMapper.selectById(e.getId());
+ rolemap.put(sysRole,sysRoleOrganizations);
+ listroleOrg.add(rolemap);
+ }
+ });
+ }
+ //添加权限控制
+ params.put("roleOrg",listroleOrg);
+ }
}
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
index ff9e67e..a97bc6d 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysDoctorMapper.xml
@@ -37,7 +37,7 @@
and doctor_logo = #{p.doctorLogo}
</if>
<if test="p.doctorTel != null and p.doctorTel !=''">
- and doctor_tel like '%${p.doctorTel}%'
+ and doctor_tel like concat('%',#{p.doctorTel},'%')
</if>
<if test="p.doctorRankId != null and p.doctorRankId !=''">
and doctor_rank_id = #{p.doctorRankId}
@@ -90,47 +90,7 @@
<if test="p.updateTime != null and p.updateTime !=''">
and update_time = #{p.updateTime}
</if>
- <if test="p.likes != null and p.likes.size>0">
-
- <foreach item="item" collection="p.likes" index="">
- <foreach item="itemto" collection="item" index="inx">
-
-
- <choose>
- <when test="inx.type == 1"></when>
-
- <when test="inx.type==2">
- AND
- <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
- create_user_org_code like '${itemtoto.orgCode}%'
- </foreach>
- </when>
- <when test="inx.type == 3">
- AND
- <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
- create_user_org_code = #{itemtoto.orgCode}
- </foreach>
- </when>
- <when test="inx.type == 4">
- AND
- <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
- create_user_org_code like '${itemtoto.orgCode}%'
- </foreach>
- </when>
- <when test="inx.type == 5">
- AND
- <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
- create_user_id = #{itemtoto.orgCode}
- </foreach>
- </when>
- <otherwise>
- AND id is null
- </otherwise>
- </choose>
-
- </foreach>
- </foreach>
- </if>
+ <include refid="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper.Role_Organization"/>
</where>
</sql>
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml
index e9731e8..7ea1aea 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysRoleOrganizationMapper.xml
@@ -2,6 +2,52 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--角色对应的 部门-->
<mapper namespace="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper">
+
+ <!--定义数据权限的查询-->
+ <sql id="Role_Organization">
+ <if test="p.roleOrg != null and p.roleOrg.size>0">
+
+ <foreach item="item" collection="p.roleOrg" index="">
+ <foreach item="itemto" collection="item" index="inx">
+
+
+ <choose>
+ <when test="inx.type == 1"></when>
+
+ <when test="inx.type==2">
+ AND
+ <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
+ create_user_org_code like '${itemtoto.orgCode}%'
+ </foreach>
+ </when>
+ <when test="inx.type == 3">
+ AND
+ <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
+ create_user_org_code = #{itemtoto.orgCode}
+ </foreach>
+ </when>
+ <when test="inx.type == 4">
+ AND
+ <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
+ create_user_org_code like '${itemtoto.orgCode}%'
+ </foreach>
+ </when>
+ <when test="inx.type == 5">
+ AND
+ <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
+ create_user_id = #{itemtoto.orgCode}
+ </foreach>
+ </when>
+ <otherwise>
+ AND id is null
+ </otherwise>
+ </choose>
+
+ </foreach>
+ </foreach>
+ </if>
+ </sql>
+
<!--定义查询列-->
<sql id="Column_List">
*
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
index 54232c6..1c70d53 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
@@ -39,7 +39,7 @@
@Slf4j
@RestController
@RequestMapping("/sysdoctor")
-@Api(tags = "")
+@Api(tags = "医生表")
public class SysDoctorController extends BaseController{
@Autowired
private ISysDoctorService sysDoctorService;
@@ -87,7 +87,7 @@
*/
@ApiOperation(value = "保存")
@PostMapping
- public ResultBody save(@Valid @RequestBody SysDoctorDto sysDoctor, BindingResult bindingResult, HttpServletRequest request) {
+ public ResultBody save(@Valid @RequestBody SysDoctorDto sysDoctor, BindingResult bindingResult, HttpServletRequest request,@LoginUser SysUser user) {
List<String> errMsg= new ArrayList<>();
if (bindingResult.hasErrors()) {
for (ObjectError error : bindingResult.getAllErrors()) {
@@ -95,7 +95,7 @@
}
return ResultBody.failed().msg(errMsg.toString());
} else {
- boolean v= sysDoctorService.saveOrUpdateSer(sysDoctor,request);
+ boolean v= sysDoctorService.saveOrUpdateSer(sysDoctor,request,user);
if(v) {
return ResultBody.ok().data(sysDoctor).msg("保存成功");
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java
index e518709..71bf785 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java
@@ -91,6 +91,12 @@
}
}
+ @PostMapping("findAllByMap")
+ @ApiOperation(value = "查询所有列表")
+ public ResultBody<SysHospital> findAllByMap(@RequestBody Map<String, Object> params) {
+ return sysHospitalService.findAll(params);
+ }
+
/**
* 查询
*/
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
index 1a9db1d..1941e2a 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -14,7 +14,7 @@
@Slf4j
@RestController
@RequestMapping("/sysuserorg")
-@Api(tags = "")
+@Api(tags = "用户与部门")
public class SysUserOrgController {
@Autowired
private ISysUserOrgService iSysUserOrgService;
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
index ed18719..e2433f0 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -344,7 +344,7 @@
var doctorRank = "";
// 获取应用列表
// layer.load(2);
- admin.req('api-user/syshospital/findAll', JSON.stringify({ is_del: 0 }), function (data) {
+ admin.req('api-user/syshospital/findAllByMap', JSON.stringify({ is_del: 0 }), function (data) {
layer.closeAll('loading');
if (0 === data.code) {
let selected = false;
--
Gitblit v1.8.0