From bd19eadbee8a0d3ec67c36a166a8cca4f87f454e Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 15 十月 2018 14:44:33 +0800
Subject: [PATCH] Merge branch 'master' into UserCenter
---
System/SystemSetting/ActivitiesPushMgr.cs | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 105 insertions(+), 5 deletions(-)
diff --git a/System/SystemSetting/ActivitiesPushMgr.cs b/System/SystemSetting/ActivitiesPushMgr.cs
index 74d62e6..e3c0a36 100644
--- a/System/SystemSetting/ActivitiesPushMgr.cs
+++ b/System/SystemSetting/ActivitiesPushMgr.cs
@@ -11,8 +11,10 @@
{
public const int WholePeopleRankStart = 2091000; //鍏ㄦ皯鍐叉寮�濮�
public const int WholePeopleRankEnd = 20910000; //鍏ㄦ皯鍐叉鎴
-
+ public const int FlashRushToBuy = 209014; //闄愭椂鎶㈣喘
ImpactRankModel impactRank { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
+ FlashRushToBuyModel rushToBuyModel { get { return ModelCenter.Instance.GetModel<FlashRushToBuyModel>(); } }
+
private List<int> rankTypelist = new List<int>();
public override void Init()
@@ -29,7 +31,10 @@
public void OnBeforePlayerDataInitialize()
{
-
+ rushToBuyModel.UpdateAllAppointmentEvent -= UpdateAllAppointment;
+ rushToBuyModel.UpdateAppointmentEvent -= UpdateAppointment;
+ GlobalTimeEvent.Instance.minuteEvent -= RefreshMinuteTime;
+ OpenServerActivityCenter.Instance.openServerActivityStateChange -= RefreshOpenServerState;
}
public void OnAfterPlayerDataInitialize()
@@ -41,10 +46,11 @@
{
SetRankStartPushInfo();
SetRankEndPushInfo();
- GlobalTimeEvent.Instance.minuteEvent -= RefreshMinuteTime;
+ SetFlashRushToBuyAppointmentInfo();
GlobalTimeEvent.Instance.minuteEvent += RefreshMinuteTime;
- OpenServerActivityCenter.Instance.openServerActivityStateChange -= RefreshOpenServerState;
OpenServerActivityCenter.Instance.openServerActivityStateChange += RefreshOpenServerState;
+ rushToBuyModel.UpdateAllAppointmentEvent += UpdateAllAppointment;
+ rushToBuyModel.UpdateAppointmentEvent += UpdateAppointment;
}
public override void UnInit()
@@ -57,6 +63,7 @@
{
RemovePushByTime(PushInfoType.RankStart,11);
RemovePushByTime(PushInfoType.RankEnd,23);
+ RemoveFlashRushToBuyAppointmentByTime();
}
private void RefreshOpenServerState()
@@ -65,8 +72,10 @@
SetRankEndPushInfo();
RemovePushByActiveClose(PushInfoType.RankStart);
RemovePushByActiveClose(PushInfoType.RankEnd);
+ SetFlashRushToBuyAppointmentInfo();
}
+ #region 寮�鏈嶆椿鍔ㄥ啿姒滄帹閫�
private void SetRankStartPushInfo()
{
for(int i = 0; i <rankTypelist.Count; i++)
@@ -144,7 +153,7 @@
}
}
- private void RemovePushByTime(PushInfoType type,int time)
+ private void RemovePushByTime(PushInfoType type, int time)
{
int remainHour = time - TimeUtility.ServerNow.Hour;
int remainMinute = 0 - TimeUtility.ServerNow.Minute;
@@ -181,7 +190,98 @@
break;
}
}
+ #endregion
+ #region 闄愭椂鎶㈣喘鎺ㄩ��
+ private void UpdateAllAppointment()
+ {
+ SetFlashRushToBuyAppointmentInfo();
+ }
+
+ private void UpdateAppointment(int shopGuid)
+ {
+ if (!rushToBuyModel.IsOpen) return;
+
+ var operation = rushToBuyModel.GetOperationFlashRushToBuy();
+ int pushId = FlashRushToBuy * 10 + shopGuid;
+ OperationFlashRushToBuy.FlashSaleItem saleItem;
+ OperationFlashRushToBuy.FlashSaleShop saleShop;
+ bool isSaleItem = operation.TryGetFlashItem(shopGuid,out saleShop,out saleItem);
+ if(isSaleItem)
+ {
+ if(saleItem.isAppointment != 1)
+ {
+ RemovePushInfo(pushId);
+ }
+ else
+ {
+ int seconds = 0;
+ int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, saleShop.dayIndex, saleShop.timeIndex, out seconds);
+ if(seconds > 800)
+ {
+ int remainSecond = seconds - 600;
+ SendPushInfo(GetPushJsonData(pushId, remainSecond, "闄愭椂鎶㈣喘", "浜茬埍鐨勯亾鍙嬶紝鎮ㄩ绾︾殑闄愭椂鎶㈣喘鍟嗗搧鍗冲皢寮�鎶紝璇峰敖蹇繘鍏ユ父鎴忕鏉�锛�"));
+ }
+ }
+ }
+ }
+
+ private void SetFlashRushToBuyAppointmentInfo()
+ {
+ if (!rushToBuyModel.IsOpen) return;
+
+ var operation = rushToBuyModel.GetOperationFlashRushToBuy();
+ for(int i = 0; i < operation.flashShops.Count; i++)
+ {
+ var flashShop = operation.flashShops[i];
+ int seconds = 0;
+ int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, flashShop.dayIndex,flashShop.timeIndex,out seconds);
+ var saleItems = operation.flashShops[i].items;
+ for (int j = 0; j < saleItems.Length; j++)
+ {
+ int pushId = FlashRushToBuy * 10 + saleItems[j].shopGuid;
+ if (buyState == -1 && seconds > 800 && saleItems[j].isAppointment == 1)
+ {
+ int remainSecond = seconds - 600;
+ SendPushInfo(GetPushJsonData(pushId, remainSecond, "闄愭椂鎶㈣喘", "浜茬埍鐨勯亾鍙嬶紝鎮ㄩ绾︾殑闄愭椂鎶㈣喘鍟嗗搧鍗冲皢寮�鎶紝璇峰敖蹇繘鍏ユ父鎴忕鏉�锛�"));
+ }
+ else
+ {
+ RemovePushInfo(pushId);
+ }
+ }
+ }
+ }
+
+ private void RemoveFlashRushToBuyAppointmentByTime()
+ {
+ if (!rushToBuyModel.IsOpen) return;
+
+ var operation = rushToBuyModel.GetOperationFlashRushToBuy();
+ for (int i = 0; i < operation.flashShops.Count; i++)
+ {
+ var flashShop = operation.flashShops[i];
+ int seconds = 0;
+ int buyState = operation.GetBuyTimeState(TimeUtility.ServerNow, flashShop.dayIndex, flashShop.timeIndex, out seconds);
+ var saleItems = operation.flashShops[i].items;
+ for (int j = 0; j < saleItems.Length; j++)
+ {
+ int pushId = FlashRushToBuy * 10 + saleItems[j].shopGuid;
+ if (buyState != -1)
+ {
+ RemovePushInfo(pushId);
+ }
+ else
+ {
+ if(seconds <= 180)
+ {
+ RemovePushInfo(pushId);
+ }
+ }
+ }
+ }
+ }
+ #endregion
public void RemovePushInfo(int pushId)
{
SDKUtility.Instance.GeTui_RemoveLocalMessage(pushId.ToString());
--
Gitblit v1.8.0