From 5d971aadea398a175e50b32371afb037d16b4bf7 Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Mon, 15 Jun 2020 11:18:46 +0800 Subject: [PATCH] 1.用户注册,消费记录,续费记录,添加用户,重置密码,设为管理员接口增加 2.修改管理后台关联的改动。 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 208 insertions(+), 9 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 1eefc21..45c4f31 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 @@ -6,9 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.constant.CommonConstant; +import com.kidgrow.common.constant.DictionariesConstants; import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.context.ClientContextHolder; import com.kidgrow.common.lock.DistributedLock; +import com.kidgrow.common.model.SysMenu; +import com.kidgrow.common.model.SysRole; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.model.*; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.common.utils.DateUtils; @@ -18,9 +22,10 @@ import com.kidgrow.usercenter.mapper.SysDoctorMapper; import com.kidgrow.usercenter.mapper.SysRoleMenuMapper; import com.kidgrow.usercenter.mapper.SysUserMapper; -import com.kidgrow.usercenter.model.SysRoleUser; -import com.kidgrow.usercenter.model.SysUserExcel; +import com.kidgrow.usercenter.model.SysDoctor; +import com.kidgrow.usercenter.model.*; import com.kidgrow.usercenter.service.*; +import com.kidgrow.usercenter.vo.UserRegVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.ObjectUtils; @@ -55,12 +60,17 @@ @Resource private ISysRoleUserService roleUserService; - + @Resource + private ISysDictionariesService sysDictionariesService; @Resource private SysRoleMenuMapper roleMenuMapper; @Autowired private ISysOrganizationService organizationService; + @Autowired + private ISysHospitalService hospitalService; + @Autowired + private ISysDepartmentService departmentService; @Autowired private ISysUserOrgService iSysUserOrgService; @Autowired @@ -347,7 +357,8 @@ if (StringUtils.isBlank(sysUser.getType())) { sysUser.setType(UserType.BACKEND.name()); } - sysUser.setPassword(passwordEncoder.encode(CommonConstant.DEF_USER_PASSWORD)); + String defaultPassWord=com.kidgrow.common.utils.RandomValueUtils.getRandom(6); + sysUser.setPassword(passwordEncoder.encode(defaultPassWord)); sysUser.setEnabled(Boolean.TRUE); } String username = sysUser.getUsername(); @@ -500,12 +511,10 @@ if (phone == null || "".equals(phone.trim())) { return ResultBody.failed("请输入手机号"); } - Map<String, Object> selectMap = new HashMap<>(); - selectMap.put("mobile", phone); - List<SysUser> sysUsers = baseMapper.selectByMap(selectMap); - if(sysUsers.size()>0){ + if (phoneIsUsed(phone)) { return ResultBody.failed("该手机号已经注册"); } + Map<String, Object> mapDto=new HashMap(); mapDto.put("phone",phone); mapDto.put("type",ConstantSMS.REGISTER_SMS); @@ -588,8 +597,197 @@ } return ResultBody.ok().data(null); } + /** + * H端用户注册 管理员添加用户 + * @param userRegVo + * @return + */ + @Override + public ResultBody doctorUserReg(UserRegVo userRegVo) { + //检查手机号是否已经注册 H端登录名和手机号存一样的值 + if (phoneIsUsed(userRegVo.getMobile())) { + return ResultBody.failed("该手机号已经注册"); + } + //检查判断是注册 还是添加用户,注册用户先走基本数据建设 + if (StringUtils.isBlank(userRegVo.getHospitalId().toString())) { + userRegVo.setDoctorState(true); + //添加医院组织结构数据 + List<SysOrganization> sysOrganizationList=new ArrayList<SysOrganization>(); + SysOrganization sysOrganizationHos=new SysOrganization(); + sysOrganizationHos.setOrgAttr(1); + sysOrganizationHos.setOrgLevel(1); + sysOrganizationHos.setOrgName(userRegVo.getHospitalName()); + sysOrganizationList.add(sysOrganizationHos); - public com.kidgrow.usercenter.model.SysDoctor findDoctorByUserId(Long userId) { + //添加科室组织数据 + SysOrganization sysOrganizationDe=new SysOrganization(); + sysOrganizationDe.setOrgAttr(2); + sysOrganizationDe.setOrgLevel(2); + sysOrganizationDe.setOrgName(userRegVo.getDepartmentName()); + sysOrganizationList.add(sysOrganizationDe); + //批量写入 + boolean orgRe= organizationService.saveBatch(sysOrganizationList); + if (orgRe) { + //写医院数据 + SysHospital sysHospital=new SysHospital(); + sysHospital.setHospitalName(userRegVo.getHospitalName()); + sysHospital.setOrgId(sysOrganizationHos.getId()); + sysHospital.setAccountsCount(1); + sysHospital.setHospitalState(0); + sysHospital.setCreateUserId(0L); + sysHospital.setCreateUserName("自主注册"); + + boolean h=hospitalService.save(sysHospital); + if (h) { + userRegVo.setHospitalId(sysHospital.getId()); + //保存科室数据 + SysDepartment sysDepartment=new SysDepartment(); + sysDepartment.setHospitalId(sysHospital.getId()); + sysDepartment.setOrgId(sysOrganizationDe.getId()); + sysDepartment.setDepartmentName(userRegVo.getDepartmentName()); + sysDepartment.setSaleUserId(0L); + sysDepartment.setSaleUserName("自主注册"); + sysDepartment.setSaleUserTel("0"); + sysDepartment.setServerUserId(0L); + sysDepartment.setServerUserTel("0"); + boolean d=departmentService.save(sysDepartment); + if (!d) { + return ResultBody.failed("科室数据写入失败"); + } + else + { + userRegVo.setDepartmentId(sysDepartment.getId()); + } + } + else + { + return ResultBody.failed("医院数据写入失败"); + } + } + else + { + return ResultBody.failed("组织数据写入失败"); + } + } + //添加用户数据 如果没有输入密码,将会创建一个默认密码返回 + 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); + sysUser.setPassword(passwordEncoder.encode(defaultPassWord)); + sysUser.setDefaultAuth(true); + userRegVo.setPassword(defaultPassWord); + } + else { + sysUser.setPassword(passwordEncoder.encode(userRegVo.getPassword())); + sysUser.setDefaultAuth(false); + } + sysUser.setNickname(userRegVo.getNickname()); + sysUser.setSex(userRegVo.getSex()); + sysUser.setEnabled(true); + if (StringUtils.isNotBlank(userRegVo.getType())) { + sysUser.setType(userRegVo.getType()); + } + else + { + sysUser.setType(UserType.DOCTOR.name()); + } + sysUser.setHAdminUser(false); + sysUser.setOpenId(userRegVo.getOpenId()); + sysUser.setDel(false); + boolean u=this.save(sysUser); + if(u) + { + //写入职务数据 + 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) { + 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 + { + //创建字典数据 + SysDictionaries sysDictionaries=new SysDictionaries(); + sysDictionaries.setDictionariesKey(DictionariesConstants.DOCTOR_RANK); + sysDictionaries.setDictionariesClassId(DictionariesConstants.DOCTOR_RANK_ID.toString()); + //将名称汉字转为拼音 + sysDictionaries.setDictionariesKey(""); + sysDictionaries.setDictionariesName(userRegVo.getDoctorRank()); + sysDictionaries.setCreateUserId(0L); + sysDictionaries.setCreateUserName("自动创建"); + boolean d=sysDictionariesService.save(sysDictionaries); + if (d) { + userRegVo.setDoctorRankId(sysDictionaries.getId()); + } + } + } + //写入医生数据 + SysDoctor sysDoctor=new SysDoctor(); + sysDoctor.setUserId(sysUser.getId()); + sysDoctor.setHospitalId(userRegVo.getHospitalId()); + sysDoctor.setHospitalName(userRegVo.getHospitalName()); + sysDoctor.setDepartmentId(userRegVo.getDepartmentId()); + sysDoctor.setDepartmentName(userRegVo.getDepartmentName()); + sysDoctor.setDoctorRank(userRegVo.getDoctorRank()); + sysDoctor.setDoctorRankId(userRegVo.getDoctorRankId()); + sysDoctor.setCreateUserId(0L); + sysDoctor.setCreateUserName("自主注册"); + sysDoctor.setDoctorState(userRegVo.getDoctorState()); + sysDoctor.setDoctorTel(userRegVo.getMobile()); + sysDoctor.setDoctorName(userRegVo.getNickname()); + sysDoctor.setServerUserId(0L); + sysDoctor.setServerUserName("自主注册"); + if (sysDoctorMapper.insert(sysDoctor)==1) { + sysUser.setPassword(userRegVo.getPassword()); + return ResultBody.ok(200,"注册成功").data(sysUser); + } + else + { + return ResultBody.failed("医生数据写入失败"); + } + } + else + { + return ResultBody.failed("用户数据写入失败"); + } + } + + /** + * 检查手机号是否已经注册 true存在 false不存在 + * @param phone + * @return + */ + private boolean phoneIsUsed(String phone) + { + Map<String, Object> selectMap = new HashMap<>(); + selectMap.put("mobile", phone); + List<SysUser> sysUsers = baseMapper.selectByMap(selectMap); + return (sysUsers.size()>0); + } + /** + * 检查用户登录名是否已经注册 true存在 false不存在 + * @param userName + * @return + */ + private boolean userNameIsUsed(String userName) + { + Map<String, Object> selectMap = new HashMap<>(); + selectMap.put("username", userName); + List<SysUser> sysUsers = baseMapper.selectByMap(selectMap); + return (sysUsers.size()>0); + } + public com.kidgrow.usercenter.model.SysDoctor findDoctorByUserId(Long userId) + { Map<String, Object> doctorMap = new HashMap<>(); doctorMap.put("user_id",userId); doctorMap.put("enabled",1); @@ -600,4 +798,5 @@ } return new com.kidgrow.usercenter.model.SysDoctor(); } + } \ No newline at end of file -- Gitblit v1.8.0