From 6557baac627dce769c2b05ab482e4daf262a88ac Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Wed, 17 Jun 2020 17:34:01 +0800 Subject: [PATCH] 1.增加工具类 MultipartFileUtils ,支持将MultipartFile类型转换为file类型 2.增加缩略图相关全局配置变量:宽高和生成缩略图的暂存目录(缩略图上传成功后会删除) 3.修改文件上传中心的上传代码,将生成目录和aliyun上传方法抽离独立 4.增加医院logo上传支持接口(可返回缩略图地址) 5.修改登录后回去用户信息不完整bug --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 154 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 100 insertions(+), 54 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index 23d5af5..4b67902 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java @@ -16,15 +16,15 @@ import com.kidgrow.common.model.*; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.common.utils.DateUtils; +import com.kidgrow.common.utils.Pinyin4jUtil; import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.sms.feign.SmsChuangLanService; import com.kidgrow.sms.model.ConstantSMS; -import com.kidgrow.usercenter.mapper.SysDoctorMapper; -import com.kidgrow.usercenter.mapper.SysRoleMenuMapper; -import com.kidgrow.usercenter.mapper.SysUserMapper; +import com.kidgrow.usercenter.mapper.*; import com.kidgrow.usercenter.model.SysDoctor; import com.kidgrow.usercenter.model.*; import com.kidgrow.usercenter.service.*; +import com.kidgrow.usercenter.vo.HospitalDoctorListVo; import com.kidgrow.usercenter.vo.UserRegVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; @@ -82,6 +82,13 @@ @Autowired private SysDoctorMapper sysDoctorMapper; + @Autowired + private SysRoleMapper sysRoleMapper; + @Autowired + private SysUserRoleMapper sysUserRoleMapper; + + private final String HOSPITAL_ADMIN="hospital_admin"; + @Override public LoginAppUser findByUsername(String username) { SysUser sysUser = this.selectByUsername(username); @@ -132,11 +139,12 @@ //是否医院管理员 com.kidgrow.usercenter.model.SysDoctor sysDoctor = findDoctorByUserId(sysUser.getId()); if (sysDoctor.getIsAdminUser() != null) { - sysUser.setHAdminUser(sysDoctor.getIsAdminUser()); + loginAppUser.setHAdminUser(sysDoctor.getIsAdminUser()); } //医院信息 只有H端要返回的信息 - if (sysUser.getTenantId() == CommonConstant.H_TENANT) { - sysUser.setDoctorUserAllVO(baseMapper.findDoctorUserAllData(sysUser.getId())); + if (sysUser.getTenantId().toLowerCase().equals(CommonConstant.H_TENANT.toLowerCase())) { + DoctorUserAll doctorUserAllVo=baseMapper.findDoctorUserAllData(sysUser.getId()); + loginAppUser.setDoctorUserAllVO(doctorUserAllVo); } } return loginAppUser; @@ -622,7 +630,6 @@ /** * H端用户注册 管理员添加用户 - * * @param userRegVo * @return */ @@ -633,27 +640,31 @@ return ResultBody.failed("该手机号已经注册"); } //检查判断是注册 还是添加用户,注册用户先走基本数据建设 - if (StringUtils.isBlank(userRegVo.getHospitalId().toString())) { + if (userRegVo.getHospitalId()==null) { userRegVo.setDoctorState(true); //添加医院组织结构数据 - List<SysOrganization> sysOrganizationList = new ArrayList<SysOrganization>(); - SysOrganization sysOrganizationHos = new SysOrganization(); + List<SysOrganization> sysOrganizationList=new ArrayList<SysOrganization>(); + SysOrganization sysOrganizationHos=new SysOrganization(); sysOrganizationHos.setOrgAttr(1); sysOrganizationHos.setOrgLevel(1); sysOrganizationHos.setOrgName(userRegVo.getHospitalName()); + sysOrganizationHos.setCreateUserName("自主注册"); + sysOrganizationHos.setCreateUserId(0L); sysOrganizationList.add(sysOrganizationHos); //添加科室组织数据 - SysOrganization sysOrganizationDe = new SysOrganization(); + SysOrganization sysOrganizationDe=new SysOrganization(); sysOrganizationDe.setOrgAttr(2); sysOrganizationDe.setOrgLevel(2); sysOrganizationDe.setOrgName(userRegVo.getDepartmentName()); + sysOrganizationDe.setCreateUserName("自主注册"); + sysOrganizationDe.setCreateUserId(0L); sysOrganizationList.add(sysOrganizationDe); //批量写入 - boolean orgRe = organizationService.saveBatch(sysOrganizationList); + boolean orgRe= organizationService.saveBatch(sysOrganizationList); if (orgRe) { //写医院数据 - SysHospital sysHospital = new SysHospital(); + SysHospital sysHospital=new SysHospital(); sysHospital.setHospitalName(userRegVo.getHospitalName()); sysHospital.setOrgId(sysOrganizationHos.getId()); sysHospital.setAccountsCount(1); @@ -661,11 +672,11 @@ sysHospital.setCreateUserId(0L); sysHospital.setCreateUserName("自主注册"); - boolean h = hospitalService.save(sysHospital); + boolean h=hospitalService.save(sysHospital); if (h) { userRegVo.setHospitalId(sysHospital.getId()); //保存科室数据 - SysDepartment sysDepartment = new SysDepartment(); + SysDepartment sysDepartment=new SysDepartment(); sysDepartment.setHospitalId(sysHospital.getId()); sysDepartment.setOrgId(sysOrganizationDe.getId()); sysDepartment.setDepartmentName(userRegVo.getDepartmentName()); @@ -674,30 +685,38 @@ sysDepartment.setSaleUserTel("0"); sysDepartment.setServerUserId(0L); sysDepartment.setServerUserTel("0"); - boolean d = departmentService.save(sysDepartment); + sysDepartment.setServerUserName("自主注册"); + boolean d=departmentService.save(sysDepartment); if (!d) { return ResultBody.failed("科室数据写入失败"); - } else { + } + else + { userRegVo.setDepartmentId(sysDepartment.getId()); } - } else { + } + else + { return ResultBody.failed("医院数据写入失败"); } - } else { + } + else + { return ResultBody.failed("组织数据写入失败"); } } //添加用户数据 如果没有输入密码,将会创建一个默认密码返回 - String defaultPassWord = ""; - SysUser sysUser = new SysUser(); + String defaultPassWord=""; + SysUser sysUser=new SysUser(); sysUser.setUsername(userRegVo.getUsername()); sysUser.setMobile(userRegVo.getMobile()); if (StringUtils.isBlank(userRegVo.getPassword())) { - defaultPassWord = com.kidgrow.common.utils.RandomValueUtils.getRandom(6); + defaultPassWord=com.kidgrow.common.utils.RandomValueUtils.getRandom(6); sysUser.setPassword(passwordEncoder.encode(defaultPassWord)); sysUser.setDefaultAuth(true); userRegVo.setPassword(defaultPassWord); - } else { + } + else { sysUser.setPassword(passwordEncoder.encode(userRegVo.getPassword())); sysUser.setDefaultAuth(false); } @@ -706,45 +725,66 @@ sysUser.setEnabled(true); if (StringUtils.isNotBlank(userRegVo.getType())) { sysUser.setType(userRegVo.getType()); - } else { + } + else + { sysUser.setType(UserType.DOCTOR.name()); } sysUser.setHAdminUser(false); sysUser.setOpenId(userRegVo.getOpenId()); sysUser.setDel(false); - boolean u = this.save(sysUser); - if (u) { + sysUser.setTenantId("hospital"); + boolean u=this.save(sysUser); + if(u) + { + //保存 角色信息 + Map<String,Object> map= new HashMap<>(); + map.put("code",HOSPITAL_ADMIN); + map.put("enabled",1); + map.put("is_del",0); + List<SysRole> sysRoles = sysRoleMapper.selectByMap(map); + if(sysRoles.size()>0){ + //保存一个角色 + SysRole sysRole = sysRoles.get(0); + SysRoleUser sysRoleUser=new SysRoleUser(); + sysRoleUser.setRoleId(sysRole.getId()); + sysRoleUser.setUserId(sysUser.getId()); + int insert = sysUserRoleMapper.insert(sysRoleUser); + } //写入职务数据 if (StringUtils.isNotBlank(userRegVo.getDoctorRank())) { //检查医生职务是否存在 Map<String, Object> selectMap = new HashMap<>(); selectMap.put("dictionaries_name", userRegVo.getDoctorRank()); - List<SysDictionaries> dictionariesList = sysDictionariesService.findAll(selectMap); - if (dictionariesList.size() > 0) { + List<SysDictionaries> dictionariesList=sysDictionariesService.findAll(selectMap); + if (dictionariesList.size()>0) { for (int i = dictionariesList.size() - 1; i >= 0; i--) { if (dictionariesList.get(i).getDictionariesName().equals(userRegVo.getDoctorRank())) { userRegVo.setDoctorRankId(dictionariesList.get(i).getId()); break; } } - } else { + } + else + { //创建字典数据 - SysDictionaries sysDictionaries = new SysDictionaries(); + SysDictionaries sysDictionaries=new SysDictionaries(); sysDictionaries.setDictionariesKey(DictionariesConstants.DOCTOR_RANK); sysDictionaries.setDictionariesClassId(DictionariesConstants.DOCTOR_RANK_ID.toString()); //将名称汉字转为拼音 - sysDictionaries.setDictionariesKey("temp"); + + sysDictionaries.setDictionariesKey(Pinyin4jUtil.makeStringByStringSet(Pinyin4jUtil.getPinyin(userRegVo.getDoctorRank(),true))); sysDictionaries.setDictionariesName(userRegVo.getDoctorRank()); sysDictionaries.setCreateUserId(0L); sysDictionaries.setCreateUserName("自动创建"); - boolean d = sysDictionariesService.save(sysDictionaries); + boolean d=sysDictionariesService.save(sysDictionaries); if (d) { userRegVo.setDoctorRankId(sysDictionaries.getId()); } } } //写入医生数据 - SysDoctor sysDoctor = new SysDoctor(); + SysDoctor sysDoctor=new SysDoctor(); sysDoctor.setUserId(sysUser.getId()); sysDoctor.setHospitalId(userRegVo.getHospitalId()); sysDoctor.setHospitalName(userRegVo.getHospitalName()); @@ -759,21 +799,36 @@ sysDoctor.setDoctorName(userRegVo.getNickname()); sysDoctor.setServerUserId(0L); sysDoctor.setServerUserName("自主注册"); - if (sysDoctorMapper.insert(sysDoctor) == 1) { - if (StringUtils.isNotBlank(defaultPassWord)) { - //默认密码需要返回 - sysUser.setPassword(defaultPassWord); - } - else - { - sysUser.setPassword(""); - } - return ResultBody.ok(200, "注册成功").data(sysUser); - } else { + if (sysDoctorMapper.insert(sysDoctor)==1) { + sysUser.setPassword(userRegVo.getPassword()); + return ResultBody.ok().data(sysUser); +// return ResultBody.ok(200,"注册成功").data(sysUser); + } + else + { return ResultBody.failed("医生数据写入失败"); } - } else { + } + else + { return ResultBody.failed("用户数据写入失败"); + } + } + /** + * 获取医院科室下的所有有效的医生 + * @param hospitalId + * @param departmentId + * @return + */ + @Override + public ResultBody hospitalDoctorList(Long hospitalId, Long departmentId) { + if (hospitalId>0&&departmentId>0) { + List<HospitalDoctorListVo> listVoList=baseMapper.hospitalDoctorList(hospitalId,departmentId); + return ResultBody.ok().data(listVoList); + } + else + { + return ResultBody.failed("医院数据有误"); } } @@ -813,14 +868,5 @@ return sysDoctorList.get(0); } return new com.kidgrow.usercenter.model.SysDoctor(); - } - - public ResultBody userIsAdmin(String userName) { - - Map<String, Object> selectMap = new HashMap<>(); - selectMap.put("username", userName); - List<SysUser> sysUsers = baseMapper.selectByMap(selectMap); - - return null; } } \ No newline at end of file -- Gitblit v1.8.0