From 42c8ae5a4fe49c5afdf898da874df55d8d2361cb Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 28 四月 2026 21:19:46 +0800
Subject: [PATCH] 628 节假日活动-五一活动 基本功能
---
Main/System/OpenServerActivity/OperationTimeHepler.cs | 227 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 175 insertions(+), 52 deletions(-)
diff --git a/Main/System/OpenServerActivity/OperationTimeHepler.cs b/Main/System/OpenServerActivity/OperationTimeHepler.cs
index 0738659..aa2a94b 100644
--- a/Main/System/OpenServerActivity/OperationTimeHepler.cs
+++ b/Main/System/OpenServerActivity/OperationTimeHepler.cs
@@ -497,72 +497,190 @@
public void UpdateActTotalRechargeInfo(HAA1D_tagSCActTotalRechargeInfo package)
{
- OperationBase operationBase = null;
- operationDict.TryGetValue(OperationType.TotalRecharge, out operationBase);
+ var opreationType = OperationType.TotalRecharge;
+ switch (package.ActNum)
+ {
+ case 10:
+ opreationType = OperationType.TotalRecharge;
+ break;
+ case 30:
+ opreationType = OperationType.FestivalActivity_RechargeTotal;
+ break;
+ }
+
if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
{
- ForceStopOperation(OperationType.TotalRecharge);
+ ForceStopOperation(opreationType);
+ return;
}
- else
- {
- if (operationBase == null)
- {
- operationBase = new OperationTotalRechargeInfo();
- operationDict.Add(OperationType.TotalRecharge, operationBase);
- }
- OperationTotalRechargeInfo operation = operationBase as OperationTotalRechargeInfo;
- operation.Reset();
- operation.startDate = ParseOperationDate(package.StartDate);
- operation.endDate = ParseOperationDate(package.EndtDate);
- operation.ActNum = package.ActNum;
- operation.CfgID = package.CfgID;
-
- var config = ActTotalRechargeConfig.Get(package.CfgID);
- if (config == null)
- {
- SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
- return;
- }
- if (operationTimeUpdateEvent != null)
- {
- operationTimeUpdateEvent(OperationType.TotalRecharge);
- }
+ if (!operationDict.TryGetValue(opreationType, out OperationBase operationBase))
+ {
+ operationBase = new OperationTotalRechargeInfo();
+ operationDict.Add(opreationType, operationBase);
}
+ OperationTotalRechargeInfo operation = operationBase as OperationTotalRechargeInfo;
+ operation.Reset();
+ operation.startDate = ParseOperationDate(package.StartDate);
+ operation.endDate = ParseOperationDate(package.EndtDate);
+ operation.ActNum = package.ActNum;
+ operation.CfgID = package.CfgID;
+
+ var config = ActTotalRechargeConfig.Get(package.CfgID);
+ if (config == null)
+ {
+ SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
+ return;
+ }
+ operation.dayReset = config.IsDayReset == 1;
+ operationTimeUpdateEvent?.Invoke(opreationType);
}
public void UpdateActTotDayRechargeInfo(HAA1B_tagSCActTotDayRechargeInfo package)
{
- OperationBase operationBase = null;
- operationDict.TryGetValue(OperationType.TotDayRecharge, out operationBase);
+ var opreationType = OperationType.TotDayRecharge;
+ switch (package.ActNum)
+ {
+ case 10:
+ opreationType = OperationType.TotDayRecharge;
+ break;
+ case 30:
+ opreationType = OperationType.FestivalActivity_RechargeTotDay;
+ break;
+ }
if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
{
- ForceStopOperation(OperationType.TotDayRecharge);
+ ForceStopOperation(opreationType);
+ return;
}
- else
+ if (!operationDict.TryGetValue(opreationType, out OperationBase operationBase))
{
- if (operationBase == null)
- {
- operationBase = new OperationTotDayRechargeInfo();
- operationDict.Add(OperationType.TotDayRecharge, operationBase);
- }
- OperationTotDayRechargeInfo operation = operationBase as OperationTotDayRechargeInfo;
- operation.Reset();
- operation.startDate = ParseOperationDate(package.StartDate);
- operation.endDate = ParseOperationDate(package.EndtDate);
- operation.ActNum = package.ActNum;
- operation.CfgID = package.CfgID;
-
- var config = ActTotalRechargeConfig.Get(package.CfgID);
- if (config == null)
- {
- SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
- return;
- }
-
- operation.dayReset = config.IsDayReset == 1;
- operationTimeUpdateEvent?.Invoke(OperationType.TotDayRecharge);
+ operationBase = new OperationTotDayRechargeInfo();
+ operationDict.Add(opreationType, operationBase);
}
+ OperationTotDayRechargeInfo operation = operationBase as OperationTotDayRechargeInfo;
+ operation.Reset();
+ operation.startDate = ParseOperationDate(package.StartDate);
+ operation.endDate = ParseOperationDate(package.EndtDate);
+ operation.ActNum = package.ActNum;
+ operation.CfgID = package.CfgID;
+
+ if (ActTotDayRechargeConfig.Get(package.CfgID) == null)
+ {
+ SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
+ return;
+ }
+ operationTimeUpdateEvent?.Invoke(opreationType);
+ }
+
+ public void UpdateFlashSaleActivityInfo(HAA10_tagSCActSpecialSaleInfo package)
+ {
+ var opreationType = OperationType.FestivalActivity;
+ switch (package.ActNum)
+ {
+ case 30:
+ opreationType = OperationType.FestivalActivity;
+ break;
+ }
+
+ if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ {
+ ForceStopOperation(opreationType);
+ return;
+ }
+
+ if (!operationDict.TryGetValue(opreationType, out OperationBase operationBase))
+ {
+ operationBase = new OperationFlashSaleActivityInfo();
+ operationDict.Add(opreationType, operationBase);
+ }
+ OperationFlashSaleActivityInfo operation = operationBase as OperationFlashSaleActivityInfo;
+ operation.Reset();
+ operation.startDate = ParseOperationDate(package.StartDate);
+ operation.endDate = ParseOperationDate(package.EndtDate);
+ operation.ActNum = package.ActNum;
+ operation.CfgID = package.CfgID;
+
+ if (ActSpecialSaleConfig.Get(package.CfgID) == null)
+ {
+ SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
+ return;
+ }
+ operationTimeUpdateEvent?.Invoke(opreationType);
+ }
+
+ public void UpdateCheckInActivityInfo(HAA23_tagSCActSignInfo package)
+ {
+ var opreationType = OperationType.FestivalActivity_CheckIn;
+ switch (package.ActNum)
+ {
+ case 30:
+ opreationType = OperationType.FestivalActivity_CheckIn;
+ break;
+ }
+
+ if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ {
+ ForceStopOperation(opreationType);
+ return;
+ }
+
+ if (!operationDict.TryGetValue(opreationType, out OperationBase operationBase))
+ {
+ operationBase = new OperationCheckInActivityInfo();
+ operationDict.Add(opreationType, operationBase);
+ }
+ OperationCheckInActivityInfo operation = operationBase as OperationCheckInActivityInfo;
+ operation.Reset();
+ operation.startDate = ParseOperationDate(package.StartDate);
+ operation.endDate = ParseOperationDate(package.EndtDate);
+ operation.ActType = package.ActNum;
+ operation.CfgID = package.CfgID;
+
+ if (ActSignConfig.Get(package.CfgID) == null)
+ {
+ SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
+ return;
+ }
+ operationTimeUpdateEvent?.Invoke(opreationType);
+ }
+
+ public void UpdateMissionActivityInfo(HAA71_tagSCActTaskInfo package)
+ {
+ var opreationType = OperationType.FestivalActivity_Mission;
+ switch (package.ActNum)
+ {
+ case 30:
+ opreationType = OperationType.FestivalActivity_Mission;
+ break;
+ }
+
+ if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+ {
+ ForceStopOperation(opreationType);
+ return;
+ }
+
+ if (!operationDict.TryGetValue(opreationType, out OperationBase operationBase))
+ {
+ operationBase = new OperationMissionActivityInfo();
+ operationDict.Add(opreationType, operationBase);
+ }
+ OperationMissionActivityInfo operation = operationBase as OperationMissionActivityInfo;
+ operation.Reset();
+ operation.startDate = ParseOperationDate(package.StartDate);
+ operation.endDate = ParseOperationDate(package.EndtDate);
+ operation.ActType = package.ActNum;
+ operation.CfgID = package.CfgID;
+
+ var config = ActTaskConfig.Get(package.CfgID);
+ if (config == null)
+ {
+ SysNotifyMgr.Instance.ShowTip("LoadConfigErr");
+ return;
+ }
+ operation.dayReset = config.IsDayReset == 1;
+ operationTimeUpdateEvent?.Invoke(opreationType);
}
// public void UpdateActYunShiInfo(HAA87_tagMCActYunshiInfo package)
@@ -1157,5 +1275,10 @@
HeroReturn = 3, //鏃ユ湡鍨嬫椿鍔� - 姝﹀皢杩斿満
TotalRecharge = 4,//绱厖娲诲姩
TotDayRecharge = 5, //绱厖澶╂椿鍔�
+ FestivalActivity = 6, //鑺傛棩娲诲姩
+ FestivalActivity_RechargeTotDay = 7, //鑺傛棩娲诲姩-绱ぉ鍏呭��
+ FestivalActivity_RechargeTotal = 8, //鑺傛棩娲诲姩-绱厖鍊�
+ FestivalActivity_CheckIn = 9, //鑺傛棩娲诲姩-绛惧埌
+ FestivalActivity_Mission = 10, //鑺傛棩娲诲姩-浠诲姟
max,
}
\ No newline at end of file
--
Gitblit v1.8.0