From 85b973f198c326aa6db1be878d33f747e4f505fa Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Tue, 16 Jun 2020 19:02:26 +0800 Subject: [PATCH] 1.pom文件中新增汉字转拼音,生成缩略图引用 2.增加设置logo的数据修改接口 3.增加删除用户接口 4.根据用户名查看当前用户是否管理员接口 5.获取医院科室下的所有有效的医生接口 6.修改文件中心,增加支持医生文件夹。 --- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java | 5 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysHospitalController.java | 10 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java | 8 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysHospitalServiceImpl.java | 30 +++ pom.xml | 10 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java | 40 ++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java | 92 ++++++--- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml | 23 ++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/Pinyin4jUtil.java | 149 ++++++++++++++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java | 11 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 147 ++++++++++----- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java | 7 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDoctorMapper.java | 2 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/UserRegVo.java | 5 14 files changed, 448 insertions(+), 91 deletions(-) diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java index aca4c2e..ec404eb 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java @@ -80,7 +80,10 @@ // 医院Logo只保存在一个目录中 else if (fileInfo.getImgType().toLowerCase().equals("logo")) { fileFolder = "HospitalLogo/"; - } else { + }else if (fileInfo.getImgType().toLowerCase().equals("doctor")) { + fileFolder = "DoctorImage/"; + } + else { fileFolder = "OtherImage/"+ folderByDate + "/"; } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java new file mode 100644 index 0000000..8de54d2 --- /dev/null +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java @@ -0,0 +1,40 @@ +package com.kidgrow.usercenter.vo; + +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 + * @Description: <br> + * @Project: H端用户列表<br> + * @CreateDate: Created in 2020-06-16 14:02:50 <br> + * @Author: <a href="411269194@kidgrow.com">hrj</a> + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class HospitalDoctorListVo extends Model<HospitalDoctorListVo> { + private static final long serialVersionUID = 1L; + private String createTime; + private String departmentName; + private String hospitalName; + private String doctorName; + private String doctorRank; + private String doctorTel; + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + private boolean isAdminUser; + private boolean doctorState; + private String Mobile; + private String userName; + private boolean isDefaultAuth; + private boolean enabled; +} diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/UserRegVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/UserRegVo.java index 7b6a572..a32a31b 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/UserRegVo.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/UserRegVo.java @@ -1,6 +1,8 @@ package com.kidgrow.usercenter.vo; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -70,6 +72,7 @@ /** * 所属医院ID 注册用户固定传0 */ + @JsonSerialize(using = ToStringSerializer.class) private Long hospitalId; /** * 医院名称 @@ -79,6 +82,7 @@ /** * 科室ID 注册用户固定传0 */ + @JsonSerialize(using = ToStringSerializer.class) private Long departmentId; /** * 科室名称 @@ -87,6 +91,7 @@ /** * 职称ID 注册用户固定传0 */ + @JsonSerialize(using = ToStringSerializer.class) private Long doctorRankId; /** * 职称 diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDoctorMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDoctorMapper.java index fefca02..0bd8d5f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDoctorMapper.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysDoctorMapper.java @@ -36,5 +36,5 @@ * @param userName * @return SysDoctor */ - SysDoctor userIsAdmin(String userName); + SysDoctor userIsAdmin(@Param("userName") String userName); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java index 785ec79..a5d4183 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java @@ -4,6 +4,7 @@ import com.kidgrow.common.model.DoctorUserAll; import com.kidgrow.common.model.SysUser; import com.kidgrow.db.mapper.SuperMapper; +import com.kidgrow.usercenter.vo.HospitalDoctorListVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -40,5 +41,13 @@ * @param userId * @return */ - DoctorUserAll findDoctorUserAllData(Long userId); + DoctorUserAll findDoctorUserAllData(@Param("userId") Long userId); + + /** + * 获取医院科室下的所有有效的医生 + * @param hospitalId + * @param departmentId + * @return + */ + List<HospitalDoctorListVo> hospitalDoctorList(@Param("hospitalId") Long hospitalId, @Param("departmentId") Long departmentId); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java index 6e57d42..3f0697c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysHospitalService.java @@ -6,6 +6,7 @@ import com.kidgrow.common.service.ISuperService; import com.kidgrow.usercenter.model.SysHospital; import com.kidgrow.usercenter.vo.HospitalListVo; +import org.springframework.web.bind.annotation.RequestBody; import java.util.Map; @@ -57,4 +58,11 @@ * @return */ ResultBody delete(Map<String, Object> params); + + /** + * 修改logo数据 + * @param params + * @return + */ + ResultBody updateLogo(@RequestBody Map<String, Object> params); } \ No newline at end of file diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java index 116ec5e..bb8d8b9 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java @@ -144,5 +144,12 @@ * @return */ ResultBody doctorUserReg(UserRegVo userRegVo); + /** + * 获取医院科室下的所有有效的医生 + * @param hospitalId + * @param departmentId + * @return + */ + ResultBody hospitalDoctorList(Long hospitalId, Long departmentId); } 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 9d47ecf..e5f1a18 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 @@ -5,6 +5,7 @@ import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.StringUtils; import com.kidgrow.usercenter.mapper.SysDepartmentMapper; import com.kidgrow.usercenter.mapper.SysHospitalMapper; import com.kidgrow.usercenter.model.SysDepartment; @@ -161,4 +162,33 @@ int j=departmentMapper.updateById(sysDepartment); return (j > 0) ? ResultBody.ok().data(sysHospital).msg("删除成功") : ResultBody.failed("删除失败"); } + + /** + * 更新医院logo + * @param params + * @return + */ + @Override + public ResultBody updateLogo(Map<String, Object> params) { + Long hospitalId = MapUtils.getLong(params, "hospitalId"); + String hospitalLogo=MapUtils.getString(params, "hospitalLogo"); + String hospitalLitLogo=MapUtils.getString(params, "hospitalLitLogo"); + if (StringUtils.isNotBlank(hospitalId.toString())&&StringUtils.isNotBlank(hospitalLogo)&&StringUtils.isNotBlank(hospitalLitLogo)) { + SysHospital sysHospital=baseMapper.selectById(hospitalId); + if (sysHospital != null) { + sysHospital.setHospitalLogo(hospitalLogo); + sysHospital.setHospitalLitLogo(hospitalLitLogo); + int u=baseMapper.updateById(sysHospital); + return ResultBody.ok().data(u>0); + } + else + { + return ResultBody.failed("医院数据有误!"); + } + } + else + { + return ResultBody.failed("修改数据有误!"); + } + } } 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..ff57dbc 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; @@ -81,6 +81,13 @@ private DistributedLock lock; @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) { @@ -622,7 +629,6 @@ /** * H端用户注册 管理员添加用户 - * * @param userRegVo * @return */ @@ -633,27 +639,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 +671,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 +684,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 +724,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 +798,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 +867,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 diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml index 6616183..7d9be46 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml @@ -99,7 +99,7 @@ </if> </select> - <select id="findDoctorUserAllData" resultType="com.kidgrow.common.model.DoctorUserAll"> + <select id="findDoctorUserAllData" parameterType="long" resultType="com.kidgrow.common.model.DoctorUserAll"> SELECT sysuser.id, sysdoctor.doctor_name, sysdoctor.doctor_ccie, @@ -146,4 +146,25 @@ left JOIN sys_department sysdep on sysdoctor.department_id=sysdep.id where sysuser.id=#{userId} </select> + <select id="hospitalDoctorList" parameterType="long" resultType="com.kidgrow.usercenter.vo.HospitalDoctorListVo"> + SELECT + dc.create_time, + dc.department_name, + dc.hospital_name, + dc.doctor_name, + dc.doctor_rank, + dc.doctor_tel, + dc.id, + dc.user_id, + dc.is_admin_user, + dc.doctor_state, + us.mobile, + us.username, + us.is_default_auth, + us.enabled + FROM + sys_doctor dc + LEFT JOIN sys_user us ON dc.user_id = us.id + where dc.is_del=0 and dc.hospital_id=#{hospitalId} and dc.department_id=#{departmentId} + </select> </mapper> \ No newline at end of file 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 0e8c2bc..faa384a 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 @@ -129,7 +129,15 @@ SysHospital model = sysHospitalService.findByObject(sysHospital); return ResultBody.ok().data(model).msg("查询成功"); } - + /** + * 修改医院logo + */ + @ApiOperation(value = "保存") + @GetMapping("/updateLogo") + public ResultBody updateLogo(@RequestBody Map<String, Object> params) + { + return sysHospitalService.updateLogo(params); + } /** * 新增or更新 */ diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java index d664be1..e12818f 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java @@ -7,6 +7,7 @@ import com.kidgrow.common.context.ClientContextHolder; import com.kidgrow.common.model.*; import com.kidgrow.common.utils.ExcelUtil; +import com.kidgrow.common.utils.StringUtils; import com.kidgrow.log.annotation.AuditLog; import com.kidgrow.searchcenter.client.service.IQueryService; import com.kidgrow.searchcenter.model.LogicDelDto; @@ -94,21 +95,22 @@ */ @GetMapping(value = "/users-anon/login", params = "username") @ApiOperation(value = "根据用户名查询用户") - public LoginAppUser findByUsername(String username,HttpServletRequest request) { + public LoginAppUser findByUsername(String username, HttpServletRequest request) { - LoginAppUser loginAppUser =appUserService.findByUsername(username); - if(loginAppUser!=null){ - loginLogs(loginAppUser,request); + LoginAppUser loginAppUser = appUserService.findByUsername(username); + if (loginAppUser != null) { + loginLogs(loginAppUser, request); } return loginAppUser; } /** * 用户登录日志 + * * @param sysUser * @return */ - private int loginLogs(LoginAppUser sysUser,HttpServletRequest request){ + private int loginLogs(LoginAppUser sysUser, HttpServletRequest request) { SysUserLogs sysUserLogs = new SysUserLogs(); sysUserLogs.setClientId(ClientContextHolder.getClient()); sysUserLogs.setLoginAgentSystem(request.getHeader(CommonConstant.USER_AGENT_SYSTEM)); @@ -154,7 +156,7 @@ * @param sysUser */ @PutMapping("/users") - @CachePut(value = "user", key = "#sysUser.username", unless="#result == null") + @CachePut(value = "user", key = "#sysUser.username", unless = "#result == null") @AuditLog(operation = "'更新用户:' + #sysUser") public ResultBody updateSysUser(@RequestBody SysUser sysUser) { appUserService.updateById(sysUser); @@ -202,6 +204,21 @@ // log.info("IP:"+request.getHeader(CommonConstant.USER_AGENT_IP)); return appUserService.findUsers(params); } + /** + * 获取医院科室下的所有有效的医生 + * @param hospitalId + * @param departmentId + * @return + */ + @ApiOperation(value = "用户查询列表") + @GetMapping("/users/HDoctorusers") + public ResultBody hospitalDoctorList(@RequestParam Long hospitalId, Long departmentId) { + if (StringUtils.isNotBlank(hospitalId.toString()) && StringUtils.isNotBlank(departmentId.toString())) { + return appUserService.hospitalDoctorList(hospitalId, departmentId); + } else { + return ResultBody.failed("查询参数有误"); + } + } /** * 修改用户状态 @@ -225,7 +242,8 @@ /** * 管理后台,给用户重置密码 - *重置密码后,会将新密码返回到data字段。 + * 重置密码后,会将新密码返回到data字段。 + * * @param id */ @PutMapping(value = "/users/{id}/password") @@ -234,7 +252,7 @@ if (checkAdmin(id)) { return ResultBody.failed(ADMIN_CHANGE_MSG); } - return appUserService.updatePassword(id, null, null,true); + return appUserService.updatePassword(id, null, null, true); } /** @@ -245,43 +263,41 @@ if (checkAdmin(sysUser.getId())) { return ResultBody.failed().msg(ADMIN_CHANGE_MSG); } - appUserService.updatePassword(sysUser.getId(), sysUser.getOldPassword(), sysUser.getNewPassword(),false); + appUserService.updatePassword(sysUser.getId(), sysUser.getOldPassword(), sysUser.getNewPassword(), false); return ResultBody.ok().data(true).msg("密码重置成功"); } + /** * 用户自己修改密码-后端以外 */ @PutMapping(value = "/users/resetpassword") public ResultBody resetClientPassword(@RequestParam Map<String, Object> params) { - Long id=MapUtils.getLong(params, "id"); - String oldPassword=MapUtils.getString(params,"oldPassword"); - String newPassword=MapUtils.getString(params,"newPassword"); - String refPassword=MapUtils.getString(params,"refPassword"); - if (id>0&&!oldPassword.isEmpty()&&!newPassword.isEmpty()&&!refPassword.isEmpty()) { + Long id = MapUtils.getLong(params, "id"); + String oldPassword = MapUtils.getString(params, "oldPassword"); + String newPassword = MapUtils.getString(params, "newPassword"); + String refPassword = MapUtils.getString(params, "refPassword"); + if (id > 0 && !oldPassword.isEmpty() && !newPassword.isEmpty() && !refPassword.isEmpty()) { if (refPassword.equals(newPassword)) { - return appUserService.updatePassword(id,oldPassword,newPassword,false).data(true).msg("密码修改成功!"); - } - else - { + return appUserService.updatePassword(id, oldPassword, newPassword, false).data(true).msg("密码修改成功!"); + } else { return ResultBody.failed("两次新密码输入不一致!").data(false); } - } - else - { + } else { return ResultBody.failed("必须参数有误!").data(false); } } /** * 用户修改自己的手机号 + * * @param params * @return */ - @PutMapping(value="/users/updateusertel") - public ResultBody updateUserTel(@RequestParam Map<String,Object> params) - { + @PutMapping(value = "/users/updateusertel") + public ResultBody updateUserTel(@RequestParam Map<String, Object> params) { return appUserService.updateUserTel(params); } + /** * 删除用户 * @@ -293,7 +309,7 @@ if (checkAdmin(id)) { return ResultBody.failed(ADMIN_CHANGE_MSG); } - boolean v= appUserService.delUser(id); + boolean v = appUserService.delUser(id); return ResultBody.ok().msg("删除成功").data(v); } @@ -334,7 +350,7 @@ @PostMapping(value = "/users/import") public ResultBody importExcl(@RequestParam("file") MultipartFile excl) throws Exception { int rowNum = 0; - if(!excl.isEmpty()) { + if (!excl.isEmpty()) { List<SysUserExcel> list = ExcelUtil.importExcel(excl, 0, 1, SysUserExcel.class); rowNum = list.size(); if (rowNum > 0) { @@ -349,7 +365,7 @@ appUserService.saveBatch(users); } } - return ResultBody.ok().msg("导入数据成功,一共【"+rowNum+"】行"); + return ResultBody.ok().msg("导入数据成功,一共【" + rowNum + "】行"); } @ApiOperation(value = "用户全文搜索列表") @@ -372,54 +388,60 @@ private boolean checkAdmin(long id) { return id == 1L; } + @PostMapping("/users/findAll") - public ResultBody findAll( @RequestBody Map<String,Object> map) { + public ResultBody findAll(@RequestBody Map<String, Object> map) { return appUserService.findAll(map); } /** * 根据map查询 总个数 + * * @param map * @return */ @PostMapping("/users/findCountByMap") - public ResultBody findCountByMap( @RequestBody Map<String,Object> map) { + public ResultBody findCountByMap(@RequestBody Map<String, Object> map) { return appUserService.findCountByMap(map); } + /** * 获取当前用的 组织下的所有人员 */ @GetMapping("users/getThisUserOrganizationUser") - public ResultBody getThisUserOrganizationUser(HttpServletRequest request){ + public ResultBody getThisUserOrganizationUser(HttpServletRequest request) { return appUserService.getThisUserOrganizationUser(request); } + /** * 通过手机修改密码 */ @PutMapping(value = "/users/passwordByPhone") - public ResultBody passwordByPhone(@RequestBody Map<String,Object> map) { + public ResultBody passwordByPhone(@RequestBody Map<String, Object> map) { return appUserService.passwordByPhone(map); } + /** * 通过手机号注册 新用户 */ @PutMapping(value = "/users/registerByPhone") - public ResultBody registerByPhone(@RequestBody Map<String,Object> map) { + public ResultBody registerByPhone(@RequestBody Map<String, Object> map) { return appUserService.registerByPhone(map); } + /** * 更换手机号 */ @PutMapping(value = "/users/updatePhone") - public ResultBody updatePhone(@RequestBody Map<String,Object> map, @LoginUser SysUser sysUser) { - return appUserService.updatePhone(map,sysUser); + public ResultBody updatePhone(@RequestBody Map<String, Object> map, @LoginUser SysUser sysUser) { + return appUserService.updatePhone(map, sysUser); } /** * 获取指定用户信息(销售人员和服务人员) */ @GetMapping("users/getAppointUser") - public ResultBody getAppointUser(){ + public ResultBody getAppointUser() { String type = request.getParameter("type"); return appUserService.findAppointUsers(Integer.parseInt(type)); diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/Pinyin4jUtil.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/Pinyin4jUtil.java new file mode 100644 index 0000000..dfccd2c --- /dev/null +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/Pinyin4jUtil.java @@ -0,0 +1,149 @@ +package com.kidgrow.common.utils; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; +import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; +import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; + +import java.util.HashSet; +import java.util.Set; + +public class Pinyin4jUtil { + + /** + * getFirstSpellPinYin:(多音字的时候获取第一个). <br/> + * @param src 传入的拼音字符串,以逗号隔开 + * @param isFullSpell 是否全拼,true:全拼,false:第一个汉字全拼(其它汉字取首字母) + * @return 第一个拼音 + */ + public static String getFirstSpellPinYin(String src , boolean isFullSpell) { + String targetStr = Pinyin4jUtil.makeStringByStringSet(Pinyin4jUtil.getPinyin(src, isFullSpell)); + String[] split = targetStr.split(","); + if (split.length > 1) { + targetStr = split[0]; + } + return targetStr; + } + + /** + * makeStringByStringSet:(拼音字符串集合转换字符串). <br/> + * @param stringSet 拼音集合 + * @return + */ + public static String makeStringByStringSet(Set<String> stringSet) { + StringBuilder str = new StringBuilder(); + int i = 0; + if (stringSet.size() > 0) { + for (String s : stringSet) { + if (i == stringSet.size() - 1) { + str.append(s); + } else { + str.append(s); + } + i++; + } + } + return str.toString().toLowerCase(); + } + + /** + * getPinyin:(获取汉字拼音). <br/> + * @param src 汉字 + * @param isFullSpell 是否全拼,如果为true:全拼,false:首字全拼 + * @return + */ + public static Set<String> getPinyin(String src, boolean isFullSpell) { + if (src != null && !src.trim().equalsIgnoreCase("")) { + char[] srcChar; + srcChar = src.toCharArray(); + // 汉语拼音格式输出类 + HanyuPinyinOutputFormat hanYuPinOutputFormat = new HanyuPinyinOutputFormat(); + + // 输出设置,大小写,音标方式等 + hanYuPinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); + hanYuPinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); + hanYuPinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_V); + + String[][] temp = new String[src.length()][]; + for (int i = 0; i < srcChar.length; i++) { + char c = srcChar[i]; + if (String.valueOf(c).matches("[\\u4E00-\\u9FA5]+")) {//中文 + try { + temp[i] = PinyinHelper.toHanyuPinyinStringArray( + srcChar[i], hanYuPinOutputFormat); + if (!isFullSpell) { + if (i == 0) { + temp[i] = temp[i]; + } else { + String[] tTemps = new String[temp[i].length]; + for (int j = 0; j < temp[i].length; j++) { + char t = temp[i][j].charAt(0); + tTemps[j] = Character.toString(t); + } + temp[i] = tTemps; + } + } + } catch (BadHanyuPinyinOutputFormatCombination e) { + e.printStackTrace(); + } + } else if (((int) c >= 65 && (int) c <= 90) + || ((int) c >= 97 && (int) c <= 122)) {//英文 + temp[i] = new String[] { String.valueOf(srcChar[i]) }; + } else { + temp[i] = new String[] { "" }; + } + } + String[] pingyinArray = exchange(temp); + Set<String> pinyinSet = new HashSet<String>(); + for (int i = 0; i < pingyinArray.length; i++) { + pinyinSet.add(pingyinArray[i]); + } + return pinyinSet; + } + return null; + } + + /** + * 递归 + * @param strJaggedArray + * @return + */ + public static String[] exchange(String[][] strJaggedArray) { + String[][] temp = doExchange(strJaggedArray); + return temp[0]; + } + + /** + * 递归 + * @param strJaggedArray + * @return + */ + private static String[][] doExchange(String[][] strJaggedArray) { + int len = strJaggedArray.length; + if (len >= 2) { + int len1 = strJaggedArray[0].length; + int len2 = strJaggedArray[1].length; + int newlen = len1 * len2; + String[] temp = new String[newlen]; + int Index = 0; + for (int i = 0; i < len1; i++) { + for (int j = 0; j < len2; j++) { + temp[Index] = strJaggedArray[0][i] + strJaggedArray[1][j]; + Index++; + } + } + String[][] newArray = new String[len - 1][]; + for (int i = 2; i < len; i++) { + newArray[i - 1] = strJaggedArray[i]; + } + newArray[0] = temp; + return doExchange(newArray); + } else { + return strJaggedArray; + } + } + + +} diff --git a/pom.xml b/pom.xml index 7f29603..18c965b 100644 --- a/pom.xml +++ b/pom.xml @@ -156,6 +156,16 @@ <version>${javax.activatio.version}</version> </dependency> <!-- jaxb模块引用 - end --> + <dependency> + <groupId>com.belerweb</groupId> + <artifactId>pinyin4j</artifactId> + <version>2.5.1</version> + </dependency> + <dependency> + <groupId>net.coobird</groupId> + <artifactId>thumbnailator</artifactId> + <version>0.4.11</version> + </dependency> </dependencies> -- Gitblit v1.8.0