浏览代码

医生socket开发

8 年之前
父节点
当前提交
272c0e72da

+ 2 - 1
src/server/models/client/wechat.client.js

@ -94,8 +94,9 @@ class WechatClient extends RedisModel {
    static sendAllRead(doctorId,sessionId){
        let doctorClient = clientCache.findByIdAndType(doctorId,SOCKET_TYPES.DOCTOR);
        if(doctorClient){
            if(doctorClient.sessionId==sessionId)
                doctorClient.socket.emit('message',{ read:"all"});
        }else{
            log.warn(doctorId+" target doctor is not online!");
        }
    }

+ 6 - 0
src/server/models/sessions/sessions.js

@ -652,6 +652,12 @@ class Sessions extends RedisModel {
                                        handler(null, messages);
                                    }).then(function () {
                                        Sessions.updateParticipantLastFetchTime(sessionId, userId, new Date().getTime());
                                        if(session.type != SESSION_TYPES.GROUP){
                                            for(var j in users){
                                                if(users[j]==userId)continue;
                                                WechatClient.sendAllRead(users[j]);
                                            }
                                        }
                                    })
                                })
                                .catch(function (err) {

+ 2 - 2
src/server/repository/mysql/participant.repo.js

@ -23,9 +23,9 @@ class ParticipantRepo {
     * @param handler
     */
    static findAll(sessionId, handler) {
        let sql = "SELECT u.id, u.name, u.sex, u.birthdate, u.avatar, p.participant_role role, false is_patient FROM sessions s, participants p, doctors u " +
        let sql = "SELECT u.id, u.name, u.sex, u.birthdate, u.avatar, p.participant_role role, false is_patient,last_fetch_time FROM sessions s, participants p, doctors u " +
            "WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.id union " +
            "SELECT u.id, u.name, u.sex, u.birthdate, u.avatar, p.participant_role role, true is_patient FROM sessions s, participants p, patients u " +
            "SELECT u.id, u.name, u.sex, u.birthdate, u.avatar, p.participant_role role, true is_patient,last_fetch_time FROM sessions s, participants p, patients u " +
            "WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.id";
        ImDb.execQuery({