|  | @@ -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);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |