From f9a9a55b10bca8e3fd838eaf570b7c257f256c90 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 03 九月 2018 10:55:39 +0800
Subject: [PATCH] 3009 超值礼包判断过期的逻辑修改

---
 System/OpenServerActivity/OSGiftModel.cs |   26 ++++++++++++--------------
 1 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/System/OpenServerActivity/OSGiftModel.cs b/System/OpenServerActivity/OSGiftModel.cs
index e0eacb6..ad7557e 100644
--- a/System/OpenServerActivity/OSGiftModel.cs
+++ b/System/OpenServerActivity/OSGiftModel.cs
@@ -77,13 +77,10 @@
 
         public int timeOverdueGiftId { get; private set; }
         public DateTime overDueTime = DateTime.Now;
-        public bool allOverdue { get; private set; }
         public void UpdateTime(HAA16_tagMCSuperGiftInfo package)
         {
             timeOverdueGiftId = (int)package.GiftID;
-            var _time = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day, 0, 0, 0);
-            overDueTime = _time.AddDays(package.RemainDay);
-            allOverdue = package.RemainDay == 0;
+            overDueTime = ParseOverdueTime(package.EndtDate);
             bool _activate = CheckActivate();
             if (activate != _activate)
             {
@@ -98,6 +95,16 @@
                 timeLimitUpdate();
             }
             UpdateRedpoint();
+        }
+
+        DateTime ParseOverdueTime(string _date)
+        {
+            var array = _date.Split('-');
+            var year = int.Parse(array[0]);
+            var month = int.Parse(array[1]);
+            var day = int.Parse(array[2]);
+            var time = new DateTime(year, month, day, 0, 0, 0);
+            return time.AddDays(1);
         }
 
         private void FirstChargeRewardEvent()
@@ -121,10 +128,6 @@
             {
                 return false;
             }
-            if (allOverdue)
-            {
-                return false;
-            }
             List<StoreConfig> _list = null;
             StoreConfig.TryGetStoreConfigs((int)StoreFunc.OSGift,out _list);
             for (int i = 0; i < _list.Count; i++)
@@ -144,15 +147,11 @@
 
         public bool IsGiftOverdue(int _id)
         {
-            if (allOverdue || _id < timeOverdueGiftId)
-            {
-                return true;
-            }
             if (_id == timeOverdueGiftId)
             {
                 return TimeUtility.ServerNow >= overDueTime;
             }
-            return false;
+            return true;
         }
 
         public bool IsGiftBuy(int _id)
@@ -182,7 +181,6 @@
 
         public void OnBeforePlayerDataInitialize()
         {
-            allOverdue = false;
             timeOverdueGiftId = 0;
         }
 

--
Gitblit v1.8.0