|
@ -102,10 +102,8 @@ class Participants extends RedisModel {
|
|
|
participantsArray.forEach(function (item) {
|
|
|
let tokens = item.split(":");
|
|
|
userSessions[RedisModel.makeRedisKey(REDIS_KEYS.UserSessions, tokens[0])] = [createDate.getTime(), sessionId];
|
|
|
|
|
|
sessionParticipants.push(createDate.getTime());
|
|
|
sessionParticipants.push(tokens[0]);
|
|
|
|
|
|
sessionParticipantsRoles.push(tokens[0], tokens[1]);
|
|
|
});
|
|
|
|
|
@ -142,6 +140,22 @@ class Participants extends RedisModel {
|
|
|
return ParticipantRepo.saveParticipantsToMysql(sessionId, users, handler);
|
|
|
}
|
|
|
|
|
|
static removeUserFromRedis(sessionId,userId,handler){
|
|
|
let self = this;
|
|
|
let participants_key = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
let user_session_key = RedisModel.makeRedisKey(REDIS_KEYS.UserSessions, userId);
|
|
|
let participants_role_key = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipantsRole, sessionId);
|
|
|
redis.multi()
|
|
|
.zrem(participants_key, userId)
|
|
|
.zrem(user_session_key, sessionId)
|
|
|
.hdel(participants_role_key,userId)
|
|
|
.execAsync()
|
|
|
.then(function (res) {
|
|
|
handler(null,true);return;
|
|
|
}).catch(function(err){
|
|
|
handler(err,false);return;
|
|
|
})
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 移除成员
|
|
@ -243,25 +257,34 @@ class Participants extends RedisModel {
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:200,message: "用户未创建咨询!"});
|
|
|
return;
|
|
|
}else{
|
|
|
let session = res[0];
|
|
|
redis.hgetAsync(participantsRoleKey,oldUserId).then(function(role){
|
|
|
if(!role)role = 0;
|
|
|
self.addUser(session.id,userId,role,function(err,addResult){
|
|
|
if(oldUserId){
|
|
|
let session = res[0];
|
|
|
redis.hgetAsync(participantsRoleKey,oldUserId).then(function(role){
|
|
|
if(!role)role = 0;
|
|
|
self.addUser(session.id,userId,role,function(err,addResult){
|
|
|
if(err){
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:-1,message: "会话成员添加失败!"});
|
|
|
return;
|
|
|
}
|
|
|
self.removeUser(session.id,oldUserId,function(err,res){
|
|
|
if(err){
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:-1,message: "会话成员移除失败!"});
|
|
|
return;
|
|
|
}else{
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:200,message: "成员变更成功!"});
|
|
|
return;
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
})
|
|
|
}else{
|
|
|
self.addUser(session.id,userId,"0",function(err,addResult){
|
|
|
if(err){
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:-1,message: "会话成员添加失败!"});
|
|
|
return;
|
|
|
}
|
|
|
self.removeUser(session.id,oldUserId,function(err,res){
|
|
|
if(err){
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:-1,message: "会话成员移除失败!"});
|
|
|
return;
|
|
|
}else{
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status:200,message: "成员变更成功!"});
|
|
|
return;
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|