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