| 
					
				 | 
			
			
				@ -66,7 +66,9 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.ReservationDoorCardInfo || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.ChangeDoorCardInfo || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.ChangeDoorDoctor || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.ChangeDoorPackageItems)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.ChangeDoorPackageItems || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.VideoAnswerStatus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            )) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let patientClient = clientCache.findById(targetUserId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let pc_patientClient = clientCache.findById("pcpatient_"+targetUserId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let doctorClient = clientCache.findByIdAndType(message.sender_id,SOCKET_TYPES.DOCTOR); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -382,6 +384,64 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    static sendSocketMessageToPatient(patientId, message) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let patientClient = clientCache.findByIdAndType(patientId,SOCKET_TYPES.PATIENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let pc_patientClient = clientCache.findByIdAndType("pcpatient_"+patientId,SOCKET_TYPES.PC_PATIENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!patientClient&&!pc_patientClient){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            log.warn("target patient is not online!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // let sendClient = clientCache.findByIdAndType(message.sender_id,SOCKET_TYPES.DOCTOR);//app医生发送的消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // if(!sendClient){//pc医生发送的消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //     sendClient = clientCache.findByIdAndType("pc_"+message.sender_id,SOCKET_TYPES.PC_DOCTOR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // if(!sendClient){//居民发送的消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //     sendClient = clientCache.findByIdAndType(message.sender_id,SOCKET_TYPES.PATIENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        var count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(patientClient&&message.session_id==patientClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WechatClient.updateParticipantLastFetchTime(patientClient.sessionId, patientId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientClient.socket.emit('message', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: message.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                session_id: message.session_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_id: message.sender_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_name: message.sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content_type: message.content_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content: message.content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                timestamp: ObjectUtil.timestampToLong(message.timestamp), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                type: message.content_type,          // legacy support 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                name: message.sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送pc端 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(pc_patientClient&&message.session_id==pc_patientClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WechatClient.updateParticipantLastFetchTime(pc_patientClient.sessionId, patientId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            pc_patientClient.socket.emit('message', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: message.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                session_id: message.session_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_id: message.sender_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_name: message.sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content_type: message.content_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content: message.content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                timestamp: ObjectUtil.timestampToLong(message.timestamp), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                type: message.content_type,          // legacy support 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                name: message.sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(count==2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            log.warn("patient is not in the same session or is not online"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 发送微信模板消息给居民 
			 |