コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }