public void SendFootChatServiceExpiredEvent(int day, bool isTrial) { var newEvent = new FootChatServiceExpiredEvent { Delay = DateTime.Now.Date.AddHours(9).AddDays(1), Priority = 8, Content = new FootChatServiceExpiredContent { day = day, trial = isTrial, } }; new Tgnet.Aliyun.MNS.EventService().Post(newEvent); }
public void TryHandleEvent(FootChatServiceExpiredEvent @event) { var day = @event.Content.day; var isTrail = @event.Content.trial; try { var serviceEvent = _ServiceEventFactory.CreateEvent(); if (isTrail) { switch (day) { case -3: serviceEvent.TrialExpiredBefore3Days(); break; case 0: serviceEvent.TrialWillExpiredToday(); break; case 3: serviceEvent.TrialWillExpiredAfter3Days(); break; } } else if (day == -7) { serviceEvent.VipWillExpiredBefore7Days(); } } catch (System.Exception e) { Tgnet.Log.LoggerResolver.Current.Debug(string.Format("用户服务状态过期提醒推送失败!day is {0} istrail is {1}", day, isTrail)); Tgnet.Log.LoggerResolver.Current.Fail(e); } finally { SendFootChatServiceExpiredEvent(day, isTrail); } }