forked from kidgrow-microservices-platform

houruijun
2020-08-20 e4ac82fd428335020eb6522fc642b4fd91eb86f0
Merge remote-tracking branch 'origin/dev' into dev
5 files modified
123 ■■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/pom.xml 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 101 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml 3 ●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/pom.xml 5 ●●●●● patch | view | raw | blame | history
kidgrow-config/src/main/resources/application.properties 12 ●●●● patch | view | raw | blame | history
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>
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("当前操作用户不是管理员");
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
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>
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