From 79810458e869450fcdfa96b92f79e5c78cb46c04 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Thu, 30 Jul 2020 16:37:55 +0800 Subject: [PATCH] 去掉 组织新增的按钮,修改添加医院的bug,添加Python 获取加密码的接口 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 129 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 105 insertions(+), 24 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 f67c7b7..9478ffe 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 @@ -15,6 +15,7 @@ import com.kidgrow.common.model.SysUser; import com.kidgrow.common.model.*; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.common.utils.AesUtils; import com.kidgrow.common.utils.DateUtils; import com.kidgrow.common.utils.Pinyin4jUtil; import com.kidgrow.redis.util.RedisUtils; @@ -86,7 +87,6 @@ private SysRoleMapper sysRoleMapper; @Autowired private SysUserRoleMapper sysUserRoleMapper; - @Override public LoginAppUser findByUsername(String username) { SysUser sysUser = this.selectByUsername(username); @@ -114,6 +114,7 @@ @Override public LoginAppUser getLoginAppUser(SysUser sysUser) { LoginAppUser loginAppUser = new LoginAppUser(); + SysUser sysUserNew = this.baseMapper.selectById(sysUser); if (sysUser != null) { //返回的数据为什么要把密码也返回?清空!! loginAppUser.setPassword(""); @@ -122,6 +123,7 @@ BeanUtils.copyProperties(sysUser, loginAppUser); //获取用户所属组织机构列表 + loginAppUser.setDefaultAuth(sysUserNew.getDefaultAuth()); List<SysOrganization> sysOrganizations = organizationService.findListByUserId(sysUser.getId()); //设置组织机构集合 loginAppUser.setOrganizations(sysOrganizations); @@ -164,7 +166,8 @@ public SysUser selectByUsername(String username) { String clientId = ClientContextHolder.getClient(); List<SysUser> users = baseMapper.selectList( - new QueryWrapper<SysUser>().eq("username", username).eq("tenant_id", clientId) + //new QueryWrapper<SysUser>().eq("username", username).eq("tenant_id", clientId) + new QueryWrapper<SysUser>().eq("username", username) ); return getUser(users); } @@ -226,21 +229,27 @@ @Transactional(rollbackFor = Exception.class) @Override - public ResultBody updatePassword(Long id, String oldPassword, String newPassword, Boolean isdefault) { + public ResultBody updatePassword(Long id, String oldPassword, String newPassword, Boolean isdefault) throws Exception { + SysUser sysUser = baseMapper.selectById(id); if (StrUtil.isNotBlank(oldPassword)) { + oldPassword=AesUtils.desEncrypt(oldPassword).trim(); if (!passwordEncoder.matches(oldPassword, sysUser.getPassword())) { return ResultBody.failed("旧密码错误!"); } } if (StrUtil.isBlank(newPassword)) { newPassword = com.kidgrow.common.utils.RandomValueUtils.getRandom(6); + }else { + newPassword=AesUtils.desEncrypt(newPassword).trim(); } SysUser user = new SysUser(); user.setId(id); user.setPassword(passwordEncoder.encode(newPassword)); if (isdefault) { user.setDefaultAuth(true); + }else { + user.setDefaultAuth(false); } baseMapper.updateById(user); if (isdefault) { @@ -252,12 +261,12 @@ @Override @Transactional(rollbackFor = Exception.class) - public ResultBody updateUserTel(Map<String, Object> params) { + public ResultBody updateUserTel(Map<String, Object> params) throws Exception { Long id = MapUtils.getLong(params, "id"); String oldTel = MapUtils.getString(params, "oldTel"); - String newTel = MapUtils.getString(params, "newTel"); - String authCode = MapUtils.getString(params, "authCode"); - String userPassword = MapUtils.getString(params, "userPassword"); + String newTel = AesUtils.desEncrypt(MapUtils.getString(params, "newTel")).trim(); + String authCode = AesUtils.desEncrypt(MapUtils.getString(params, "authCode")).trim(); + String userPassword = AesUtils.desEncrypt(MapUtils.getString(params, "userPassword")).trim(); if (id > 0 && StringUtils.isNotBlank(oldTel) && StringUtils.isNotBlank(newTel) && StringUtils.isNotBlank(authCode) && StringUtils.isNotBlank(userPassword)) { //检查验证码 @@ -271,6 +280,7 @@ } else { //验证旧手机号和密码 SysUser sysUser = baseMapper.selectById(id); + userPassword = AesUtils.desEncrypt(userPassword); if (passwordEncoder.matches(userPassword, sysUser.getPassword()) && sysUser.getMobile().equals((oldTel))) { //验证通过,修改手机号 SysUser user = new SysUser(); @@ -490,7 +500,7 @@ * @return */ @Override - public ResultBody passwordByPhone(Map<String, Object> map) { + public ResultBody passwordByPhone(Map<String, Object> map) throws Exception { //手机号,type,验证码,新密码 String phone = MapUtils.getString(map, "phone"); if (phone == null || "".equals(phone.trim())) { @@ -504,7 +514,10 @@ if (newPass == null || "".equals(newPass.trim())) { return ResultBody.failed("请输入正确的密码"); } - if (CheckVerificationCode(ConstantSMS.PASSWORD_SMS, map.get("phone").toString(), verificationCode)) { + phone= AesUtils.desEncrypt(phone.trim()); + verificationCode= AesUtils.desEncrypt(verificationCode.trim()); + newPass= AesUtils.desEncrypt(newPass.trim()); + if (CheckVerificationCode(ConstantSMS.PASSWORD_SMS, phone, verificationCode)) { //查询表 Map<String, Object> selectMap = new HashMap<>(); selectMap.put("mobile", phone); @@ -638,15 +651,20 @@ */ @Transactional(rollbackFor = Exception.class) @Override - public ResultBody doctorUserReg(UserRegVo userRegVo, SysUser sysUserd) { + public ResultBody doctorUserReg(UserRegVo userRegVo, SysUser sysUserd) throws Exception { + if(sysUserd.getId()==null){ + sysUserd = this.baseMapper.selectById(userRegVo.getUserId()); + } + userRegVo.setPassword(AesUtils.desEncrypt(userRegVo.getPassword()).trim()); + userRegVo.setUsername(AesUtils.desEncrypt(userRegVo.getUsername()).trim()); //检查手机号是否已经注册 H端登录名和手机号存一样的值 if (phoneIsUsed(userRegVo.getMobile())) { return ResultBody.failed("该手机号已经注册"); } //创建人id - Long createUserId = 0L; - //创建人id - String createUserName = "自动创建"; + Long createUserId = CommonConstant.CREATE_USER_ID; + //创建人名称 + String createUserName = CommonConstant.CREATE_USER_NAME; //是否注册用户 Boolean isReg = false; //业务成功 @@ -789,12 +807,16 @@ sysUserOrgH.setUserId(sysUser.getId()); sysUserOrgH.setOrgId(organizationHos); + sysUserOrgH.setFromLevel(CommonConstant.SYSTEM_ORG_HOS_LEVEL); + sysUserOrgH.setFromId(userRegVo.getHospitalId()); sysUserOrgH.setCreateUserId(isReg ? createUserId : sysUserd.getId()); sysUserOrgH.setCreateUserName(isReg ? createUserName : sysUserd.getUsername()); sysUserOrgList.add(sysUserOrgH); sysUserOrgD.setUserId(sysUser.getId()); sysUserOrgD.setOrgId(organizationDep); + sysUserOrgD.setFromId(userRegVo.getDepartmentId()); + sysUserOrgD.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL); sysUserOrgD.setCreateUserId(isReg ? createUserId : sysUserd.getId()); sysUserOrgD.setCreateUserName(isReg ? createUserName : sysUserd.getUsername()); sysUserOrgList.add(sysUserOrgD); @@ -808,6 +830,7 @@ sysDoctor.setDepartmentName(userRegVo.getDepartmentName()); sysDoctor.setDoctorRank(userRegVo.getDoctorRank()); sysDoctor.setDoctorRankId(userRegVo.getDoctorRankId()); + sysDoctor.setDoctorType(CommonConstant.H_DOCTOR_TYPE); sysDoctor.setCreateUserId(isReg ? createUserId : sysUserd.getId()); sysDoctor.setCreateUserName(isReg ? createUserName : sysUserd.getUsername()); if (isReg) { @@ -821,6 +844,8 @@ sysDoctor.setDoctorName(userRegVo.getNickname()); sysDoctor.setServerUserId(isReg ? createUserId : sysUserd.getId()); sysDoctor.setServerUserName(isReg ? createUserName : sysUserd.getUsername()); + sysDoctor.setIsAdminUser(false); + sysDoctor.setEnabled(false); if (sysDoctorMapper.insert(sysDoctor) == 1) { //非自主注册的 返回信息带密码 if (!isReg) { @@ -909,16 +934,21 @@ } /** - * 获取医院科室下的所有有效的医生 + * 获取医院科室下的所有H端有效的医生 * * @param hospitalId * @param departmentId * @return */ @Override - public ResultBody hospitalDoctorList(Long hospitalId, Long departmentId) { + public ResultBody hospitalDoctorList(Long hospitalId, Long departmentId,Boolean isIncluddel) { if (hospitalId > 0 && departmentId > 0) { - List<HospitalDoctorListVo> listVoList = baseMapper.hospitalDoctorList(hospitalId, departmentId); + List<HospitalDoctorListVo> listVoList; + if(isIncluddel){ + listVoList= baseMapper.hospitalDoctorListAndDel(hospitalId, departmentId,CommonConstant.HOSPITAL_DOCTOR_ID,CommonConstant.HOSPITAL_ADMIN_ID); + }else { + listVoList=baseMapper.hospitalDoctorList(hospitalId, departmentId,CommonConstant.HOSPITAL_DOCTOR_ID,CommonConstant.HOSPITAL_ADMIN_ID); + } return ResultBody.ok().data(listVoList); } else { return ResultBody.failed("医院数据有误"); @@ -931,9 +961,10 @@ * @param phone * @return */ - private boolean phoneIsUsed(String phone) { + public boolean phoneIsUsed(String phone) { Map<String, Object> selectMap = new HashMap<>(); selectMap.put("mobile", phone); + selectMap.put("is_del", 0); List<SysUser> sysUsers = baseMapper.selectByMap(selectMap); return (sysUsers.size() > 0); } @@ -944,17 +975,14 @@ * @param depatmentId * @return */ - private Integer departmetAccountsCount(Long depatmentId) { + public Integer departmetAccountsCount(Long depatmentId) { SysDepartment sysDepartment = departmentService.getById(depatmentId); if (sysDepartment == null) { return 0; } else { - Map<String, Object> selectMap = new HashMap<>(); - selectMap.put("departmentId", depatmentId); - selectMap.put("enabled", 1); - List<SysDoctor> sysDoctorList = sysDoctorMapper.selectByMap(selectMap); - if (sysDoctorList == null) { - int doctorCount = sysDoctorList.size(); + List<HospitalDoctorListVo> hospitalDoctorListVos = baseMapper.hospitalDoctorList(sysDepartment.getHospitalId(), depatmentId, CommonConstant.HOSPITAL_DOCTOR_ID, CommonConstant.HOSPITAL_ADMIN_ID); + if (hospitalDoctorListVos != null) { + int doctorCount = hospitalDoctorListVos.size(); int accountCount = sysDepartment.getAccountsCount(); return (accountCount - doctorCount); } else { @@ -962,6 +990,24 @@ } } } +// private Integer departmetAccountsCount(Long depatmentId) { +// SysDepartment sysDepartment = departmentService.getById(depatmentId); +// if (sysDepartment == null) { +// return 0; +// } else { +// Map<String, Object> selectMap = new HashMap<>(); +// selectMap.put("department_id", depatmentId); +// selectMap.put("enabled", 1); +// List<SysDoctor> sysDoctorList = sysDoctorMapper.selectByMap(selectMap); +// if (sysDoctorList != null) { +// int doctorCount = sysDoctorList.size(); +// int accountCount = sysDepartment.getAccountsCount(); +// return (accountCount - doctorCount); +// } else { +// return 0; +// } +// } +// } /** * 检查用户登录名是否已经注册 true存在 false不存在 @@ -987,4 +1033,39 @@ } return new com.kidgrow.usercenter.model.SysDoctor(); } + + /** + * 检查手机号是注册用户还是正式用户 + * @param userTel + * @return + */ + public ResultBody isRegUser(String userTel) + { + if (StringUtils.isNotBlank(userTel)) { + List<SysUser> users = baseMapper.selectList( + new QueryWrapper<SysUser>().eq("username", userTel) + ); + if (users != null&&users.size()==1) { + SysUser sysUser=users.get(0); + if (sysUser.getCreateUserId()==CommonConstant.CREATE_USER_ID&&sysUser.getCreateUserName().equals(CommonConstant.CREATE_USER_NAME)) { + return ResultBody.ok().data(true); + } + return ResultBody.ok().data(false); + } + else + { + return ResultBody.failed("用户数据有误!"); + } + } + else + { + return ResultBody.failed("必要参数有误!"); + } + } + + @Override + public ResultBody jiaMipython(String password) { + String encode = passwordEncoder.encode(password); + return ResultBody.ok().data(encode); + } } \ No newline at end of file -- Gitblit v1.8.0