| 
					
				 | 
			
			
				@ -61,7 +61,6 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (message&&(message.content_type == CONTENT_TYPES.PlainText || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.Image || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.Audio|| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.PrescriptionCheck || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.PrescriptionBloodStatus || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            message.content_type == CONTENT_TYPES.PrescriptionFollowupContent)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let patientClient = clientCache.findById(targetUserId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -83,7 +82,20 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                log.info("User's wechat endpoint is not online, sending via wechat template message. User id: ", targetUserId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WechatClient.sendViaMessageTemplate(targetUserId, targetUserName, message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                var isSendWXTem = true;//是否发送微信模板 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    var content = JSON.parse(message.content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(content.isSendWxTemplate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        message.content = content.text; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        isSendWXTem = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(isSendWXTem){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    WechatClient.sendViaMessageTemplate(targetUserId, targetUserName, message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if(message.content_type == CONTENT_TYPES.TopicEnd){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let patientClient = clientCache.findById(targetUserId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -226,7 +238,26 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        var count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(doctorClient&&sendClient&&sendClient.sessionId==doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus ||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //续方消息特殊处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(doctorClient&&message.session_id==doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WechatClient.updateParticipantLastFetchTime(doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                doctorClient.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++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(doctorClient&&sendClient&&sendClient.sessionId==doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WechatClient.updateParticipantLastFetchTime(doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorClient.socket.emit('message', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: message.id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -243,8 +274,28 @@ class WechatClient extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //发送pc端 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(pc_doctorClient&&sendClient&&sendClient.sessionId==pc_doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus ||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //续方消息特殊处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(pc_doctorClient&&message.session_id==pc_doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WechatClient.updateParticipantLastFetchTime(pc_doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                pc_doctorClient.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++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(pc_doctorClient&&sendClient&&sendClient.sessionId==pc_doctorClient.sessionId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WechatClient.updateParticipantLastFetchTime(pc_doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            pc_doctorClient.socket.emit('message', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: message.id, 
			 |