From 8a0af6adb095fca6d13712786255000caff76e62 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Thu, 13 Aug 2020 19:11:24 +0800 Subject: [PATCH] 修改h端 获取用户列表的方法和删除的方法 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 67 ++++++++++++++++++++++++++++++--- 1 files changed, 60 insertions(+), 7 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 a380e6e..4dbfd44 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 @@ -52,6 +52,8 @@ @Autowired private ISysUserService iSysUserService; @Autowired + private SysUserMapper sysUserMapper; + @Autowired private PasswordEncoder passwordEncoder; @Autowired private ISysUserOrgService sysUserOrgService; @@ -145,6 +147,7 @@ * 2 医答医生 * 3 C端医生 * 4 H端医生 + * 5 待审核医生 * @return */ @Override @@ -200,7 +203,7 @@ if (sysDoctor.getId() == null) { Long sysUserId = null; //保存部门信息 - ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment); + ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,null); if(resultBody.getCode()==0){ sysUserId=(Long)resultBody.getData(); }else { @@ -220,6 +223,12 @@ //更新 SysDoctor getOne = baseMapper.selectById(sysDoctor.getId()); if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) { + /** + * 管理员只有一个 + */ + if (isSupperRole(sysDoctor)) { + return ResultBody.failed("该部门已经有管理员"); + } Map<String, Object> columnMap = new HashMap<>(); columnMap.put("user_id", sysDoctor.getUserId()); boolean b = sysUserOrgService.removeByMap(columnMap); @@ -243,6 +252,16 @@ redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString()); } redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg); + //角色更换 + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.eq("user_id",getOne.getUserId()); + int delete = sysUserRoleMapper.delete(queryWrapper); + sysDoctor.getRoles().forEach(e -> { + SysRoleUser sysRoleUser = new SysRoleUser(); + sysRoleUser.setRoleId(e); + sysRoleUser.setUserId(getOne.getUserId()); + int insert = sysUserRoleMapper.insert(sysRoleUser); + }); } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() != 2) { /** * 管理员只有一个 @@ -250,7 +269,7 @@ if (isSupperRole(sysDoctor)) { return ResultBody.failed("该部门已经有管理员"); } - ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment); + ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,getOne); Long sysUserId = null; if(resultBody.getCode()==0){ sysUserId=(Long)resultBody.getData(); @@ -276,6 +295,11 @@ redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString()); sysDoctor.setUserId(null); baseMapper.updateById(sysDoctor); + //将用户删除 + SysUser sysUser = new SysUser(); + sysUser.setId(getOne.getUserId()); + sysUser.setDel(true); + sysUserMapper.deleteById(sysUser); } else if (getOne.getDoctorType() == 2 && sysDoctor.getDoctorType() == 2) { baseMapper.updateById(sysDoctor); } @@ -303,7 +327,7 @@ wrapper.in("user_id", collect); List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper); for (SysRoleUser sysRoleUser : list) { - if (sysRoleUser.getRoleId() == CommonConstant.HOSPITAL_ADMIN_ID) { + if (sysRoleUser.getRoleId().equals( CommonConstant.HOSPITAL_ADMIN_ID)) { flag = true; } } @@ -313,7 +337,7 @@ } //保存的分接口 - public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment) { + public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment,SysDoctor getOne) { Long sysUserId = null; /** * 管理员只有一个 @@ -322,11 +346,11 @@ return ResultBody.failed("该部门已经有管理员"); } if (sysDoctor.getDoctorType() != 2) { + SysUser sysUser=new SysUser(); //保存 - SysUser sysUser = new SysUser(); sysUser.setUsername(sysDoctor.getUsername()); sysUser.setPassword(passwordEncoder.encode(sysDoctor.getPassword())); - sysUser.setNickname(sysDoctor.getHospitalName()); + sysUser.setNickname(sysDoctor.getDoctorName()); sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo()); sysUser.setMobile(sysDoctor.getDoctorTel()); sysUser.setType(UserType.DOCTOR.name()); @@ -337,7 +361,33 @@ sysUser.setCreateUserId(byId.getId()); sysUser.setCreateUserName(byId.getUsername()); } - iSysUserService.save(sysUser); + //做判断是否注册过手机号; + QueryWrapper queryWrapper=new QueryWrapper(); + queryWrapper.eq("username",sysDoctor.getDoctorTel()); + queryWrapper.eq("enabled",1); + queryWrapper.eq("is_del",0); + Integer integer = sysUserMapper.selectCount(queryWrapper); + if(integer>0){ + return ResultBody.failed("该手机号已经注册"); + } + if (getOne!=null&&getOne.getUserId()!=null) { + Map<String,Object> map=new HashMap<>(); + map.put("id",getOne.getUserId()); + map.put("enabled",1); + map.put("is_del",1); + List<SysUser> sysUsers = sysUserMapper.selectByMap(map); + if(sysUsers!=null&&!sysUsers.isEmpty()){ + sysUser.setId(sysUsers.get(sysUsers.size()-1).getId()); + } + } + if(sysUser.getId()!=null){ + //更新 + sysUser.setDel(false); + iSysUserService.updateById(sysUser); + }else { + //保存 + iSysUserService.save(sysUser); + } sysUserId = sysUser.getId(); //保存一个角色 sysDoctor.getRoles().forEach(e -> { @@ -381,6 +431,9 @@ if (id > 0 && adminId > 0) { Map<String, Object> map = new HashMap<>(); map.put("user_id", adminId); + map.put("is_admin_user",1); + map.put("is_del",0); + map.put("enabled",1); List<SysDoctor> sysDoctors = baseMapper.selectByMap(map); if (sysDoctors == null || sysDoctors.size() <= 0) { return ResultBody.failed("当前操作用户不是管理员"); -- Gitblit v1.8.0