|
@ -1028,7 +1028,22 @@ class Sessions extends RedisModel {
|
|
|
ModelUtil.emitError(self.eventEmitter, "Session " + sessionId + " is not found.");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if(sessionType == SESSION_TYPES.MUC&&(message.content_type == CONTENT_TYPES.PlainText ||
|
|
|
message.content_type == CONTENT_TYPES.Image ||
|
|
|
message.content_type == CONTENT_TYPES.Audio||
|
|
|
message.content_type == CONTENT_TYPES.Video)){
|
|
|
TopicRepo.findLastBySessionId(sessionId,function(err,res){
|
|
|
if(res&&res.length>0){
|
|
|
TopicRepo.updateTopics(res[0].id,{reply:1},function(err,res){
|
|
|
if(err){
|
|
|
logger.error("update topic reply error");
|
|
|
}else{
|
|
|
logger.warn("update topic reply success");
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
// 消息保存到Redis,并更新会话最后状态、用户最后消息获取时间
|
|
|
messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
|
|
|
Messages.updateLastContent(sessionKey, sessionType, sessionName, message);
|
|
@ -1266,11 +1281,13 @@ class Sessions extends RedisModel {
|
|
|
}
|
|
|
//告知医生新消息
|
|
|
WechatClient.sendSocketMessageToDoctor(targetUserId,message);
|
|
|
|
|
|
ImDb.execQuery({
|
|
|
"sql": "SELECT imei, token from user_tokens WHERE user = ?",
|
|
|
"args": [targetUserId],
|
|
|
"handler": function (err, result) {
|
|
|
if (err || result.length == 0) {
|
|
|
logger.error("get user tokens is fail !");
|
|
|
return;
|
|
|
}
|
|
|
WlyySDK.request(targetUserId, '', result[0].token, result[0].imei, '/imcommon/message/messages', 'POST', function (err, res) {
|