|  | @ -75,7 +75,7 @@ class Sessions extends RedisModel {
 | 
	
		
			
				|  |  |                 if (isPatient) {
 | 
	
		
			
				|  |  |                     businessType = SESSION_BUSINESS_TYPE.PATIENT
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (length - 1 == j || businessType == SESSION_BUSINESS_TYPE.PATIENT) {
 | 
	
		
			
				|  |  |                 if (length - 1 == j) {
 | 
	
		
			
				|  |  |                     callCreate(sessionId, businessType);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             })
 | 
	
	
		
			
				|  | @ -203,33 +203,32 @@ class Sessions extends RedisModel {
 | 
	
		
			
				|  |  |                             let session = res[0];
 | 
	
		
			
				|  |  |                             let role = res[1];
 | 
	
		
			
				|  |  |                             let lastFetchTime = res[2];
 | 
	
		
			
				|  |  |                             if (businessType && businessType != session.business_type) {
 | 
	
		
			
				|  |  |                                 logger.info("businessType:" + businessType + "<>" + session.business_type);
 | 
	
		
			
				|  |  |                             } else {
 | 
	
		
			
				|  |  |                             if(!lastFetchTime)lastFetchTime = new Date().getTime();
 | 
	
		
			
				|  |  |                                 // 计算未读消息数
 | 
	
		
			
				|  |  |                                 let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
 | 
	
		
			
				|  |  |                                 redis.zcountAsync(messagesByTimestampKey, lastFetchTime, new Date().getTime())
 | 
	
		
			
				|  |  |                                     .then(function (count) {
 | 
	
		
			
				|  |  |                                         sessionList.push({
 | 
	
		
			
				|  |  |                                             id: sessionId,
 | 
	
		
			
				|  |  |                                             name: session.name,
 | 
	
		
			
				|  |  |                                             create_date: session.create_date,
 | 
	
		
			
				|  |  |                                             last_content_type: session.last_content_type,
 | 
	
		
			
				|  |  |                                             last_content: session.last_content,
 | 
	
		
			
				|  |  |                                             sender_id: session.sender_id,
 | 
	
		
			
				|  |  |                                             type: session.type,
 | 
	
		
			
				|  |  |                                             sender_name: session.sender_name,
 | 
	
		
			
				|  |  |                                             unread_count: count,
 | 
	
		
			
				|  |  |                                             business_type: session.business_type,
 | 
	
		
			
				|  |  |                                             my_role: role
 | 
	
		
			
				|  |  |                                         });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                                         if (sessionId === sessionIds[sessionIds.length - 1]) {
 | 
	
		
			
				|  |  |                                         if(businessType&&businessType!= session.business_type){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                                         }else{
 | 
	
		
			
				|  |  |                                             sessionList.push({
 | 
	
		
			
				|  |  |                                                 id: sessionId,
 | 
	
		
			
				|  |  |                                                 name: session.name,
 | 
	
		
			
				|  |  |                                                 create_date: session.create_date,
 | 
	
		
			
				|  |  |                                                 last_content_type: session.last_content_type,
 | 
	
		
			
				|  |  |                                                 last_content: session.last_content,
 | 
	
		
			
				|  |  |                                                 sender_id: session.sender_id,
 | 
	
		
			
				|  |  |                                                 type: session.type,
 | 
	
		
			
				|  |  |                                                 sender_name: session.sender_name,
 | 
	
		
			
				|  |  |                                                 unread_count: count,
 | 
	
		
			
				|  |  |                                                 business_type: session.business_type,
 | 
	
		
			
				|  |  |                                                 my_role: role
 | 
	
		
			
				|  |  |                                             });
 | 
	
		
			
				|  |  |                                         }
 | 
	
		
			
				|  |  |                                         if (sessionId == sessionIds[sessionIds.length - 1]) {
 | 
	
		
			
				|  |  |                                             ModelUtil.emitOK(self.eventEmitter, sessionList);
 | 
	
		
			
				|  |  |                                         }
 | 
	
		
			
				|  |  |                                     })
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             ;
 | 
	
		
			
				|  |  |                         })
 | 
	
		
			
				|  |  |                         .catch(function (err) {
 | 
	
		
			
				|  |  |                             ModelUtil.emitError(self.eventEmitter, "Get sessions failed: " + err);
 | 
	
	
		
			
				|  | @ -548,6 +547,14 @@ class Sessions extends RedisModel {
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     sendTopicMessages(topicId,message){
 | 
	
		
			
				|  |  |         let self = this;
 | 
	
		
			
				|  |  |         let topicKey = RedisModel.makeRedisKey(REDIS_KEYS.Topic, topicId);
 | 
	
		
			
				|  |  |         redis.hgetallAsync(topicKey).then(function (topic) {
 | 
	
		
			
				|  |  |             self.saveMessageBySession(topic.session_id,message);
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 保存消息
 | 
	
		
			
				|  |  |      *
 |