From eaf5199c2eee33f5add31d6dbe17d731eb9eab66 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Thu, 14 May 2020 16:23:48 +0800 Subject: [PATCH] 医生添加用户时, 用户名不能重复 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 117 insertions(+), 9 deletions(-) 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 accdf78..9d47ecf 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 @@ -1,19 +1,26 @@ package com.kidgrow.usercenter.service.impl; -import com.kidgrow.common.model.ResultBody; -import org.springframework.stereotype.Service; -import com.kidgrow.common.model.PageResult; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.usercenter.mapper.SysDepartmentMapper; +import com.kidgrow.usercenter.mapper.SysHospitalMapper; +import com.kidgrow.usercenter.model.SysDepartment; +import com.kidgrow.usercenter.model.SysHospital; +import com.kidgrow.usercenter.service.ISysHospitalService; +import com.kidgrow.usercenter.vo.HospitalListVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.collections4.MapUtils; -import lombok.extern.slf4j.Slf4j; - -import com.kidgrow.usercenter.model.SysHospital; -import com.kidgrow.usercenter.mapper.SysHospitalMapper; -import com.kidgrow.usercenter.service.ISysHospitalService; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -26,6 +33,10 @@ @Slf4j @Service public class SysHospitalServiceImpl extends SuperServiceImpl<SysHospitalMapper, SysHospital> implements ISysHospitalService { + @Resource + private SysDepartmentMapper departmentMapper; + @Autowired + private SysRoleOrganizationServiceImpl SysRoleOrganizationServiceImpl; /** * 列表 * @param params @@ -34,8 +45,21 @@ @Override public PageResult<SysHospital> findList(Map<String, Object> params){ Page<SysHospital> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + List<SysHospital> list = baseMapper.findList(page, params); return PageResult.<SysHospital>builder().data(list).code(0).count(page.getTotal()).build(); + } + /** + * 列表 + * @param params + * @return + */ + @Override + public PageResult<HospitalListVo> findHospitalList(Map<String, Object> params, SysUser user) { + Page<HospitalListVo> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + SysRoleOrganizationServiceImpl.getRoleOrg(params, user); + List<HospitalListVo> list = baseMapper.findHospitalList(page, params); + return PageResult.<HospitalListVo>builder().data(list).code(0).count(page.getTotal()).build(); } /** @@ -50,7 +74,91 @@ @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("查询成功"); } + /** + * 根据医院名称模糊查询医院数据列表 + * @param hospitalName + * @return + */ + public ResultBody<SysHospital> findByName(String hospitalName){ + return ResultBody.ok().data(baseMapper.findByName(hospitalName)).msg("查询成功"); + } + /** + * 根据id和启用禁用值更新数据 + * @param params + * @return ResultBody + */ + @Transactional(rollbackFor = Exception.class) + @Override + public ResultBody updateEnabled(Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + Long departmentId = MapUtils.getLong(params, "departmentId"); + Boolean enabled = MapUtils.getBoolean(params, "enabled"); + //科室数据 + SysDepartment sysDepartment=departmentMapper.selectById(departmentId); + //医院数据 + SysHospital sysHospital = baseMapper.selectById(id); + //医院下的所有数据 + Map<String,Object> columnMap=new HashMap<String,Object>(); + columnMap.put("hospital_id",id); + columnMap.put("is_del",(boolean)false); + columnMap.put("enabled",!enabled); + List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysDepartmentList.size()==1) + { + sysHospital.setEnabled(enabled); + int i =baseMapper.updateById(sysHospital); + //Log.info("修改医院状态为:{}",enabled+" "+i); + } + sysDepartment.setEnabled(enabled); + int j=departmentMapper.updateById(sysDepartment); + return (j > 0) ? ResultBody.ok().data(sysHospital).msg("更新成功") : ResultBody.failed("更新失败"); + } + + /** + * 删除医院科室信息 + * @param params + * @return + */ + @Transactional(rollbackFor = Exception.class) + @Override + public ResultBody delete(Map<String, Object> params) { + Long id = MapUtils.getLong(params, "id"); + Long departmentId = MapUtils.getLong(params, "departmentId"); + //科室数据 + SysDepartment sysDepartment=departmentMapper.selectById(departmentId); + //医院数据 + SysHospital sysHospital = baseMapper.selectById(id); + //医院下的所有数据 + Map<String,Object> columnMap=new HashMap<String,Object>(); + columnMap.put("hospital_id",id); + List<SysDepartment> sysDepartmentList=departmentMapper.selectByMap(columnMap); + if (sysHospital == null) { + return ResultBody.failed("医院数据不存在!"); + } + if (sysDepartment == null) { + return ResultBody.failed("科室数据不存在!"); + } + //如果这个医院下有多个科室,禁用只对当前科室有效,否则也要禁用医院 + if(sysDepartmentList.size()==1) + { + sysHospital.setIsDel(true); + int i =baseMapper.updateById(sysHospital); + //Log.info("修改医院状态为:{}",enabled+" "+i); + } + sysDepartment.setIsDel(true); + int j=departmentMapper.updateById(sysDepartment); + return (j > 0) ? ResultBody.ok().data(sysHospital).msg("删除成功") : ResultBody.failed("删除失败"); + } } -- Gitblit v1.8.0