| 
					
				 | 
			
			
				@ -236,32 +236,32 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 第几页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param pagesize 分页数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    getMessages(sessionId, user, page, pagesize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    getMessages(sessionId, user, stratmsgid,endmsgid ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let message_timestamp_key = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let message_key = RedisModel.makeRedisKey(REDIS_KEYS.Messages, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let participants_key = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //超过最大限制后从mysql获取数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (page * pagesize >= config.sessionConfig.maxMessageCount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            self.getMessageFromMySQL(sessionId, page, pagesize, function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": res}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ModelUtil.emitOK(self.eventEmitter, {"status": -1, "data": err}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (page > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                page = page * pagesize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                pagesize = pagesize + page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // if (page * pagesize >= config.sessionConfig.maxMessageCount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //     self.getMessageFromMySQL(sessionId, page, pagesize, function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //         if (!err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //             ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": res}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //             ModelUtil.emitOK(self.eventEmitter, {"status": -1, "data": err}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // if (page > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //     page = page * pagesize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //     pagesize = pagesize + page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let participants = new Participants(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            participants.existsParticipant(sessionId, user, function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (!res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ModelUtil.emitOK(self.eventEmitter, {"status": -1, "msg": "用户不在此会话中!"}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //倒序取出最后N条消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    redis.zrevrangeAsync(message_timestamp_key, page, pagesize).then(function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    redis.zrevrangebyscoreAsync(message_timestamp_key, endmsgid, stratmsgid).then(function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //取出消息实体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (res.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            ModelUtil.emitOK(self.eventEmitter, {"status": 200, "data": []}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -284,7 +284,7 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    getAllSessionsUnreadMessageCount(){} 
			 |