From cba67280f021ea732581829c472a703a1e303824 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Fri, 10 Apr 2020 11:00:11 +0800 Subject: [PATCH] 添加 医生的功能 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 125 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 116 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 8566373..4fcd9b5 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,49 +1,156 @@ package com.kidgrow.usercenter.service.impl; +import com.kidgrow.common.constant.SecurityConstants; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; +import com.kidgrow.usercenter.service.ISysUserService; +import com.kidgrow.usercenter.vo.SysDoctorDto; +import com.kidgrow.usercenter.vo.SysDoctorVo; +import org.springframework.beans.factory.annotation.Autowired; +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 org.apache.commons.collections4.MapUtils; import lombok.extern.slf4j.Slf4j; import com.kidgrow.usercenter.model.SysDoctor; import com.kidgrow.usercenter.mapper.SysDoctorMapper; import com.kidgrow.usercenter.service.ISysDoctorService; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-04-02 14:02:50 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version 1.0 */ @Slf4j @Service public class SysDoctorServiceImpl extends SuperServiceImpl<SysDoctorMapper, SysDoctor> implements ISysDoctorService { /** * 列表 + * * @param params * @return */ + @Autowired + private ISysUserService iSysUserService; + @Autowired + private PasswordEncoder passwordEncoder; + @Override - public PageResult<SysDoctor> findList(Map<String, Object> params){ + public PageResult<SysDoctorVo> findList(Map<String, Object> params) { Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); - List<SysDoctor> list = baseMapper.findList(page, params); - return PageResult.<SysDoctor>builder().data(list).code(0).count(page.getTotal()).build(); + List<SysDoctor> list = baseMapper.findList(page, params); + List<SysDoctorVo> listvo = new ArrayList<>(); + list.forEach(e -> { + SysDoctorVo vo = new SysDoctorVo(); + BeanCopier beanCopier = BeanCopier.create(SysDoctor.class, SysDoctorVo.class, false); + beanCopier.copy(e, vo, null); + //查询用户的登录账号; + if (e.getUserId() != null) { + SysUser sysUser = iSysUserService.getById(e.getUserId()); + if (sysUser != null) { + vo.setUsername(sysUser.getUsername()); + } + } + listvo.add(vo); + }); + return PageResult.<SysDoctorVo>builder().data(listvo).code(0).count(page.getTotal()).build(); } /** - * 根据SysDoctor对象当做查询条件进行查询 - * @param sysDoctor - * @return SysDoctor - */ + * 根据SysDoctor对象当做查询条件进行查询 + * + * @param sysDoctor + * @return SysDoctor + */ @Override - public SysDoctor findByObject(SysDoctor sysDoctor){ + public SysDoctor findByObject(SysDoctor sysDoctor) { return baseMapper.findByObject(sysDoctor); } + + @Override + public boolean delete(Long id) { + //查询user表 + SysDoctor sysDoctor = baseMapper.selectById(id); + if (sysDoctor != null && sysDoctor.getUserId() != null) { + boolean b = iSysUserService.delUser(sysDoctor.getUserId()); + } + sysDoctor.setIsDel(true); + int i = baseMapper.deleteById(id); + return true; + } + + @Override + public ResultBody enable(Map<String, Object> params) { + Long aLong = MapUtils.getLong(params,"id"); + SysDoctor sysDoctor = baseMapper.selectById(aLong); + if (sysDoctor != null && sysDoctor.getUserId() != null) { + SysUser byId = iSysUserService.getById(sysDoctor.getUserId()); + if(byId!=null){ + byId.setEnabled(true); + iSysUserService.updateById(byId); + } + } + if(sysDoctor!=null){ + sysDoctor.setEnabled(true); + baseMapper.updateById(sysDoctor); + }else { + return ResultBody.failed("禁用失败"); + } + return ResultBody.ok(0,"禁用成功"); + } + + @Override + @Transactional + public boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request) { + String id = request.getHeader(SecurityConstants.USER_ID_HEADER); + if(null==sysDoctor){ + return false; + }else { + if (sysDoctor.getId()==null) { + //保存 + SysUser sysUser=new SysUser(); + sysUser.setUsername(sysDoctor.getUsername()); + sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword())); + sysUser.setNickname(sysDoctor.getHospitalName()); + sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo()); + sysUser.setMobile(sysDoctor.getDoctorTel()); + sysUser.setType("doctor"); + sysUser.setTenantId("hospital"); + sysUser.setCreateTime(new Date()); + SysUser byId = iSysUserService.getById(id); + if(byId!=null){ + sysUser.setCreateUserId(byId.getId()); + sysUser.setCreateUserName(byId.getUsername()); + } + iSysUserService.save(sysUser); + //保存doctor的数据 + SysDoctor sysDoc=new SysDoctor(); + BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false); + beanCopier.copy(sysDoctor,sysDoc,null); + sysDoc.setUserId(sysUser.getId()); + baseMapper.insert(sysDoc); + }else { + //更新 + baseMapper.updateById(sysDoctor); + } + } + return true; + } } -- Gitblit v1.8.0