From e4ac82fd428335020eb6522fc642b4fd91eb86f0 Mon Sep 17 00:00:00 2001 From: houruijun <411269194@kidgrow.com> Date: Thu, 20 Aug 2020 16:27:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml | 3 kidgrow-config/src/main/resources/application.properties | 12 +++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java | 101 +++++++++++++++++++-------------- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml | 2 kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml | 5 + 5 files changed, 77 insertions(+), 46 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml index 48c10b4..04aedb1 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml @@ -28,7 +28,7 @@ </dependency> <dependency> <groupId>com.kidgrow</groupId> - <artifactId>kidgrow-plugin-sms-api</artifactId> + <artifactId>kidgrow-filecenter-api</artifactId> </dependency> <dependency> <groupId>com.kidgrow</groupId> 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 8a596ea..7598b03 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 @@ -91,8 +91,8 @@ if (sysUser != null) { vo.setUsername(sysUser.getUsername()); } - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("user_id",e.getUserId()); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", e.getUserId()); List<SysRoleUser> roleUserList = sysUserRoleMapper.selectList(queryWrapper); List<Long> collect = roleUserList.stream().map(roleUser -> roleUser.getRoleId()).collect(Collectors.toList()); vo.setRoles(collect); @@ -203,10 +203,10 @@ if (sysDoctor.getId() == null) { Long sysUserId = null; //保存部门信息 - ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,null); - if(resultBody.getCode()==0){ - sysUserId=(Long)resultBody.getData(); - }else { + ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, null); + if (resultBody.getCode() == 0) { + sysUserId = (Long) resultBody.getData(); + } else { return resultBody; } //保存doctor的数据 @@ -223,11 +223,27 @@ //更新 SysDoctor getOne = baseMapper.selectById(sysDoctor.getId()); if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() != 2) { - /** - * 管理员只有一个 - */ - if (isSupperRole(sysDoctor)) { - return ResultBody.failed("该部门已经有管理员"); + QueryWrapper queryrole = new QueryWrapper(); + queryrole.eq("user_id", getOne.getUserId()); + List<SysRoleUser> list = sysUserRoleMapper.selectList(queryrole); + //如果是本来是管理员的话,不用走判读管理员的方法 + if (!list.isEmpty()) { + List<Long> collect = list.stream().map(e -> e.getRoleId()).collect(Collectors.toList()); + if (!collect.contains(CommonConstant.HOSPITAL_ADMIN_ID)) { + /** + * 管理员只有一个 + */ + if (isSupperRole(sysDoctor)) { + return ResultBody.failed("该部门已经有管理员"); + } + } + } else { + /** + * 管理员只有一个 + */ + if (isSupperRole(sysDoctor)) { + return ResultBody.failed("该部门已经有管理员"); + } } Map<String, Object> columnMap = new HashMap<>(); columnMap.put("user_id", sysDoctor.getUserId()); @@ -253,8 +269,8 @@ } redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg); //角色更换 - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("user_id",getOne.getUserId()); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", getOne.getUserId()); int delete = sysUserRoleMapper.delete(queryWrapper); sysDoctor.getRoles().forEach(e -> { SysRoleUser sysRoleUser = new SysRoleUser(); @@ -269,11 +285,11 @@ if (isSupperRole(sysDoctor)) { return ResultBody.failed("该部门已经有管理员"); } - ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment,getOne); + ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, getOne); Long sysUserId = null; - if(resultBody.getCode()==0){ - sysUserId=(Long)resultBody.getData(); - }else { + if (resultBody.getCode() == 0) { + sysUserId = (Long) resultBody.getData(); + } else { return resultBody; } sysDoctor.setUserId(sysUserId); @@ -285,10 +301,10 @@ boolean b = sysUserOrgService.removeByMap(columnMap); SysUser byId = iSysUserService.getById(getOne.getUserId()); //将角色删除 - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("user_id",getOne.getUserId()); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("user_id", getOne.getUserId()); int delete = sysUserRoleMapper.delete(queryWrapper); - if(byId!=null){ + if (byId != null) { byId.setDel(true); boolean b1 = iSysUserService.updateById(byId); } @@ -307,8 +323,9 @@ } return ResultBody.ok(); } + //是否可以使是超管角色 - public Boolean isSupperRole(SysDoctorDto sysDoctor){ + public Boolean isSupperRole(SysDoctorDto sysDoctor) { Boolean flag = false; /** * 限制管理员只有一个 @@ -327,7 +344,7 @@ wrapper.in("user_id", collect); List<SysRoleUser> list = this.sysUserRoleMapper.selectList(wrapper); for (SysRoleUser sysRoleUser : list) { - if (sysRoleUser.getRoleId().equals( CommonConstant.HOSPITAL_ADMIN_ID)) { + if (sysRoleUser.getRoleId().equals(CommonConstant.HOSPITAL_ADMIN_ID)) { flag = true; } } @@ -337,7 +354,7 @@ } //保存的分接口 - public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment,SysDoctor getOne) { + public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment, SysDoctor getOne) { Long sysUserId = null; /** * 管理员只有一个 @@ -346,7 +363,7 @@ 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())); @@ -362,29 +379,29 @@ sysUser.setCreateUserName(byId.getUsername()); } //做判断是否注册过手机号; - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("username",sysDoctor.getDoctorTel()); - queryWrapper.eq("enabled",1); - queryWrapper.eq("is_del",0); + 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 (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); + 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 (sysUsers != null && !sysUsers.isEmpty()) { + sysUser.setId(sysUsers.get(sysUsers.size() - 1).getId()); } } - if(sysUser.getId()!=null){ + if (sysUser.getId() != null) { //更新 sysUser.setDel(false); iSysUserService.updateById(sysUser); - }else { + } else { //保存 iSysUserService.save(sysUser); } @@ -431,9 +448,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); + 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("当前操作用户不是管理员"); 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 6cefc57..a2c36bd 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 @@ -176,6 +176,7 @@ </select> <select id="hospitalDoctorListAndDel" parameterType="long" resultType="com.kidgrow.usercenter.vo.HospitalDoctorListVo"> SELECT + distinct dc.create_time, dc.department_name, dc.hospital_name, @@ -190,7 +191,7 @@ us.username, us.default_auth, us.enabled, - roleuser.role_id, +-- roleuser.role_id, dc.is_del FROM sys_doctor dc diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml b/kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml index 0b61cbf..778c34d 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml @@ -116,6 +116,11 @@ <artifactId>spring-cloud-starter-openfeign</artifactId> <!-- <optional>true</optional>--> </dependency> + <dependency> + <groupId>io.github.openfeign</groupId> + <artifactId>feign-okhttp</artifactId> + <version>10.1.0</version> + </dependency> <!-- hystrix断路器 --> <dependency> <groupId>org.springframework.cloud</groupId> diff --git a/kidgrow-config/src/main/resources/application.properties b/kidgrow-config/src/main/resources/application.properties index 4038b2e..630270e 100644 --- a/kidgrow-config/src/main/resources/application.properties +++ b/kidgrow-config/src/main/resources/application.properties @@ -16,19 +16,27 @@ ##### feign\u914D\u7F6E feign.sentinel.enabled=true -feign.hystrix.enabled=false +#\u542F\u52A8\u7194\u65AD\u673A\u5236 +feign.hystrix.enabled=true +#\u542F\u7528OkHttp \u66FF\u6362 URLConnection feign.okhttp.enabled=true +#\u542F\u7528\u66FF\u6362JDK\u539F\u751FURLConnection feign.httpclient.enabled=false feign.httpclient.max-connections=1000 feign.httpclient.max-connections-per-route=100 feign.client.config.feignName.connectTimeout=30000 feign.client.config.feignName.readTimeout=30000 +feign.client.config.default.connect-timeout=20000 +feign.client.config.default.read-timeout=20000 ## \u5F00\u542FFeign\u8BF7\u6C42\u54CD\u5E94\u538B\u7F29 feign.compression.request.enabled=true feign.compression.response.enabled=true ## \u914D\u7F6E\u538B\u7F29\u6587\u6863\u7C7B\u578B\u53CA\u6700\u5C0F\u538B\u7F29\u7684\u6587\u6863\u5927\u5C0F feign.compression.request.mime-types=text/xml,application/xml,application/json -feign.compression.request.min-request-size=2048 +feign.compression.request.min-request-size=2048 +# hystrix.command.default.execution.timeout.enabled: false +#\u8D85\u65F6\u65F6\u957F +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 10000 ##### Redis\u914D\u7F6E # \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09 -- Gitblit v1.8.0