| 
					
				 | 
			
			
				@ -384,7 +384,7 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据用户ID获取用户的session列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -393,7 +393,6 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    getUserSessions(userId, page, size, businessType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let userSessionKey = RedisModel.makeRedisKey(REDIS_KEYS.UserSessions, userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (page > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (page == 1) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -415,7 +414,7 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            function (callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                SessionRepo.findAllByType(userId,businessType,page,size,function(err,res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (res && res.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (res.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        ModelUtil.emitOK(self.eventEmitter, []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -430,16 +429,22 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            function (sessionIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                let sessionList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                let functionList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                log.info("sessionIds.length:" + sessionIds.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for (let j = 0; j < sessionIds.length; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    log.info("遍历会话 :" + sessionIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    let fun = function (index, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("!callback:" + !callback); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (!callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            callback = index, index = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("top=.index:" + index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionId = sessionIds[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("top=.session.id:" + sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("top=.sessionKey:" + sessionKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let participantsRoleKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipantsRole, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("top=.participantsRoleKey:" + participantsRoleKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionParticipantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        log.info("top=.sessionParticipantsKey:" + sessionParticipantsKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        redis.multi() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .hgetall(sessionKey)                       // 会话实体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .hget(participantsRoleKey, userId)         // 用户在此会话中的角色 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -450,6 +455,9 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .execAsync() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            .then(function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let session = res[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                log.info("top.session.id:" + session.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                log.info("top.session.name:" + session.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                log.info("tope.session.business_type:" + session.business_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let role = res[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let lastFetchTime = res[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let users = res[3]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -459,11 +467,19 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let isInvite = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                //处理session未加入redis的bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                log.info("1.session==null:" + session==null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(session==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    let lastLoginTime = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    SessionRepo.findOne(sessionId, function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        if(res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            session = res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("1.session.id:" + session.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("1.session.name:" + session.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("1.session.business_type:" + session.business_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            let redisSession = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                "id", session.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                "name", session.name, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -625,14 +641,19 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sessionName = res[0].name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            var bir = new Date().getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            if (res && res.length != 0 && res[0].birthdate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            if (res.length != 0 && res[0].birthdate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                bir = res[0].birthdate.getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            var sex = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            if (res && res.length != 0 && res[0].sex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            if (res.length != 0 && res[0].sex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sex = res[0].sex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            //end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("2.session.id:" + sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("2.session.name:" + sessionName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            log.info("2.session.business_type:" + session.business_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            sessionList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                id: sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                name: sessionName, 
			 |