Browse Source

Merge branch 'im-internet-hospital' of huangwenjie/im.doctor into im-internet-hospital

huangwenjie 5 years ago
parent
commit
7a1140338c

+ 3 - 3
src/server/models/client/wechat.client.js

@ -453,7 +453,7 @@ class WechatClient extends RedisModel {
        let pc_patientClient = clientCache.findByIdAndType("pcpatient_system_"+targetUserId,SOCKET_TYPES.PC_PATIENT_SYSTEM);
        let pc_patientClient = clientCache.findByIdAndType("pcpatient_system_"+targetUserId,SOCKET_TYPES.PC_PATIENT_SYSTEM);
        if(!patientClient&&!pc_patientClient){
        if(!patientClient&&!pc_patientClient){
            log.warn("target  patient systemt is not online!");
            log.warn("target  patient systemt is not online!");
            return;
            // return;
        }
        }
        var patientcount = 0;
        var patientcount = 0;
@ -490,7 +490,7 @@ class WechatClient extends RedisModel {
                name: message.sender_name,
                name: message.sender_name,
            });
            });
        }else{
        }else{
            count++;
            patientcount++;
        }
        }
        if(patientcount==2){
        if(patientcount==2){
@ -502,7 +502,7 @@ class WechatClient extends RedisModel {
        let pc_doctorClient = clientCache.findByIdAndType("pc_system_"+targetUserId,SOCKET_TYPES.PC_DOCTOR_SYSTEM);
        let pc_doctorClient = clientCache.findByIdAndType("pc_system_"+targetUserId,SOCKET_TYPES.PC_DOCTOR_SYSTEM);
        if(!doctorClient&&!pc_doctorClient){
        if(!doctorClient&&!pc_doctorClient){
            log.warn("target doctor system is not online!");
            log.warn("target doctor system is not online!");
            return;
            // return;
        }
        }
        var doctorcount = 0;
        var doctorcount = 0;

+ 34 - 14
src/server/repository/mysql/session.repo.js

@ -238,20 +238,40 @@ class SessionRepo {
                page = (parseInt(page)-1) * parseInt(pagesize);
                page = (parseInt(page)-1) * parseInt(pagesize);
            }
            }
        }
        }
        let sessionSQL ="";
        let sql ="";
        //sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? and participant_role ="+PARTICIPANT_ROLES.HOST+" group by w.session_id";
        //中山医院无法查询到所有会话记录,暂时取消participant_role的判断条件 20190619
        sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? group by w.session_id";
        sessionSQL =  "select * from "
            + DB_TABLES.Sessions + " s where s.id in(" + sql + ") and s.business_type = ? and s.type!=0 limit "+page+","+pagesize;
        ImDb.execQuery({
            "sql": sessionSQL,
            "args": [userId, businessType],
            "handler": handler || function (err, res) {
                if(err) log.error(err);
            }
        });
        // MDT 不执行 businessType 的过滤查询 20191028
        if(businessType){
            let sessionSQL ="";
            let sql ="";
            //sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? and participant_role ="+PARTICIPANT_ROLES.HOST+" group by w.session_id";
            //中山医院无法查询到所有会话记录,暂时取消participant_role的判断条件 20190619
            sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? group by w.session_id";
            sessionSQL =  "select * from "
                + DB_TABLES.Sessions + " s where s.id in(" + sql + ") and s.business_type = ? and s.type!=0 limit "+page+","+pagesize;
            ImDb.execQuery({
                "sql": sessionSQL,
                "args": [userId, businessType],
                "handler": handler || function (err, res) {
                    if(err) log.error(err);
                }
            });
        }else{
            let sessionSQL ="";
            let sql ="";
            //sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? and participant_role ="+PARTICIPANT_ROLES.HOST+" group by w.session_id";
            //中山医院无法查询到所有会话记录,暂时取消participant_role的判断条件 20190619
            sql = "select session_id from " + DB_TABLES.Participants + " w where w.participant_id = ? group by w.session_id";
            sessionSQL =  "select * from "
                + DB_TABLES.Sessions + " s where s.id in(" + sql + ") and s.type!=0 limit "+page+","+pagesize;
            ImDb.execQuery({
                "sql": sessionSQL,
                "args": [userId],
                "handler": handler || function (err, res) {
                    if(err) log.error(err);
                }
            });
        }
    }
    }