fix: 修复linux时间周问题

This commit is contained in:
chenchun
2023-09-17 10:50:02 +08:00
parent 15dd8a60d7
commit 2c2eb0cb8d
2 changed files with 36 additions and 4 deletions

View File

@@ -4,6 +4,7 @@ using System.Globalization;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using EasyTool.Extension;
using Mapster; using Mapster;
using Yi.Framework.Infrastructure.Ddd.Repositories; using Yi.Framework.Infrastructure.Ddd.Repositories;
using Yi.Furion.Core.Bbs.Dtos.AccessLog; using Yi.Furion.Core.Bbs.Dtos.AccessLog;
@@ -17,6 +18,37 @@ namespace Yi.Furion.Application.Bbs.Services.Impl
private readonly IRepository<AccessLogEntity> _repository; private readonly IRepository<AccessLogEntity> _repository;
public AccessLogService(IRepository<AccessLogEntity> repository) { _repository = repository; } public AccessLogService(IRepository<AccessLogEntity> repository) { _repository = repository; }
public DateTime GetWeekFirst()
{
var week = DateTime.Now.DayOfWeek;
switch (week)
{
case DayOfWeek.Sunday:
return DateTime.Now.AddDays(-7).Date;
case DayOfWeek.Monday:
return DateTime.Now.AddDays(-1).Date;
case DayOfWeek.Tuesday:
return DateTime.Now.AddDays(-2).Date;
case DayOfWeek.Wednesday:
return DateTime.Now.AddDays(-3).Date;
case DayOfWeek.Thursday:
return DateTime.Now.AddDays(-4).Date;
case DayOfWeek.Friday:
return DateTime.Now.AddDays(-5).Date;
case DayOfWeek.Saturday:
return DateTime.Now.AddDays(-6).Date;
default:
throw new ArgumentException("日期错误");
}
}
/// <summary> /// <summary>
/// 触发 /// 触发
/// </summary> /// </summary>
@@ -50,7 +82,7 @@ namespace Yi.Furion.Application.Bbs.Services.Impl
private AccessLogDto[] WeekTimeHandler(AccessLogEntity[] data) private AccessLogDto[] WeekTimeHandler(AccessLogEntity[] data)
{ {
data = data.Where(x=>x.CreationTime>=EasyTool.DateTimeUtil.GetFirstDayOfWeek()).OrderByDescending(x=>x.CreationTime).DistinctBy(x=>x.CreationTime.DayOfWeek).ToArray(); data = data.Where(x => x.CreationTime >= GetWeekFirst()).OrderByDescending(x => x.CreationTime).DistinctBy(x => x.CreationTime.DayOfWeek).ToArray();
Dictionary<DayOfWeek, AccessLogDto> processedData = new Dictionary<DayOfWeek, AccessLogDto>(); Dictionary<DayOfWeek, AccessLogDto> processedData = new Dictionary<DayOfWeek, AccessLogDto>();