| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -36,6 +36,7 @@ import java.util.List; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.concurrent.Callable; | 
					 | 
					 | 
					 | 
					import java.util.concurrent.Callable; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.concurrent.ExecutorService; | 
					 | 
					 | 
					 | 
					import java.util.concurrent.ExecutorService; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.concurrent.FutureTask; | 
					 | 
					 | 
					 | 
					import java.util.concurrent.FutureTask; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.concurrent.TimeUnit; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.concurrent.atomic.AtomicReference; | 
					 | 
					 | 
					 | 
					import java.util.concurrent.atomic.AtomicReference; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					/** | 
					 | 
					 | 
					 | 
					/** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -112,14 +113,20 @@ public class PushMessageServiceImpl implements IMessageService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @param tenantId 租户ID | 
					 | 
					 | 
					 | 
						 * @param tenantId 租户ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @return 推送结果 | 
					 | 
					 | 
					 | 
						 * @return 推送结果 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 */ | 
					 | 
					 | 
					 | 
						 */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						public R<PushResponse> sendAndroidMsg(String subject,String content,List<String> userIds,String tenantId) { | 
					 | 
					 | 
					 | 
						public synchronized R<PushResponse> sendAndroidMsg(String subject,String content,List<String> userIds,String tenantId) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushInfoVO pushInfoVO = new PushInfoVO(); | 
					 | 
					 | 
					 | 
							PushInfoVO pushInfoVO = new PushInfoVO(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushPlatform pushPlatform = PushPlatform.newBuilder().addPlatformType(PlatformType.Android).build(); | 
					 | 
					 | 
					 | 
							PushPlatform pushPlatform = PushPlatform.newBuilder().addPlatformType(PlatformType.Android).build(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushAudience pushAudience = PushAudience.newBuilder().addPushAudienceType(PushAudienceType.TAG, userIds).build(); | 
					 | 
					 | 
					 | 
							PushAudience pushAudience = PushAudience.newBuilder().addPushAudienceType(PushAudienceType.TAG, userIds).build(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushInfo pushInfo = new PushInfo("ops-push-android", subject, content,"", null, pushPlatform, pushAudience); | 
					 | 
					 | 
					 | 
							PushInfo pushInfo = new PushInfo("ops-push-android", subject, content,"", null, pushPlatform, pushAudience); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							pushInfoVO.setPushInfo(pushInfo); | 
					 | 
					 | 
					 | 
							pushInfoVO.setPushInfo(pushInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							pushInfoVO.setTenantId(tenantId); | 
					 | 
					 | 
					 | 
							pushInfoVO.setTenantId(tenantId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return pushClient.tenantPush(pushInfoVO); | 
					 | 
					 | 
					 | 
							R<PushResponse> pushResponseR = pushClient.tenantPush(pushInfoVO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							try { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								TimeUnit.SECONDS.sleep(1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} catch (InterruptedException e) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								throw new RuntimeException(e); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							return pushResponseR; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/** | 
					 | 
					 | 
					 | 
						/** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -130,13 +137,19 @@ public class PushMessageServiceImpl implements IMessageService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @param tenantId 租户ID | 
					 | 
					 | 
					 | 
						 * @param tenantId 租户ID | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 * @return 推送结果 | 
					 | 
					 | 
					 | 
						 * @return 推送结果 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						 */ | 
					 | 
					 | 
					 | 
						 */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						public R<PushResponse> sendIOSMsg(String subject,String content,List<String> userIds,String tenantId) { | 
					 | 
					 | 
					 | 
						public synchronized R<PushResponse> sendIOSMsg(String subject,String content,List<String> userIds,String tenantId) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushInfoVO pushInfoVO = new PushInfoVO(); | 
					 | 
					 | 
					 | 
							PushInfoVO pushInfoVO = new PushInfoVO(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushPlatform pushPlatform = PushPlatform.newBuilder().addPlatformType(PlatformType.IOS).build(); | 
					 | 
					 | 
					 | 
							PushPlatform pushPlatform = PushPlatform.newBuilder().addPlatformType(PlatformType.IOS).build(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushAudience pushAudience = PushAudience.newBuilder().addPushAudienceType(PushAudienceType.TAG, userIds).build(); | 
					 | 
					 | 
					 | 
							PushAudience pushAudience = PushAudience.newBuilder().addPushAudienceType(PushAudienceType.TAG, userIds).build(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							PushInfo pushInfo = new PushInfo("ops-push-ios", subject, content,"", null, pushPlatform, pushAudience); | 
					 | 
					 | 
					 | 
							PushInfo pushInfo = new PushInfo("ops-push-ios", subject, content,"", null, pushPlatform, pushAudience); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							pushInfoVO.setPushInfo(pushInfo); | 
					 | 
					 | 
					 | 
							pushInfoVO.setPushInfo(pushInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							pushInfoVO.setTenantId(tenantId); | 
					 | 
					 | 
					 | 
							pushInfoVO.setTenantId(tenantId); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return pushClient.tenantPush(pushInfoVO); | 
					 | 
					 | 
					 | 
							R<PushResponse> pushResponseR = pushClient.tenantPush(pushInfoVO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							try { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								TimeUnit.SECONDS.sleep(1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} catch (InterruptedException e) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								throw new RuntimeException(e); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							return pushResponseR; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |