From cf05425741e1f06fc5cee500706fb36e3db8a344 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 17 九月 2018 10:55:46 +0800
Subject: [PATCH] 3442运营活动修改

---
 System/OpenServerActivity/FlashSaleModel.cs |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/System/OpenServerActivity/FlashSaleModel.cs b/System/OpenServerActivity/FlashSaleModel.cs
index 7d57ee1..207475f 100644
--- a/System/OpenServerActivity/FlashSaleModel.cs
+++ b/System/OpenServerActivity/FlashSaleModel.cs
@@ -11,6 +11,7 @@
         {
             OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
             OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
+            OperationTimeHepler.Instance.operationAdvanceEvent += OperationAdvanceEvent;
             TimeMgr.Instance.OnDayEvent += OnDayEvent;
             OpenServerActivityCenter.Instance.Register(4, this);
         }
@@ -28,6 +29,7 @@
         {
             OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
             OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
+            OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
             TimeMgr.Instance.OnDayEvent -= OnDayEvent;
         }
 
@@ -36,6 +38,17 @@
             if (type == Operation.FlashSale && state == 0)
             {
                 UpdateRedpoint();
+                if (onStateUpate != null)
+                {
+                    onStateUpate(4);
+                }
+            }
+        }
+
+        private void OperationAdvanceEvent(Operation type)
+        {
+            if (type == Operation.FlashSale)
+            {
                 if (onStateUpate != null)
                 {
                     onStateUpate(4);
@@ -73,9 +86,7 @@
         {
             get
             {
-                OperationBase operationBase;
-                OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase);
-                return operationBase != null && operationBase.SatisfyOpenCondition() && operationBase.InTime(TimeUtility.ServerNow);
+                return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FlashSale);
             }
         }
 
@@ -87,12 +98,24 @@
             }
         }
 
+        public bool IsAdvance
+        {
+            get
+            {
+                return OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.FlashSale);
+            }
+        }
+
         public void SendBuyFlashSale(OperationFlashSale.FlashSaleGift gift)
         {
             OperationBase operationBase;
             if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.FlashSale, out operationBase))
             {
                 OperationFlashSale operation = operationBase as OperationFlashSale;
+                if (operation.InAdvanceTime(TimeUtility.ServerNow))
+                {
+                    return;
+                }
                 if (!operation.InTime(TimeUtility.ServerNow))
                 {
                     SysNotifyMgr.Instance.ShowTip("ActiveOutTime");

--
Gitblit v1.8.0