From 04e1b952e93439afa33c07ea900939bef500ccb0 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期六, 22 三月 2025 21:01:00 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024 --- Tiger.Business/Services/Base/TigerJobBase.cs | 167 ++++++++++++++++++++++++++----------------------------- 1 files changed, 78 insertions(+), 89 deletions(-) diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs index f2fc093..26c6bc2 100644 --- a/Tiger.Business/Services/Base/TigerJobBase.cs +++ b/Tiger.Business/Services/Base/TigerJobBase.cs @@ -21,11 +21,11 @@ /// <summary> /// 寮�濮嬫椂闂� /// </summary> - public static DateTime StartTime { get; set; } + public DateTime StartTime { get; set; } /// <summary> /// 淇濆瓨鏃ュ織 /// </summary> - public static ApiAction SaveLog(JobExecutingContext context, string remark) + public ApiAction SaveLog(JobExecutingContext context, string remark) { ApiAction action = new ApiAction(); Type type = Type.GetType(context.JobDetail.JobType, throwOnError: true); @@ -121,97 +121,86 @@ /// 鍒ゆ柇鏃堕棿锛岃繑鍥炴槸鍚﹀彲浠ョ户缁伐浣滀换鍔� /// </summary> /// <returns></returns> - public TskJobInput CheckIFCanGo() + public TskJobInput CheckHowToDo() { TskJobInput tskJobInput = new TskJobInput(); var dateTime = DateTime.Now; - if (Args.Interval > 0) + + //鎸夋椂闂寸被鍨嬫潵杩愯 + switch (Args.Type) { - tskJobInput.result = true; - tskJobInput.input = new() - { - startTime = dateTime.AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss"), - endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), - }; - } - else - { - //鎸夋椂闂寸被鍨嬫潵杩愯 - switch (Args.Type) - { - case TrigArgs.EveryType.Milliseconds: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Seconds: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Minutes: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Hours: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Days: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Weeks: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); - tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Weekdays: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - case TrigArgs.EveryType.Months: - dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); - tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); - tskJobInput.input = new() - { - startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), - endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), - }; - break; - } + case TrigArgs.EveryType.Milliseconds: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y"? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Seconds: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Minutes: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Hours: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Days: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Weeks: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Weekdays: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; + case TrigArgs.EveryType.Months: + dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); + tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); + tskJobInput.input = new() + { + startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), + endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), + }; + break; } return tskJobInput; } -- Gitblit v1.9.3