|
@ -130,35 +130,27 @@ class Sessions extends RedisModel {
|
|
|
|
|
|
function callCreate(sessionId, businessType) {
|
|
|
let createDate = new Date();
|
|
|
let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
|
|
|
let message = {
|
|
|
sender_id: "system",
|
|
|
sender_name: "系统",
|
|
|
content_type: 11,
|
|
|
content: "会话创建成功",
|
|
|
timestamp: createDate,
|
|
|
id: messageId
|
|
|
};
|
|
|
if (type == SESSION_TYPES.MUC) {
|
|
|
businessType = 2;
|
|
|
}
|
|
|
let session = {
|
|
|
id: sessionId,
|
|
|
name: name,
|
|
|
type: type,
|
|
|
create_date: createDate.getTime(),
|
|
|
business_type: businessType,
|
|
|
last_sender_id: message.sender_id,
|
|
|
last_sender_name: message.sender_name,
|
|
|
last_message_time: message.timestamp.getTime(),
|
|
|
last_content: message.content,
|
|
|
last_content_type: message.content_type
|
|
|
};
|
|
|
redis.hmsetAsync(sessionKey, session).then(function () {
|
|
|
Participants.saveParticipantsToRedis(sessionId, participantArray, createDate, function (res) {
|
|
|
handler(null, session);
|
|
|
});
|
|
|
})
|
|
|
Participants.saveParticipantsToRedis(sessionId, participantArray, createDate, function (res) {
|
|
|
let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
|
|
|
if (type == SESSION_TYPES.MUC) {
|
|
|
businessType = 2;
|
|
|
}
|
|
|
let session = {
|
|
|
id: sessionId,
|
|
|
name: name,
|
|
|
type: type,
|
|
|
create_date: createDate.getTime(),
|
|
|
business_type: businessType
|
|
|
};
|
|
|
//如果会话已经存在的就不需要发送会话成功的消息不更新最后一条消息
|
|
|
redis.hexistsAsync(sessionKey, session).then(function(res){
|
|
|
if(res==0){
|
|
|
redis.hmsetAsync(sessionKey, session).then(function () {
|
|
|
handler(null, session);
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -412,11 +404,11 @@ class Sessions extends RedisModel {
|
|
|
id: sessionId,
|
|
|
name: sessionName,
|
|
|
create_date: session.create_date,
|
|
|
last_content_type: session.last_content_type,
|
|
|
last_content: session.last_content,
|
|
|
sender_id: session.last_sender_id,
|
|
|
last_content_type: session.last_content_type||"",
|
|
|
last_content: session.last_content||"",
|
|
|
sender_id: session.last_sender_id||"",
|
|
|
type: session.type,
|
|
|
sender_name: session.last_sender_name,
|
|
|
sender_name: session.last_sender_name||"",
|
|
|
unread_count: count,
|
|
|
business_type: session.business_type,
|
|
|
my_role: role,
|
|
@ -1281,27 +1273,15 @@ 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) {
|
|
|
let count = 0;
|
|
|
res = JSON.parse(res)
|
|
|
if (res.status == 200) {
|
|
|
let data = res.data;
|
|
|
count = JSON.parse(data.imMsgCount).count + data.system.amount + data.healthIndex.amount + data.sign.amount;
|
|
|
}
|
|
|
AppClient.sendNotification(targetUserId, message,sessionType,count);
|
|
|
});
|
|
|
WlyySDK.request(targetUserId, '', '', '', '/im/common/message/messages', 'POST', function (err, res) {
|
|
|
let count = 0;
|
|
|
res = JSON.parse(res)
|
|
|
if (res.status == 200) {
|
|
|
let data = res.data;
|
|
|
count = JSON.parse(data.imMsgCount).count + data.system.amount + data.healthIndex.amount + data.sign.amount;
|
|
|
}
|
|
|
AppClient.sendNotification(targetUserId, message,sessionType,count);
|
|
|
});
|
|
|
|
|
|
}
|
|
|
});
|
|
|
}
|