From 88477b811b33e4f6a976ecd5be03bebd95aa17eb Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Sun, 26 Apr 2020 16:54:45 +0800 Subject: [PATCH] 添加 产品管理;合同管理;医院管理;医生管理;公司管理; 消费记录 的数据权限 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 70 ++++++++++++++++++++++++++++++---- 1 files changed, 61 insertions(+), 9 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 4fcd9b5..ddb172a 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,8 +1,16 @@ package com.kidgrow.usercenter.service.impl; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.kidgrow.common.constant.SecurityConstants; -import com.kidgrow.common.model.ResultBody; -import com.kidgrow.common.model.SysUser; +import com.kidgrow.common.model.*; +import com.kidgrow.redis.util.RedisConstant; +import com.kidgrow.redis.util.RedisUtils; +import com.kidgrow.usercenter.mapper.SysRoleMapper; +import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper; +import com.kidgrow.usercenter.model.SysRoleOrganization; +import com.kidgrow.usercenter.service.ISysRoleOrganizationService; +import com.kidgrow.usercenter.service.ISysUserOrgService; import com.kidgrow.usercenter.service.ISysUserService; import com.kidgrow.usercenter.vo.SysDoctorDto; import com.kidgrow.usercenter.vo.SysDoctorVo; @@ -10,14 +18,10 @@ import org.springframework.cglib.beans.BeanCopier; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; -import com.kidgrow.common.model.PageResult; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.service.impl.SuperServiceImpl; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import org.apache.commons.collections4.MapUtils; import lombok.extern.slf4j.Slf4j; @@ -51,10 +55,19 @@ private ISysUserService iSysUserService; @Autowired private PasswordEncoder passwordEncoder; + @Autowired + private ISysUserOrgService sysUserOrgService; + @Autowired + private RedisUtils redisUtils; + @Autowired + private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl; + @Override - public PageResult<SysDoctorVo> findList(Map<String, Object> params) { + public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) { Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + //添加权限 + SysRoleOrganizationServiceImpl.getRoleOrg(params, user); List<SysDoctor> list = baseMapper.findList(page, params); List<SysDoctorVo> listvo = new ArrayList<>(); list.forEach(e -> { @@ -118,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; @@ -145,10 +158,49 @@ 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(); + sysUserOrg.setUserId(sysUser.getId()); + sysUserOrg.setEnabled(false); + sysUserOrg.setOrgId(sysDoctor.getDepartmentId()); + sysUserOrg.setCreateTime(new Date()); + //保存公司 + sysUserOrgService.saveOrUpdate(sysUserOrg); + SysUserOrg sysGongsi=new SysUserOrg(); + sysGongsi.setUserId(sysUser.getId()); +// sysUser.setEnabled(false); + sysGongsi.setOrgId(sysDoctor.getHospitalId()); +// sysUser.setCreateTime(new Date()); + sysUserOrgService.saveOrUpdate(sysUserOrg); + //保存到Redis + boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg); }else { //更新 + redisUtils.hdel(RedisConstant.USER_ORGANIZATION, sysDoctor.getUserId().toString()); +// List<SysUserOrg> sysOrganizations = JSON.parseArray(JSON.toJSONString(redisUtils.hget(RedisConstant.USER_ORGANIZATION, sysDoctor.getUserId().toString())), SysUserOrg.class); +// sysOrganizations.forEach( e-> { +// if(e.getId()==sysDoctor.getId()){ +// sysOrganizations.set(0,sysDoctor); +// } +// }); + Map<String, Object> columnMap=new HashMap<>(); + columnMap.put("user_id",sysDoctor.getUserId()); + boolean b = sysUserOrgService.removeByMap(columnMap); + //保存将sys_user_org + SysUserOrg sysUserOrg=new SysUserOrg(); + sysUserOrg.setUserId(sysDoctor.getUserId()); + sysUserOrg.setEnabled(false); + sysUserOrg.setOrgId(sysDoctor.getDepartmentId()); + sysUserOrg.setCreateTime(new Date()); + sysUserOrgService.saveOrUpdate(sysUserOrg); baseMapper.updateById(sysDoctor); + redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg); } } return true; -- Gitblit v1.8.0