|
@ -236,32 +236,32 @@ class Sessions extends RedisModel {
|
|
|
* @param page 第几页
|
|
|
* @param pagesize 分页数量
|
|
|
*/
|
|
|
getMessages(sessionId, user, page, pagesize) {
|
|
|
getMessages(sessionId, user, stratmsgid,endmsgid ) {
|
|
|
let self = this;
|
|
|
let message_timestamp_key = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
|
let message_key = RedisModel.makeRedisKey(REDIS_KEYS.Messages, sessionId);
|
|
|
let participants_key = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
//超过最大限制后从mysql获取数据
|
|
|
if (page * pagesize >= config.sessionConfig.maxMessageCount) {
|
|
|
self.getMessageFromMySQL(sessionId, page, pagesize, function (err, res) {
|
|
|
if (!err) {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": res});
|
|
|
} else {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {"status": -1, "data": err});
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
if (page > 0) {
|
|
|
page = page * pagesize;
|
|
|
pagesize = pagesize + page;
|
|
|
}
|
|
|
// if (page * pagesize >= config.sessionConfig.maxMessageCount) {
|
|
|
// self.getMessageFromMySQL(sessionId, page, pagesize, function (err, res) {
|
|
|
// if (!err) {
|
|
|
// ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": res});
|
|
|
// } else {
|
|
|
// ModelUtil.emitOK(self.eventEmitter, {"status": -1, "data": err});
|
|
|
// }
|
|
|
// })
|
|
|
// } else {
|
|
|
// if (page > 0) {
|
|
|
// page = page * pagesize;
|
|
|
// pagesize = pagesize + page;
|
|
|
// }
|
|
|
let participants = new Participants();
|
|
|
participants.existsParticipant(sessionId, user, function (res) {
|
|
|
if (!res) {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {"status": -1, "msg": "用户不在此会话中!"});
|
|
|
} else {
|
|
|
//倒序取出最后N条消息
|
|
|
redis.zrevrangeAsync(message_timestamp_key, page, pagesize).then(function (res) {
|
|
|
redis.zrevrangebyscoreAsync(message_timestamp_key, endmsgid, stratmsgid).then(function (res) {
|
|
|
//取出消息实体
|
|
|
if (res.length == 0) {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": []});
|
|
@ -284,7 +284,7 @@ class Sessions extends RedisModel {
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
getAllSessionsUnreadMessageCount(){}
|