forked from kidgrow-microservices-platform

houruijun
2020-08-10 6c203bfe05665157f043ca37023fe34b1c994668
Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev
8 files modified
279 ■■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java 3 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 49 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java 2 ●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java 4 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 4 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html 213 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-biz/src/main/java/com/kidgrow/filecenter/service/impl/AbstractIFileService.java
@@ -233,7 +233,7 @@
            byte[] data = new byte[1024];
            try {
                // 创建URL
                URL url = new URL("http://192.168.2.25:8008/123/J-1.jpg");
                URL url = new URL(urlDiZhi);
                // 创建链接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
@@ -1,5 +1,7 @@
package com.kidgrow.usercenter.model;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -118,6 +120,7 @@
     * 医生类型 0H+C端都可用   1H端   2C端 默认2
     */
    @NotNull(message = "医生类型不能为空")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer doctorType;
    /**
     * 启用禁用状态,1启用,0停用
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
@@ -26,7 +26,7 @@
     * @param params
     * @return
     */
    PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user);
    PageResult<SysDoctorDto> findList(Map<String, Object> params, SysUser user);
    /**
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -73,14 +73,14 @@
//    private final String HOSPITAL_ADMIN="hospital_admin";
    @Override
    public PageResult<SysDoctorVo> findList(Map<String, Object> params, SysUser user) {
    public PageResult<SysDoctorDto> findList(Map<String, Object> params, SysUser user) {
        Page<SysDoctor> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        //添加权限
        SysRoleOrganizationServiceImpl.getRoleOrg(params, user);
        List<SysDoctor> list = baseMapper.findList(page, params);
        List<SysDoctorVo> listvo = new ArrayList<>();
        List<SysDoctorDto> listvo = new ArrayList<>();
        list.forEach(e -> {
            SysDoctorVo vo = new SysDoctorVo();
            SysDoctorDto vo = new SysDoctorDto();
            BeanCopier beanCopier = BeanCopier.create(SysDoctor.class, SysDoctorVo.class, false);
            beanCopier.copy(e, vo, null);
            //查询用户的登录账号;
@@ -89,10 +89,15 @@
                if (sysUser != null) {
                    vo.setUsername(sysUser.getUsername());
                }
                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);
            }
            listvo.add(vo);
        });
        return PageResult.<SysDoctorVo>builder().data(listvo).code(0).count(page.getTotal()).build();
        return PageResult.<SysDoctorDto>builder().data(listvo).code(0).count(page.getTotal()).build();
    }
    /**
@@ -183,12 +188,7 @@
                    return ResultBody.failed("选择一个角色");
                }
            }
            /**
             * 管理员只有一个
             */
            if (isSupperRole(sysDoctor)) {
                return ResultBody.failed("该部门已经有管理员");
            }
            /**
             * 限制只有创建医生的个数
             *
@@ -201,7 +201,12 @@
            if (sysDoctor.getId() == null) {
                Long sysUserId = null;
                //保存部门信息
                sysUserId = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                if(resultBody.getCode()==0){
                    sysUserId=(Long)resultBody.getData();
                }else {
                    return resultBody;
                }
                //保存doctor的数据
                SysDoctor sysDoc = new SysDoctor();
                BeanCopier beanCopier = BeanCopier.create(SysDoctorDto.class, SysDoctor.class, false);
@@ -246,7 +251,13 @@
                    if (isSupperRole(sysDoctor)) {
                        return ResultBody.failed("该部门已经有管理员");
                    }
                    Long sysUserId = saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                    ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment);
                    Long sysUserId = null;
                    if(resultBody.getCode()==0){
                        sysUserId=(Long)resultBody.getData();
                    }else {
                        return resultBody;
                    }
                    sysDoctor.setUserId(sysUserId);
                    baseMapper.updateById(sysDoctor);
                } else if (getOne.getDoctorType() != 2 && sysDoctor.getDoctorType() == 2) {
@@ -260,8 +271,8 @@
                    queryWrapper.eq("user_id",getOne.getUserId());
                    int delete = sysUserRoleMapper.delete(queryWrapper);
                    if(byId!=null){
//                        iSysUserService.delUser(byId.getId());
                        boolean userdelete = iSysUserService.removeById(byId.getId());
                        byId.setDel(true);
                        boolean b1 = iSysUserService.updateById(byId);
                    }
                    redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
                    sysDoctor.setUserId(null);
@@ -303,8 +314,14 @@
    }
    //保存的分接口
    public Long saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment) {
    public ResultBody saveFenjiekou(SysDoctorDto sysDoctor, String id, SysHospital sysHospital, SysDepartment sysDepartment) {
        Long sysUserId = null;
        /**
         * 管理员只有一个
         */
        if (isSupperRole(sysDoctor)) {
            return ResultBody.failed("该部门已经有管理员");
        }
        if (sysDoctor.getDoctorType() != 2) {
            //保存
            SysUser sysUser = new SysUser();
@@ -347,7 +364,7 @@
            //保存到Redis
            boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg);
        }
        return sysUserId;
        return ResultBody.ok().data(sysUserId);
    }
    @Override
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
@@ -52,7 +52,7 @@
            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
    })
    @GetMapping
    public PageResult<SysDoctorVo> list(@RequestParam Map<String, Object> params,@LoginUser  SysUser user) {
    public PageResult<SysDoctorDto> list(@RequestParam Map<String, Object> params,@LoginUser  SysUser user) {
        if(params.size()==0){
            params.put("page",1);
            params.put("limit",10);
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysOrganization.java
@@ -57,6 +57,10 @@
     */
    private Boolean isDel;
    /**
     * 是否删除,1删除,0未删除
     */
    private String createUserOrgCode;
    /**
     * 状态,1启用,0停用
     */
    private Boolean enabled;
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -36,8 +36,11 @@
<script type="text/html" id="doctor-table-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看详情</a>
    {{# if (d.doctorType !=2){}}
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="users-edit"
        lay-event="reset">重置密码</button>
    {{#}}}
    <button class="layui-btn layui-btn-primary layui-btn-xs permissions" permissions="sysdoctor-edit"
        lay-event="edit">修改</button>
    <button class="layui-btn layui-btn-xs permissions" permissions="sysdoctor-del" lay-event="del">删除</button>
@@ -510,6 +513,7 @@
                            }
                            form.val('app-form', data);
                            $('#app-form').find('input,select,textarea').prop('readonly', true);
                            $('#app-form').find('select').prop('disabled', true);
                            $('#app-form').find('input[type="radio"]').prop('disabled', true);
                            $('#app-form').attr('method', 'POST');
                            form.render();
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html
@@ -54,10 +54,10 @@
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">角色</label>
                <label class="layui-form-label">Email</label>
                <div class="layui-input-block" style="width: 150px;">
                    <select name="roleId" xm-select="roleId" lay-verify="required">
                    </select>
                    <input name="doctorEmail" type="text" class="layui-input" maxlength="20" lay-verify="required|email"
                        required />
                </div>
            </div>
        </div>
@@ -77,11 +77,11 @@
                    <input name="doctorOtherLink" type="text" class="layui-input" maxlength="20" />
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">Email</label>
            <div class="layui-inline" id="roleId_div">
                <label class="layui-form-label">角色</label>
                <div class="layui-input-block" style="width: 150px;">
                    <input name="doctorEmail" type="text" class="layui-input" maxlength="20" lay-verify="required|email"
                        required />
                    <select name="roleId" xm-select="roleId">
                    </select>
                </div>
            </div>
        </div>
@@ -129,27 +129,24 @@
            </div>
        </div>
    </div>
    <div style="display:flex">
    <div style="display:flex" class="account">
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">登录帐号</label>
                <div class="layui-input-block" style="width: 150px;">
                    <input name="username" id="username" readonly type="text" class="layui-input" maxlength="20"
                        lay-verify="required" required />
                    <input name="username" id="username" readonly type="text" class="layui-input" maxlength="20" />
                </div>
            </div>
            <div class="layui-inline" id="password_div">
                <label class="layui-form-label">登录密码</label>
                <div class="layui-input-block" style="width: 150px;">
                    <input name="password" type="password" id="password"  class="layui-input" maxlength="20"
                        lay-verify="required|phone" required />
                    <input name="password" type="password" id="password" class="layui-input" maxlength="20" />
                </div> 
            </div> 
            <div class="layui-inline" id="passwordSure_div">
                <label class="layui-form-label">确认密码</label>
                <div class="layui-input-block" style="width: 150px;">
                    <input name="passwordSure" type="password" id="passwordSure" lay-verify="required|confirmPass" class="layui-input"
                        maxlength="20" />
                    <input name="passwordSure" type="password" id="passwordSure" class="layui-input" maxlength="20" />
                </div>
            </div>
@@ -215,9 +212,10 @@
        var $ = layui.jquery;
        //医生管理员
        var guanliyuan_role = undefined;
        //获取角色
        var get_role = function () {
        var get_role = function (flag) {
            admin.req('api-user/findByMap?tenant_id=hospital', {}, function (data) {
                layer.closeAll('loading');
                if (0 == data.code) {
@@ -229,22 +227,16 @@
                            value: data.data[i].id
                        });
                    }
                    guanliyuan_role = data.data[0].id;
                    formSelects.data('roleId', 'local', {
                        arr: roleSelectData
                    });
                    // 回显user数据
                    var user = admin.getTempData('t_user');
                    $('#user-form').attr('method', 'POST');
                    if (user) {
                        form.val('user-form', user);
                        $('#user-form').attr('method', 'POST');
                        var rds = new Array();
                        for (var i = 0; i < user.roles.length; i++) {
                            rds.push(user.roles[i].id);
                    var doctor = admin.getTempData('t_doctor');
                    if (doctor.roles) {
                        formSelects.value('roleId', doctor.roles);
                        }
                        formSelects.value('roleId', rds);
                    }
                } else {
                    layer.msg('获取角色失败', {
                        icon: 2,
@@ -252,6 +244,16 @@
                    });
                }
            }, 'GET');
        }
        /*
        * 验证手机号码
        */
        function validatorTel(content) {
            // 正则验证格式
            eval("var reg = /^1[34578]\\d{9}$/;");
            var flag=RegExp(reg).test(content)
            return flag;
        }
        //判断用户名是否被使用
        var username_is_usered = function (username_id) {
@@ -262,7 +264,7 @@
                if (data.code == 0) {
                    if (data.data > 0) {
                        $("#" + username_id).val("")
                        layer.msg("该登录帐号已经使用", {
                        layer.msg("该手机号已经使用", {
                            icon: 2,
                            time: 2000
                        })
@@ -275,84 +277,36 @@
                }
            }, 'post');
        }
        // // 显示编辑弹窗
        // var showEditModel = function (data, flag) {
        //     var title = "";
        //     if (flag == 1) {
        //         title = "查看详情";
        //     } else if (flag == 2) {
        //         title = "新增";
        //     } else if (flag == 3) {
        //         title = "编辑";
        //     }
        //     layer.open({
        //         type: 1,
        //         title: title,
        //         area: '650px',
        //         offset: '120px',
        //         content: $('#app-model').html(),
        //         success: function () {
        //             $('#app-form')[0].reset();
        //             $('#app-form').attr('method', 'POST');
        //             //将医院的数据保存到下拉表
        //             let selected = false;
        //             //将科室的数据绑定到里面
        //             if (flag != 2) {
        //                 getdepartment(data.hospitalId);
        //             }
        //             if (data) {
        //                 if (data.isAnswer) {
        //                     $("#isAnswer-shi").attr('checked', true);
        //                 } else {
        //                     $("#isAnswer-fou").attr('checked', true);
        //                 }
        //                 if (data.isSigning) {
        //                     $("#isSigning-shi").attr('checked', true);
        //                 } else {
        //                     $("#isSigning-fou").attr('checked', true);
        //                 }
        //                 if (data.isTop) {
        //                     $("#isTop-shi").attr('checked', true);
        //                 } else {
        //                     $("#isTop-fou").attr('checked', true);
        //                 }
        //                 if (data.doctorState) {
        //                     $("#doctorState-shi").attr('checked', true);
        //                 } else {
        //                     $("#doctorState-fou").attr('checked', true);
        //                 }
        //                 form.val('app-form', data);
        //                 if (flag == 1) {
        //                     //将确定隐藏  doctorState-shi
        //                     $("#sure").hide();
        //                     $("#phonto").hide();
        //                     //将所有的设置为只读
        //                     $('#app-form').find('input').attr('readonly', true);
        //                     $('#app-form').find('select,input[type="radio"]').attr('disabled',
        //                         true);
        //                 } else {
        //                     $("#sure").show();
        //                     $('#app-form').attr('method', 'POST');
        //                 }
        //             }
        //         }
        //     });
        // };
        // 表单提交事件
        form.on('submit(user-form-submit)', function (data) {
            layer.load(2);
            debugger
            data.field.hospitalId = $("#hospitalId").val();
            if (data.field.roleId != null && data.field.roleId != "") {
                data.field.roles = data.field.roleId.split(',');
            }
            if ($("#doctorType").val() == 2) {
                //将关于密码的的去掉
                data.field.username = "";
                data.field.password = "";
                data.field.passwordSure = "";
            } else {
                if (data.field.roles.length == 0) {
                    layer.msg("请选择角色");
                    return
                }
                if (data.field.roles.includes(guanliyuan_role)) {
                    data.field.isAdminUser = true;
                } else {
                    data.field.isAdminUser = false;
                }
            }
            // guanliyuan_role
            // data.field.hospitalId = ""+data.field.hospitalId;
            data.field.roleId = null;
            admin.req('api-user/sysdoctor', JSON.stringify(data.field), function (data) {
                layer.closeAll('loading');
                if (data.code == 0) {
@@ -413,7 +367,7 @@
        //职称添加数据
        var getZhiCheng = function () {
            admin.req('api-user/sysdictionaries/findAll', JSON.stringify({
                dictionariesClassId: "DOCTOR_RANK"
                dictionariesClassId: "1248150699682988034"
            }), function (data) {
                layer.closeAll('loading');
                if (0 === data.code) {
@@ -497,16 +451,39 @@
                    layer.closeAll('loading');
                }
            });
            //将密码隐藏
            $(".account").hide();
            //将密码置空
            $("#password").val("");
            form.render();
            $("#username").blur(function () {
                username_is_usered("username");
            })
            //医生类型的选择事件
            // form.on('select(doctorType)', function (data) {
            //     // console.log("eeeeeeeeeeeeeeeee");
            //     // var doctor = admin.getTempData('t_doctor');
            //     // debugger
            //     // console.log("doctordoctordoctordoctordoctor",doctor);
            //     var doctorType = $('#doctorType').val();
            //     //将密码项取消
            //     if (doctorType == 2) {
            //         $(".account").hide();
            //     } else {
            //         $(".account").show();
            //     }
            // })
        };
            $("#doctorTel-add").blur(function () {
                $("#username").val($("#doctorTel-add").val())
                var doctorTel_add = $("#doctorTel-add").val();
                debugger
                if (!validatorTel(doctorTel_add)) {
                    layer.msg("请输入正确的手机号");
                }
                username_is_usered("username");
            })
        };
        //自动完成-医院名称
        autocomplete.render({
            elem: $('#hospitalName')[0],
@@ -521,6 +498,33 @@
                getdepartment(resp.id);
            }
        });
        //医生类型的选择事件
        form.on('select(doctorType)', function (data) {
            var doctor = admin.getTempData('t_doctor');
            var doctorType = $('#doctorType').val();
            if (doctor.doctorType == 2 && doctorType == 2) {
                $(".account").hide();
                $("#roleId_div").hide()
            } else if (doctor.doctorType == 2 && doctorType != 2) {
                $(".account").show();
                $("#password_div").show();
                $("#passwordSure_div").show();
                $("#roleId_div").show()
                if (doctor.username == null) {
                    $("#username").val(doctor.doctorTel);
                    form.render();
                }
            } else if (doctor.doctorType != 2 && doctorType != 2) {
                $(".account").show();
                $("#password_div").hide();
                $("#passwordSure_div").hide();
                $("#roleId_div").show()
            } else if (doctor.doctorType != 2 && doctorType == 2) {
                $(".account").hide();
                $("#roleId_div").hide()
            }
        })
        //数据的回显
        var doctor = admin.getTempData('t_doctor');
        $('#app-form-add').attr('method', 'POST');
@@ -532,17 +536,28 @@
            //获取销售代表
            getXiaoShouDaiBiao();
            //获取角色
            get_role();
            get_role(doctor.isAdminUser);
            form.val('app-form-add', doctor);
            $("#hospitalId").val(doctor.hospitalId);
            $("#password_div").hide();
            $("#passwordSure_div").hide();
            //将密码项取消
            if (doctor.doctorType == 2) {
                $(".account").hide();
                $("#roleId_div").hide()
            } else {
                $(".account").show();
                $("#roleId_div").show()
            }
            $('#demo2').append('<img src="' + doctor.doctorLogo +
                            '" width="50px" height="50px" alt="' + "name" +
                            '" class="layui-upload-img">')
            $("#password").removeAttr("lay-verify")
            $("#password").removeAttr("required")
            $("#passwordSure").removeAttr("lay-verify")
            form.render();
        } else {
            loadEditData();