|
@ -43,19 +43,19 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
PrivateMsgRepo.save(message.to, message.from, message.contentType, tempContent, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Save private message failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Save private message failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 返回新插入的消息数据,并推送
|
|
|
PrivateMsgRepo.findOneMessage(result.insertId, function (err, msg) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Save private message success, but return last message failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Save private message success, but return last message failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 先结束网络连接,再推送给客户端
|
|
|
ModelUtil.emitData(self.eventEmitter, Doctor.fillMessages(msg));
|
|
|
ModelUtil.emitOK(self.eventEmitter, Doctor.fillMessages(msg));
|
|
|
|
|
|
Doctor.pushMessage(message, 'p2p_msg');
|
|
|
});
|
|
@ -86,12 +86,12 @@ class Doctor extends RedisModel {
|
|
|
message.content,
|
|
|
function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Save system message failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Save system message failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 先结束网络连接,再推送给客户端
|
|
|
ModelUtil.emitData(self.eventEmitter, {});
|
|
|
ModelUtil.emitOK(self.eventEmitter, {});
|
|
|
|
|
|
Doctor.pushMessage(message, 'system_msg');
|
|
|
});
|
|
@ -196,7 +196,7 @@ class Doctor extends RedisModel {
|
|
|
let self = this;
|
|
|
StatsRepo.getRecentChats(userId, days, function (err, rows) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get recent chat objects failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get recent chat objects failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -229,7 +229,7 @@ class Doctor extends RedisModel {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, data);
|
|
|
ModelUtil.emitOK(self.eventEmitter, data);
|
|
|
});
|
|
|
}
|
|
|
|
|
@ -244,7 +244,7 @@ class Doctor extends RedisModel {
|
|
|
// 与患者的私信
|
|
|
PrivateMsgRepo.findAllP2PWithPatient(userId, function (err, patients) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -267,7 +267,7 @@ class Doctor extends RedisModel {
|
|
|
// 含有患者的群
|
|
|
GroupMsgRepo.findAllGroupsWithPatient(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -291,7 +291,7 @@ class Doctor extends RedisModel {
|
|
|
// 医生间的私聊
|
|
|
PrivateMsgRepo.findAllP2PWithDoctor(userId, function (err, doctors) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -312,7 +312,7 @@ class Doctor extends RedisModel {
|
|
|
// 获取医生间的组
|
|
|
GroupMsgRepo.findAllGroupsWithDoctor(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -329,7 +329,7 @@ class Doctor extends RedisModel {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, chats);
|
|
|
ModelUtil.emitOK(self.eventEmitter, chats);
|
|
|
});
|
|
|
});
|
|
|
})
|
|
@ -344,7 +344,7 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
PrivateMsgRepo.findAllP2PWithPatient(userId, function (err, patients) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -366,7 +366,7 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
GroupMsgRepo.findAllGroupsWithPatient(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -387,7 +387,7 @@ class Doctor extends RedisModel {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, chats);
|
|
|
ModelUtil.emitOK(self.eventEmitter, chats);
|
|
|
})
|
|
|
});
|
|
|
}
|
|
@ -403,7 +403,7 @@ class Doctor extends RedisModel {
|
|
|
// 先获取医生间的私聊
|
|
|
PrivateMsgRepo.findAllP2PWithDoctor(userId, function (err, doctors) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -425,7 +425,7 @@ class Doctor extends RedisModel {
|
|
|
// 再获取医生间的组
|
|
|
GroupMsgRepo.findAllGroupsWithDoctor(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -442,7 +442,7 @@ class Doctor extends RedisModel {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, chats);
|
|
|
ModelUtil.emitOK(self.eventEmitter, chats);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@ -458,7 +458,7 @@ class Doctor extends RedisModel {
|
|
|
// 先获取医生间的私聊
|
|
|
PrivateMsgRepo.findAllP2PWithDoctor(userId, function (err, doctors) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
var amount = 0;
|
|
@ -471,7 +471,7 @@ class Doctor extends RedisModel {
|
|
|
// 再获取医生间的组
|
|
|
GroupMsgRepo.findAllGroupsWithDoctor(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with doctor failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -486,7 +486,7 @@ class Doctor extends RedisModel {
|
|
|
//获取患者记录数量
|
|
|
PrivateMsgRepo.findAllP2PWithPatient(userId, function (err, patients) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get chat list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
for (let i = 0; i < patients.length; i++) {
|
|
@ -499,7 +499,7 @@ class Doctor extends RedisModel {
|
|
|
//获取患者记录数量
|
|
|
GroupMsgRepo.findAllGroupsWithPatient(userId, function (err, groups) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get group list with patient failed', err);
|
|
|
return;
|
|
|
}
|
|
|
for (let i = 0; i < groups.length; i++) {
|
|
@ -511,7 +511,7 @@ class Doctor extends RedisModel {
|
|
|
patientAmount = patientAmount+ group.new_msg_count;
|
|
|
}
|
|
|
chats.patient = patientAmount;
|
|
|
ModelUtil.emitData(self.eventEmitter, chats);
|
|
|
ModelUtil.emitOK(self.eventEmitter, chats);
|
|
|
});
|
|
|
});
|
|
|
});
|
|
@ -534,12 +534,12 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
PrivateMsgRepo.findAllMessages(userId, peerId, contentType === undefined ? "0,1,2,3,4,5,6" : contentType, msgStartId, msgEndId, count, closedInterval, function (err, rows) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get private message failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get private message failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
let messages = Doctor.fillMessages(rows);
|
|
|
ModelUtil.emitData(self.eventEmitter, messages);
|
|
|
ModelUtil.emitOK(self.eventEmitter, messages);
|
|
|
|
|
|
// 清空统计信息
|
|
|
StatsRepo.clearPrivateChatSummary(userId, peerId, function (err, result) {
|
|
@ -559,7 +559,7 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
StatsRepo.getPrivateChatAllUnReadCount(userId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get unread private message count failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get unread private message count failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -568,7 +568,7 @@ class Doctor extends RedisModel {
|
|
|
data.newMessageCount += result[i].new_msg_count;
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, data);
|
|
|
ModelUtil.emitOK(self.eventEmitter, data);
|
|
|
});
|
|
|
}
|
|
|
|
|
@ -582,7 +582,7 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
StatsRepo.getChatAllUnReadCount(userId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get all unread message count failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get all unread message count failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -591,7 +591,7 @@ class Doctor extends RedisModel {
|
|
|
data.newMessageCount += result[index].new_msg_count;
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, data);
|
|
|
ModelUtil.emitOK(self.eventEmitter, data);
|
|
|
});
|
|
|
}
|
|
|
|
|
@ -605,24 +605,24 @@ class Doctor extends RedisModel {
|
|
|
let self = this;
|
|
|
StatsRepo.getPrivateChatSummary(userId, peerId, function (err, summary) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, 'Get unread private messages failed', err);
|
|
|
ModelUtil.emitError(self.eventEmitter, 'Get unread private messages failed', err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 没有未读消息,直接返回
|
|
|
if (summary.length == 0 || summary[0].new_msg_count === 0) {
|
|
|
ModelUtil.emitData(self.eventEmitter, {startId: 0, count: 0, records: []});
|
|
|
ModelUtil.emitOK(self.eventEmitter, {startId: 0, count: 0, records: []});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
PrivateMsgRepo.findUnread(peerId, userId, MAX_INT, summary[0].new_msg_count, function (err, rows) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get unread private messages failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get unread private messages failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
let messages = Doctor.fillMessages(rows);
|
|
|
ModelUtil.emitData(self.eventEmitter, messages);
|
|
|
ModelUtil.emitOK(self.eventEmitter, messages);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@ -637,7 +637,7 @@ class Doctor extends RedisModel {
|
|
|
let self = this;
|
|
|
StatsRepo.getPrivateChatSummary(userId, peerId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get private messages statistic failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get private messages statistic failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -661,7 +661,7 @@ class Doctor extends RedisModel {
|
|
|
data.timestamp = ObjectUtil.timestampToLong(row.timestamp)
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, data);
|
|
|
ModelUtil.emitOK(self.eventEmitter, data);
|
|
|
});
|
|
|
}
|
|
|
|
|
@ -672,7 +672,7 @@ class Doctor extends RedisModel {
|
|
|
// 私信
|
|
|
PrivateMsgRepo.findOneMessage(messageId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get message failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get message failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -681,7 +681,7 @@ class Doctor extends RedisModel {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {
|
|
|
id: result[0].msg_id,
|
|
|
from: result[0].from_uid,
|
|
|
to: result[0].to_uid,
|
|
@ -694,7 +694,7 @@ class Doctor extends RedisModel {
|
|
|
// 群信
|
|
|
GroupMsgRepo.findOneMessage(messageId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get message failed", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get message failed", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -703,7 +703,7 @@ class Doctor extends RedisModel {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {
|
|
|
id: result[0].msg_id,
|
|
|
from: result[0].from_uid,
|
|
|
at: result[0].at_uid,
|
|
@ -724,7 +724,7 @@ class Doctor extends RedisModel {
|
|
|
|
|
|
PrivateMsgRepo.isCurrentSessionFinished(doctorId, patientId, function (err, result) {
|
|
|
if (err) {
|
|
|
ModelUtil.emitDbError(self.eventEmitter, "Get session finish status failed: ", err);
|
|
|
ModelUtil.emitError(self.eventEmitter, "Get session finish status failed: ", err);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@ -738,7 +738,7 @@ class Doctor extends RedisModel {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
ModelUtil.emitData(self.eventEmitter, data);
|
|
|
ModelUtil.emitOK(self.eventEmitter, data);
|
|
|
})
|
|
|
}
|
|
|
|