fix datapermission crosstenant

This commit is contained in:
2024-07-24 15:48:57 +08:00
parent 9cd31df6fc
commit 70edac18a3
20 changed files with 57 additions and 193 deletions

View File

@@ -146,7 +146,7 @@ public class OrderService : IOrderService
{
Start = TimeOnly.FromDateTime(x.Start),
End = TimeOnly.FromDateTime(x.End)
}.IsPresent1(request.CostDateTime));
}.IsPresent(request.CostDateTime));
shift.ThrowIfNull("非就餐时间,无法消费");
var costDate = await GetCostDateAsync(shift, request.CostDateTime);

View File

@@ -1,42 +0,0 @@
using Kurisu.AspNetCore.CustomClass;
namespace Dlhis.Middle;
/// <summary>
/// 临时的扩展类 todo: 嵌入框架
/// </summary>
public static class TimePeriodExtensions
{
public static bool IsPresent1(this TimePeriod period, DateTime dateTime)
{
DateTime start;
DateTime end;
if (period.IsCrossDay())
{
//period = [22:00:00,03:00:00]
var currentStart = dateTime.Date.Add(period.Start.Value.ToTimeSpan());
var endOfDay = dateTime.Date.AddDays(1).AddSeconds(-1);
//assume is left range . then currentStart is 2024-04-16 22:00:00 and endOfDay is 2024-04-16 23:59:59
if (dateTime >= currentStart && dateTime <= endOfDay)
{
start = currentStart; //2024-04-16 22:00:00
end = dateTime.Date.AddDays(1).Add(period.End.Value.ToTimeSpan());//2024-04-17 03:00:00
}
else
{
start = dateTime.Date.AddDays(-1).Add(period.Start.Value.ToTimeSpan());
end = dateTime.Date.Add(period.End.Value.ToTimeSpan());
}
}
else
{
start = dateTime.Date.Add(period.Start.Value.ToTimeSpan());
end = dateTime.Date.Add(period.End.Value.ToTimeSpan());
}
return dateTime >= start && dateTime <= end;
}
}