|
@ -18,7 +18,7 @@ let logger = require('../../util/log.js');
|
|
|
let mongoose = require('mongoose');
|
|
|
var async = require("async");
|
|
|
var ObjectUtil = require("../../util/object.util.js");
|
|
|
|
|
|
let MessageRepo = require('../../repository/mysql/message.repo');
|
|
|
const REDIS_KEYS = require('../../include/commons').REDIS_KEYS;
|
|
|
const SESSION_TYPES = require('../../include/commons').SESSION_TYPES;
|
|
|
const STICKY_SESSION_BASE_SCORE = require('../../include/commons').STICKY_SESSION_BASE_SCORE;
|
|
@ -47,7 +47,6 @@ class Sessions extends RedisModel {
|
|
|
for (let i in participantArray) {
|
|
|
participantIdArray.push(participantArray[i].split(":")[0]);
|
|
|
}
|
|
|
|
|
|
if (participantIdArray.length != 2) {
|
|
|
ModelUtil.emitDataNotFound(self.eventEmitter, {message: "P2P session only allow 2 participants."});
|
|
|
return false;
|
|
@ -248,8 +247,16 @@ class Sessions extends RedisModel {
|
|
|
let message_timestamp_key = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
|
if (!start_msg_id && !end_msg_id) {
|
|
|
redis.zrevrangeAsync(message_timestamp_key, 0, 0).then(function (res) {
|
|
|
if(res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, res);
|
|
|
return;
|
|
|
}
|
|
|
start_msg_id = res[0];
|
|
|
redis.zrangeAsync(message_timestamp_key, 0, 0).then(function (res) {
|
|
|
if(res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, res);
|
|
|
return;
|
|
|
}
|
|
|
end_msg_id = res[0];
|
|
|
self.getMessagesByPage(sessionId, user, start_msg_id, end_msg_id, page, pagesize, function (err, res) {
|
|
|
if (err) {
|
|
@ -263,6 +270,10 @@ class Sessions extends RedisModel {
|
|
|
})
|
|
|
} else if (!start_msg_id) {
|
|
|
redis.zrevrangeAsync(message_timestamp_key, 0, 0).then(function (res) {
|
|
|
if(res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, res);
|
|
|
return;
|
|
|
}
|
|
|
start_msg_id = res[0];
|
|
|
self.getMessagesByPage(sessionId, user, startMsgId, endMsgId, page, pagesize, function (err, res) {
|
|
|
if (err) {
|
|
@ -275,6 +286,10 @@ class Sessions extends RedisModel {
|
|
|
})
|
|
|
} else if (!end_msg_id) {
|
|
|
redis.zrangeAsync(message_timestamp_key, 0, 0).then(function (res) {
|
|
|
if(res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, res);
|
|
|
return;
|
|
|
}
|
|
|
end_msg_id = res[0];
|
|
|
self.getMessagesByPage(sessionId, user, start_msg_id, end_msg_id, page, pagesize, function (err, res) {
|
|
|
if (err) {
|