| 
					
				 | 
			
			
				@@ -6,6 +6,7 @@ import com.yonge.cooleshow.biz.dal.dao.MemberPriceSettingsDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dto.search.VipRecordSearch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.ActivityReward; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.MemberPriceSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.entity.Student; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.ClientEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.PeriodEnum; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,6 +26,7 @@ import com.yonge.cooleshow.biz.dal.dto.search.VipCardRecordSearch; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.dao.VipCardRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.concurrent.CompletableFuture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -184,7 +186,9 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             temporaryFlagMap.put(record.getUserId(), record.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //发送消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            temporary3DaysSend(record.getUserId(), record.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CompletableFuture.runAsync(() -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                temporary3DaysSend(record.getUserId(), record.getPhone(),record.getClientType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             record.setMsgStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             record.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,7 +207,10 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             expireFlagMap.put(record.getUserId(), record.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //发送消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            expireSend(record.getUserId(), record.getPhone(),record.getClientType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //发送消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CompletableFuture.runAsync(() -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                expireSend(record.getUserId(), record.getPhone(), record.getClientType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             record.setMsgStatus(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             record.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,23 +229,27 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 发送会员到期3天消息推送 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void temporary3DaysSend(Long userId, String phone) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void temporary3DaysSend(Long userId, String phone, ClientEnum clientType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<Long, String> receivers = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         receivers.put(userId, phone); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    receivers, null, 0, url, ClientEnum.STUDENT.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("会员到期3天极光消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 判断是否是机构学生 机构学生推送走另一个 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (clientType.equals(ClientEnum.STUDENT)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE_THIRTY_DAY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        receivers, null, 0, url, ClientEnum.STUDENT.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("会员到期3天极光消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    receivers, null, 0, null, ClientEnum.STUDENT.getCode(), url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("会员到期3天短信消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE_THIRTY_DAY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        receivers, null, 0, null, ClientEnum.STUDENT.getCode(), url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("会员到期3天短信消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -246,20 +257,31 @@ public class VipCardRecordServiceImpl extends ServiceImpl<VipCardRecordDao, VipC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void expireSend(Long userId, String phone,ClientEnum userType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<Long, String> receivers = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         receivers.put(userId, phone); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    receivers, null, 0, url, userType.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("会员到期3天极光消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Student student = studentService.getById(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (userType.equals(ClientEnum.STUDENT) && student != null  && student.getTenantId() != null && student.getTenantId() >0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TENANT_VIP_EXPIRE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TENANT_VIP_EXPIRE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        receivers, null, 0, url, ClientEnum.TENANT_STUDENT.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("会员到期极光消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIP_EXPIRE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIP_EXPIRE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        receivers, null, 0, url, userType.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("会员到期3天极光消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    receivers, null, 0, null, userType.getCode(), url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.error("会员到期3天短信消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String url = sysMessageService.selectConfigUrl(MessageTypeEnum.SMS_VIP_EXPIRE.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_VIP_EXPIRE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        receivers, null, 0, null, userType.getCode(), url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.error("会员到期3天短信消息推送异常,userId={}", userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |