fix:格式化预警明细时区e.g GMT +8:00 / --
This commit is contained in:
parent
52573a7c1d
commit
331862f480
@ -87,9 +87,9 @@ public class CompleteWarningDetailsDto
|
||||
public DateTime? LatestTrackTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹发生时区
|
||||
/// 最新轨迹发生时区 e.g GMT +8:00 / --
|
||||
/// </summary>
|
||||
public float? LatestTrackTimeZone { get; set; }
|
||||
public string? LatestTrackTimeZone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 通知对象
|
||||
|
||||
@ -96,9 +96,9 @@ public sealed class ReturnWarningDetailsDto
|
||||
public DateTime TrackTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹发生时区
|
||||
/// 轨迹发生时区 e.g GMT +8:00 / --
|
||||
/// </summary>
|
||||
public float TrackTimeZone { get; set; }
|
||||
public string TrackTimeZone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹创建时间
|
||||
|
||||
@ -64,7 +64,7 @@ public sealed class TransportWarningDetailsDto
|
||||
public DateTime? LatestTrackTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最新轨迹发生时区
|
||||
/// 最新轨迹发生时区 e.g GMT +8:00 / --
|
||||
/// </summary>
|
||||
public string LatestTrackTimeZone { get; set; }
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@ public partial class OrderService : ApplicationService, IOrderService
|
||||
order.IsDeleted = true;
|
||||
_ = Task.Run(async () =>
|
||||
{
|
||||
var scope = _serviceProvider.CreateScope();
|
||||
var scope = _serviceProvider.CreateAsyncScope();
|
||||
try
|
||||
{
|
||||
var handler = scope.ServiceProvider.GetRequiredService<IOrderWarningHandler>();
|
||||
@ -206,7 +206,7 @@ public partial class OrderService : ApplicationService, IOrderService
|
||||
}
|
||||
finally
|
||||
{
|
||||
scope.Dispose();
|
||||
await scope.DisposeAsync();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -185,7 +185,7 @@ public class CompleteWarningService : ApplicationService
|
||||
LatestTrackContent = orderIdTrack?.TrackContent,
|
||||
LatestTrackPlace = orderIdTrack?.TrackPlace,
|
||||
LatestTrackTime = orderIdTrack?.TrackTime,
|
||||
LatestTrackTimeZone = orderIdTrack?.TrackTimeZone,
|
||||
LatestTrackTimeZone = FormatTimeZone(orderIdTrack?.TrackTimeZone),
|
||||
|
||||
NotifyUserNames = ToUserNames(x.NotifyUsers),
|
||||
CreateTime = x.CreateTime,
|
||||
@ -212,6 +212,7 @@ public class CompleteWarningService : ApplicationService
|
||||
return string.Join(',', notifyUsers.ToObject<List<NotifyUserDto>>().Select(x => x.UserName));
|
||||
}
|
||||
|
||||
// 构建缺失轨迹状态
|
||||
List<TrackStatusDto> BuildMissingTrackStatus(string statusIds)
|
||||
{
|
||||
var trackStatus = statusIds.Split(',').Select(x =>
|
||||
@ -229,6 +230,22 @@ public class CompleteWarningService : ApplicationService
|
||||
|
||||
return trackStatus.ToList()!;
|
||||
}
|
||||
|
||||
// 格式化时区
|
||||
string FormatTimeZone(float? timezone)
|
||||
{
|
||||
if (timezone == null) return "--";
|
||||
|
||||
if (Math.Abs(timezone.Value - GlobalConst.NoneTrackTimeZone) < 1) return "--";
|
||||
|
||||
// 将小数形式的小时转换为时区偏移量
|
||||
var hours = (int) timezone.Value; // 提取整数部分作为小时
|
||||
var minutes = (int) ((timezone.Value - hours) * 60); // 将小数部分乘以 60 转换为分钟
|
||||
var offset = new TimeSpan(hours, minutes, 0);
|
||||
var timeZoneStr = offset.ToString();
|
||||
var flag = timezone > 0f ? "+" : "";
|
||||
return $"GMT {flag}{timeZoneStr.RemovePostFix(":00")}";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -138,7 +138,7 @@ public class ReturnWarningService : ApplicationService
|
||||
TrackContent = x.TrackContent,
|
||||
TrackPlace = x.TrackPlace,
|
||||
TrackTime = x.TrackTime,
|
||||
TrackTimeZone = x.TrackTimeZone,
|
||||
TrackTimeZone = FormatTimeZone(x.TrackTimeZone),
|
||||
TrackCreateTime = x.TrackCreateTime,
|
||||
// 轨迹信息(映射后)
|
||||
PushTrackCode = x.PushTrackCode,
|
||||
@ -176,6 +176,22 @@ public class ReturnWarningService : ApplicationService
|
||||
return string.Empty;
|
||||
return string.Join(',', notifyUsers.ToObject<List<NotifyUserDto>>().Select(x => x.UserName));
|
||||
}
|
||||
|
||||
// 格式化时区
|
||||
string FormatTimeZone(float? timezone)
|
||||
{
|
||||
if (timezone == null) return "--";
|
||||
|
||||
if (Math.Abs(timezone.Value - GlobalConst.NoneTrackTimeZone) < 1) return "--";
|
||||
|
||||
// 将小数形式的小时转换为时区偏移量
|
||||
var hours = (int) timezone.Value; // 提取整数部分作为小时
|
||||
var minutes = (int) ((timezone.Value - hours) * 60); // 将小数部分乘以 60 转换为分钟
|
||||
var offset = new TimeSpan(hours, minutes, 0);
|
||||
var timeZoneStr = offset.ToString();
|
||||
var flag = timezone > 0f ? "+" : "";
|
||||
return $"GMT {flag}{timeZoneStr.RemovePostFix(":00")}";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -81,7 +81,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex
|
||||
if (Status is (int) TransportWarningStatus.已完成 or (int) TransportWarningStatus.超时完成)
|
||||
return (long)EndTrackTime!.Value.Subtract(StartTrackTime).TotalMilliseconds;
|
||||
|
||||
// 已关闭,当前时间 - 起始轨迹时间
|
||||
// 其他状态,当前时间 - 起始轨迹时间
|
||||
return (long)DateTime.Now.Subtract(StartTrackTime).TotalMilliseconds;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user