Browse Source

错误代码修正

8 years ago
parent
commit
00e340b67e

+ 4 - 1
src/server/models/client/app.client.js

@ -98,7 +98,10 @@ class AppClient extends RedisModel {
                ModelUtil.logError("Get user app status failed", err);
                return;
            }
            if(!userStatus){
                log.warn("userStatus is not online!");
                return;
            }
            let tipMessage = CONTENT_TYPES.typeToDescription(parseInt(message.content_type), "您有一条新消息") || message.content;
            let customData = {
                session_id: '' || message.session_id,

+ 39 - 32
src/server/models/sessions/topics.js

@ -62,7 +62,7 @@ class Topics extends RedisModel {
    createTopic(topicName, topicId, sessionId, users, messages,sessionType) {
        let self = this;
        //MUC模式中sessionID就是患者ID
        let topics_key = RedisModel.makeRedisKey(REDIS_KEYS.Topics, sessionId);
        let topic_key = RedisModel.makeRedisKey(REDIS_KEYS.Topic, topicId);
        let sessions = new Sessions();
        let participants = new Participants();
@ -70,37 +70,44 @@ class Topics extends RedisModel {
        //从数据库中获取sessionId
        let date = new Date();
        var pars = [];
        redis.zaddAsync(topics_key, date.getTime(), topicId).then(function (res) {
            redis.hmsetAsync(topic_key,
                "name", topicName,
                "end_by", "",
                "session_id", sessionId,
                "create_time", date.getTime(),
                "end_time", "",
                "description", messages.description,
                "status", TOPIC_STATUS.NEW)
                .then(function (res) {
                    participants.getMucSessionIdByParticipants(users, function (err, res) {
                        // 已经存在对应的会话更新全科为旁听
                        if (res && res.length > 0) {
                            for (var j in users) {
                                participants.updateUser(sessionId, j, users[j]);
                            }
                            callbegin();
                        } else {
                            // 不存在创建SESSION
                            for (var j in users) {
                                pars.push(j + ":" + users[j]);
                            }
                            sessions.createSession(sessionId, messages.senderName, sessionType, pars, function (res) {
                                if (res) {
                                    callbegin();
                                }
                            });
                        }
                    })
                })
        }).catch();
        participants.getMucSessionIdByParticipants(users, function (err, res) {
            if(!err){
                if(res&&res.length>0){
                    sessionId = res[0].id;
                }
                let topics_key = RedisModel.makeRedisKey(REDIS_KEYS.Topics, sessionId);
                redis.zaddAsync(topics_key, date.getTime(), topicId).then(function (res) {
                    redis.hmsetAsync(topic_key,
                        "name", topicName,
                        "end_by", "",
                        "session_id", sessionId,
                        "create_time", date.getTime(),
                        "end_time", "",
                        "description", messages.description,
                        "status", TOPIC_STATUS.NEW)
                        .then(function (res) {
                        })
                }).catch();
            }
            // 已经存在对应的会话更新全科为旁听
            if (res && res.length > 0) {
                for (var j in users) {
                    participants.updateUser(sessionId, j, users[j]);
                }
                callbegin();
            } else {
                // 不存在创建SESSION
                for (var j in users) {
                    pars.push(j + ":" + users[j]);
                }
                sessions.createSession(sessionId, messages.senderName, sessionType, pars, function (res) {
                    if (res) {
                        callbegin();
                    }
                });
            }
        })
        /**
         * 开始消息发送

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

@ -106,8 +106,8 @@ class ParticipantRepo {
                userTemp.push(j);
            }
        }
        let sql ="select s.* from "+DB_TABLES.Participants +" p1,"+DB_TABLES.Participants+ " p2,"+
                DB_TABLES.Sessions+" s  where p1.session_id =  s.id and p2.session_id = s.id  and s.type =? " +
        let sql ="select DISTINCT s.* from "+DB_TABLES.Participants +" p1,"+DB_TABLES.Participants+ " p2,"+
                DB_TABLES.Sessions+" s  where p1.session_id =  s.id  and p2.session_id = s.id  and s.type =? " +
                "and ((p1.participant_id =? and p2.participant_id = ?) or (p1.participant_id =? and p2.participant_id = ?))"
        ImDb.execQuery({
            "sql": sql,