|
@ -476,6 +476,7 @@ class Sessions extends RedisModel {
|
|
|
}
|
|
|
|
|
|
messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
|
|
|
Sessions.updateParticipantLastFetchTime(sessionId,message.sender_id,message.timestamp.getTime());
|
|
|
messages.saveMessageToMysql(sessionId, sessionType, messageId, message, function (err, res) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitError(self.eventEmitter, {message: "Failed to save message to mysql: " + err});
|
|
@ -525,8 +526,11 @@ class Sessions extends RedisModel {
|
|
|
//更新消息相关
|
|
|
return messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
|
|
|
}).then(function (res) {
|
|
|
//更新最后一次消息获取时间
|
|
|
Sessions.updateParticipantLastFetchTime(sessionId,message.sender_id,message.timestamp.getTime());
|
|
|
//更新session的最后一条聊天记录
|
|
|
return Messages.updateLastContent(session_key, sessionType, name, message);
|
|
|
|
|
|
}).then(function (res) {
|
|
|
//操作mysql数据库
|
|
|
messages.saveMessageToMysql(sessionId, sessionType, messageId, message);
|
|
@ -602,9 +606,8 @@ class Sessions extends RedisModel {
|
|
|
* @param sessionId
|
|
|
* @param userId
|
|
|
*/
|
|
|
static updateParticipantLastFetchTime(sessionId, userId) {
|
|
|
static updateParticipantLastFetchTime(sessionId, userId,score) {
|
|
|
let participantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
let score = new Date().getTime();
|
|
|
redis.zaddAsync(participantsKey, score, userId)
|
|
|
.then(function (res) {
|
|
|
logger.info("update participant last fetch time success.");
|