|
@ -66,6 +66,7 @@ class Sessions extends RedisModel {
|
|
|
}
|
|
|
ModelUtil.emitError(self.eventEmitter, {message: err, status: -1}, null);
|
|
|
} else {
|
|
|
name = res.name;
|
|
|
//创建session到redis
|
|
|
self.createSessionToRedis(sessionId, name, type, participantArray, messageId, function (err, res) {
|
|
|
if (err) {
|
|
@ -196,6 +197,8 @@ class Sessions extends RedisModel {
|
|
|
function callBusinessType() {
|
|
|
if(type==SESSION_TYPES.MUC||type==SESSION_TYPES.PRESCRIPTION){
|
|
|
callCreateSession(SESSION_BUSINESS_TYPE.PATIENT);
|
|
|
}else if(type==SESSION_TYPES.SPECIALISTGROUP){
|
|
|
callCreateSession(SESSION_BUSINESS_TYPE.DOCTOR);
|
|
|
}else{
|
|
|
ParticipantRepo.getBusinessType(participantIdArray, function (err, businessType) {
|
|
|
if (err) {
|
|
@ -212,6 +215,8 @@ class Sessions extends RedisModel {
|
|
|
//查找该sessionId是否存在存在则直接返回实例
|
|
|
SessionRepo.findOne(sessionId, function (err, res) {
|
|
|
if (res.length > 0) {//已经存在
|
|
|
//已存在的会话不修改名称
|
|
|
name = res[0].name;
|
|
|
//更新成员
|
|
|
Participants.saveParticipantsToMysql(sessionId, participantArray, function (err, update) {
|
|
|
handler(null, res[0]);
|
|
@ -674,11 +679,11 @@ class Sessions extends RedisModel {
|
|
|
ModelUtil.emitOK(self.eventEmitter, []);
|
|
|
return;
|
|
|
}
|
|
|
var sessionIds=[];
|
|
|
for(var j in res){
|
|
|
sessionIds.push(res[j].id);
|
|
|
}
|
|
|
callback(null,sessionIds);
|
|
|
// var sessionIds=[];
|
|
|
// for(var j in res){
|
|
|
// sessionIds.push(res[j].id);
|
|
|
// }
|
|
|
callback(null,res);
|
|
|
})
|
|
|
},
|
|
|
// 遍历会话
|
|
@ -691,7 +696,8 @@ class Sessions extends RedisModel {
|
|
|
callback = index, index = 0
|
|
|
}
|
|
|
|
|
|
let sessionId = sessionIds[index];
|
|
|
let mysqlSession = sessionIds[index];
|
|
|
let sessionId = mysqlSession.id;
|
|
|
let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
|
|
|
let participantsRoleKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipantsRole, sessionId);
|
|
|
let sessionParticipantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
@ -760,7 +766,7 @@ class Sessions extends RedisModel {
|
|
|
sessionList.push({
|
|
|
id: sessionId,
|
|
|
name: sessionName,
|
|
|
create_date: session.create_date,
|
|
|
create_date: new Date(mysqlSession.last_message_time).getTime(),
|
|
|
last_content_type: session.last_content_type,
|
|
|
last_content: session.last_content,
|
|
|
sender_id: session.last_sender_id,
|
|
@ -1720,6 +1726,32 @@ class Sessions extends RedisModel {
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 针对专科医生和家医模式更新会话的名称
|
|
|
* @param sessionId
|
|
|
* @param name
|
|
|
*/
|
|
|
updateSessionName(sessionId,name,handler){
|
|
|
let self = this;
|
|
|
let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session,sessionId);
|
|
|
redis.hsetAsync(sessionKey,"name",name).then(function(res){
|
|
|
SessionRepo.updateSessionName(sessionId,name,function(err,sqlResult){
|
|
|
if(handler){
|
|
|
handler(err,sqlResult);
|
|
|
return;
|
|
|
}
|
|
|
if(err){
|
|
|
logger.error("set session name to mysql is error !");
|
|
|
ModelUtil.emitError(self.eventEmitter,"set session name to mysql is error !",err)
|
|
|
}else{
|
|
|
logger.info("set session name is success");
|
|
|
ModelUtil.emitOK(self.eventEmitter, []);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// Expose class
|