| 
					
				 | 
			
			
				@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |