Kaynağa Gözat

businessType错误赋值问题处理

8 yıl önce
ebeveyn
işleme
82c1f674f1
1 değiştirilmiş dosya ile 28 ekleme ve 21 silme
  1. 28 21
      src/server/models/sessions/sessions.js

+ 28 - 21
src/server/models/sessions/sessions.js

@ -75,7 +75,7 @@ class Sessions extends RedisModel {
                if (isPatient) {
                    businessType = SESSION_BUSINESS_TYPE.PATIENT
                }
                if (length - 1 == j || businessType == SESSION_BUSINESS_TYPE.PATIENT) {
                if (length - 1 == j) {
                    callCreate(sessionId, businessType);
                }
            })
@ -203,33 +203,32 @@ class Sessions extends RedisModel {
                            let session = res[0];
                            let role = res[1];
                            let lastFetchTime = res[2];
                            if (businessType && businessType != session.business_type) {
                                logger.info("businessType:" + businessType + "<>" + session.business_type);
                            } else {
                            if(!lastFetchTime)lastFetchTime = new Date().getTime();
                                // 计算未读消息数
                                let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
                                redis.zcountAsync(messagesByTimestampKey, lastFetchTime, new Date().getTime())
                                    .then(function (count) {
                                        sessionList.push({
                                            id: sessionId,
                                            name: session.name,
                                            create_date: session.create_date,
                                            last_content_type: session.last_content_type,
                                            last_content: session.last_content,
                                            sender_id: session.sender_id,
                                            type: session.type,
                                            sender_name: session.sender_name,
                                            unread_count: count,
                                            business_type: session.business_type,
                                            my_role: role
                                        });
                                        if (sessionId === sessionIds[sessionIds.length - 1]) {
                                        if(businessType&&businessType!= session.business_type){
                                        }else{
                                            sessionList.push({
                                                id: sessionId,
                                                name: session.name,
                                                create_date: session.create_date,
                                                last_content_type: session.last_content_type,
                                                last_content: session.last_content,
                                                sender_id: session.sender_id,
                                                type: session.type,
                                                sender_name: session.sender_name,
                                                unread_count: count,
                                                business_type: session.business_type,
                                                my_role: role
                                            });
                                        }
                                        if (sessionId == sessionIds[sessionIds.length - 1]) {
                                            ModelUtil.emitOK(self.eventEmitter, sessionList);
                                        }
                                    })
                            }
                            ;
                        })
                        .catch(function (err) {
                            ModelUtil.emitError(self.eventEmitter, "Get sessions failed: " + err);
@ -548,6 +547,14 @@ class Sessions extends RedisModel {
        });
    }
    sendTopicMessages(topicId,message){
        let self = this;
        let topicKey = RedisModel.makeRedisKey(REDIS_KEYS.Topic, topicId);
        redis.hgetallAsync(topicKey).then(function (topic) {
            self.saveMessageBySession(topic.session_id,message);
        });
    }
    /**
     * 保存消息
     *