|
@ -637,13 +637,20 @@ class Sessions extends RedisModel {
|
|
|
if (res) {
|
|
|
redis.hmgetAsync(sessionKey, ["type", "name"]).then(function (res) {
|
|
|
let sessionType = res[0];
|
|
|
let sessionName = res[1];
|
|
|
if (sessionType == null) {
|
|
|
ModelUtil.emitError(self.eventEmitter, "Session with id " + sessionId + " not found.");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
//消息保存到REDIS
|
|
|
messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
|
|
|
//更新REDIS最后一条消息
|
|
|
Messages.updateLastContent(sessionKey, sessionType, sessionName, message);
|
|
|
//更新用户最后一次获取消息的时间
|
|
|
Sessions.updateParticipantLastFetchTime(sessionId, message.sender_id, message.timestamp.getTime());
|
|
|
//更新最后一条消息到数据库
|
|
|
SessionRepo.updateSessionLastStatus(message.sender_id,message.sender_name,message.timestamp,message.content,message.content_type,sessionId);
|
|
|
//将消息保存到数据库
|
|
|
messages.saveMessageToMysql(sessionId, sessionType, messageId, message, function (err, res) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitError(self.eventEmitter, {message: "Failed to save message to mysql: " + err});
|
|
@ -711,8 +718,9 @@ class Sessions extends RedisModel {
|
|
|
throw "session is not found";
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
// 更新消息存储
|
|
|
// 更新消息存储REDIS
|
|
|
messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
|
|
|
//更新消息存储到mysql
|
|
|
messages.saveMessageToMysql(sessionId, sessionType, messageId, message);
|
|
|
// 更新会话最新状态及成员最后一次消息获取时间
|
|
|
Sessions.updateParticipantLastFetchTime(sessionId, message.sender_id, message.timestamp.getTime());
|
|
@ -720,6 +728,7 @@ class Sessions extends RedisModel {
|
|
|
Messages.updateLastContent(session_key, sessionType, sessionName, message);
|
|
|
//更新session实体的最后一条消息
|
|
|
SessionRepo.updateSessionLastStatus(message.sender_id,message.sender_name,message.timestamp,message.content,message.content_type,sessionId);
|
|
|
|
|
|
handler(null, messageId);
|
|
|
}).then(function (res) {
|
|
|
// 推送消息
|