This commit is contained in:
tanglong 2026-07-17 14:16:08 +08:00
parent c65fd9d3c2
commit a980826100

View File

@ -1443,18 +1443,36 @@ namespace YD_YiLu.Api.Services.Impl
private static bool IsYtpSummaryDateType(int dateType) private static bool IsYtpSummaryDateType(int dateType)
{ {
return dateType == 4 || dateType == 9; return dateType == 1 || dateType == 2 || dateType == 3 || dateType == 4 || dateType == 9;
} }
private static string GetYtpSummaryTime(int dateType) private static string GetYtpSummaryTime(int dateType)
{ {
if (dateType == 9) var today = DateTime.Now.Date;
return DateTime.Now.Year.ToString(); var weekStart = GetWeekStart(today);
var monthStart = new DateTime(today.Year, today.Month, 1);
var (start, end) = GetCurrentSemesterRange(DateTime.Now.Date); switch (dateType)
{
case 1:
return today.ToString("yyyy-MM-dd");
case 2:
return $"{weekStart:MM-dd}~{weekStart.AddDays(6):MM-dd}";
case 3:
return monthStart.AddMonths(1).AddDays(-1).ToString("MM-dd");
case 9:
return today.Year.ToString();
}
var (start, end) = GetCurrentSemesterRange(today);
return $"{start:MM-dd}~{end:MM-dd}"; return $"{start:MM-dd}~{end:MM-dd}";
} }
private static DateTime GetWeekStart(DateTime today)
{
return today.AddDays(-(((int)today.DayOfWeek + 6) % 7));
}
private static (DateTime start, DateTime end) GetCurrentSemesterRange(DateTime today) private static (DateTime start, DateTime end) GetCurrentSemesterRange(DateTime today)
{ {
if (today.Month >= 2 && today.Month <= 8) if (today.Month >= 2 && today.Month <= 8)
@ -1469,20 +1487,20 @@ namespace YD_YiLu.Api.Services.Impl
private static (DateTime? start, DateTime? end) GetDateRange(int dateType, string queryStart, string queryEnd) private static (DateTime? start, DateTime? end) GetDateRange(int dateType, string queryStart, string queryEnd)
{ {
var today = DateTime.Now.Date; var today = DateTime.Now.Date;
var weekStart = today.AddDays(-(((int)today.DayOfWeek + 6) % 7)); var weekStart = GetWeekStart(today);
var monthStart = new DateTime(today.Year, today.Month, 1); var monthStart = new DateTime(today.Year, today.Month, 1);
(DateTime? start, DateTime? end) result = dateType switch (DateTime? start, DateTime? end) result = dateType switch
{ {
0 => ((DateTime?)null, (DateTime?)null), 0 => ((DateTime?)null, (DateTime?)null),
1 => (today, today), 1 => (today, today),
2 => (weekStart, today), 2 => (weekStart, weekStart.AddDays(6)),
3 => (monthStart, today), 3 => (monthStart, monthStart.AddMonths(1).AddDays(-1)),
4 => GetCurrentSemesterRange(today), 4 => GetCurrentSemesterRange(today),
5 => (DateTime.TryParse(queryStart, out var s) ? s : (DateTime?)null, DateTime.TryParse(queryEnd, out var e) ? e : (DateTime?)null), 5 => (DateTime.TryParse(queryStart, out var s) ? s : (DateTime?)null, DateTime.TryParse(queryEnd, out var e) ? e : (DateTime?)null),
6 => (weekStart.AddDays(-7), weekStart.AddDays(-1)), 6 => (weekStart.AddDays(-7), weekStart.AddDays(-1)),
7 => (monthStart.AddMonths(-1), monthStart.AddDays(-1)), 7 => (monthStart.AddMonths(-1), monthStart.AddDays(-1)),
8 => (today.AddMonths(-3), today), 8 => (today.AddMonths(-3), today),
9 => (new DateTime(today.Year, 1, 1), today), 9 => (new DateTime(today.Year, 1, 1), new DateTime(today.Year, 12, 31)),
_ => ((DateTime?)null, (DateTime?)null) _ => ((DateTime?)null, (DateTime?)null)
}; };