sync-namespace:同步命名空间

This commit is contained in:
hardstylewyl 2025-03-04 14:19:34 +08:00
parent 3382bcff76
commit 25298dc494
33 changed files with 498 additions and 514 deletions

View File

@ -1,106 +1,106 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Complete;
/// <summary>
/// 完整预警
/// </summary>
public class CompleteWarningDetailsDto // todo:需要根据状态排序
{
/// <summary>
/// 预警明细唯一id
/// </summary>
public string EsId { get; set; }
/// <summary>
/// 预警明细唯一id
/// </summary>
public string EsId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统名称
/// </summary>
public string SubSystemName { get; set; } // todo:id换名称
/// <summary>
/// 子系统名称
/// </summary>
public string SubSystemName { get; set; } // todo:id换名称
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 订单类型名称
/// </summary>
public string OrderTypeName { get; set; } // todo:type换名称
/// <summary>
/// 订单类型名称
/// </summary>
public string OrderTypeName { get; set; } // todo:type换名称
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 状态 (待处理样式标红)
/// 1:待处理,2:已处理,3:已关闭
/// </summary>
public int Status { get; set; }
/// <summary>
/// 状态 (待处理样式标红)
/// 1:待处理,2:已处理,3:已关闭
/// </summary>
public int Status { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 客户简称
/// </summary>
public int CustomName { get; set; } // todo:id换名称
/// <summary>
/// 客户简称
/// </summary>
public int CustomName { get; set; } // todo:id换名称
/// <summary>
/// 缺失轨迹状态
/// </summary>
public string MissingTrackStatus { get; set; } // todo:id换名称
/// <summary>
/// 缺失轨迹状态
/// </summary>
public string MissingTrackStatus { get; set; } // todo:id换名称
//视图属性 todo:可以从订单主表拿到
//视图属性 todo:可以从订单主表拿到
/// <summary>
/// 最新轨迹状态
/// </summary>
public string LatestTrackStatus { get; set; }
/// <summary>
/// 最新轨迹状态
/// </summary>
public string LatestTrackStatus { get; set; }
/// <summary>
/// 最新轨迹内容
/// </summary>
public string LatestTrackContent { get; set; }
/// <summary>
/// 最新轨迹内容
/// </summary>
public string LatestTrackContent { get; set; }
/// <summary>
/// 最新轨迹发生地
/// </summary>
public string LatestTrackPlace { get; set; }
/// <summary>
/// 最新轨迹发生地
/// </summary>
public string LatestTrackPlace { get; set; }
/// <summary>
/// 最新轨迹发生时间
/// </summary>
public DateTime LatestTrackTime { get; set; }
/// <summary>
/// 最新轨迹发生时间
/// </summary>
public DateTime LatestTrackTime { get; set; }
/// <summary>
/// 最新轨迹发生时区
/// </summary>
public float LatestTrackTimeZone { get; set; }
/// <summary>
/// 最新轨迹发生时区
/// </summary>
public float LatestTrackTimeZone { get; set; }
/// <summary>
/// 通知对象
/// </summary>
public string NotifyUserNames { get; set; }
/// <summary>
/// 通知对象
/// </summary>
public string NotifyUserNames { get; set; }
/// <summary>
/// 预警创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 预警创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 预警处理时间
/// </summary>
public DateTime? ProcessedTime { get; set; }
/// <summary>
/// 预警处理时间
/// </summary>
public DateTime? ProcessedTime { get; set; }
}

View File

@ -1,7 +1,7 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
using SJZY.Track.Application.Contract.Dtos.Warning;
using SJZY.Track.Application.Contract.Dtos.Warning.Return;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Complete;
/// <summary>
/// 完整预警规则配置条目

View File

@ -1,24 +1,23 @@
using System.ComponentModel.DataAnnotations;
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Complete;
/// <summary>
/// 编辑完整预警配置
/// </summary>
public class EditCompleteWarningRuleItemInput
{
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditCompleteWarningRuleItemDto> Items { get; set; } = new();
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditCompleteWarningRuleItemDto> Items { get; set; } = new();
}
/// <summary>
@ -26,35 +25,35 @@ public class EditCompleteWarningRuleItemInput
/// </summary>
public class EditCompleteWarningRuleItemDto
{
/// <summary>
/// 规则项目唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 规则项目唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 订单类型集合(,分割) e.g. 1,2,3
/// </summary>
[Required]
public string OrderTypes { get; set; }
/// <summary>
/// 订单类型集合(,分割) e.g. 1,2,3
/// </summary>
[Required]
public string OrderTypes { get; set; }
/// <summary>
/// 检查点轨迹状态id
/// </summary>
[IdRequired]
public int CheckPointTrackStatusId { get; set; }
/// <summary>
/// 检查点轨迹状态id
/// </summary>
[IdRequired]
public int CheckPointTrackStatusId { get; set; }
/// <summary>
/// 要求的轨迹状态id集合 e.g. [[1,3],[5,7]]
/// required: 集合元素(子集合)不要有交集!
/// </summary>
[Required]
[MinLength(1, ErrorMessage = "要求的轨迹状态id集合不能为空")]
public List<List<int>> RequireTrackStatus { get; set; }
/// <summary>
/// 要求的轨迹状态id集合 e.g. [[1,3],[5,7]]
/// required: 集合元素(子集合)不要有交集!
/// </summary>
[Required]
[MinLength(1, ErrorMessage = "要求的轨迹状态id集合不能为空")]
public List<List<int>> RequireTrackStatus { get; set; }
/// <summary>
/// 通知对象用户集合
/// </summary>
[Required]
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
/// <summary>
/// 通知对象用户集合
/// </summary>
[Required]
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
}

View File

@ -1,6 +1,6 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Complete;
/// <summary>
/// 获取完整预警规则条目列表

View File

@ -1,6 +1,4 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Complete;
/// <summary>
/// 分页获取完成预警详情

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
/// <summary>
/// 要求id存在并且大于0
@ -8,9 +8,9 @@ namespace Track.Warning.VNext.Application.Contract.DataAnnotations;
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
public sealed class IdRequiredAttribute : RangeAttribute
{
public IdRequiredAttribute()
: base(1, int.MaxValue)
{
ErrorMessage = "{0} is required and must be greater than 0";
}
public IdRequiredAttribute()
: base(1, int.MaxValue)
{
ErrorMessage = "{0} is required and must be greater than 0";
}
}

View File

@ -1,4 +1,4 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
namespace SJZY.Track.Application.Contract.Dtos.Warning;
/// <summary>
/// 获取预警规则主体

View File

@ -1,19 +1,19 @@
using System.ComponentModel.DataAnnotations;
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Common;
namespace SJZY.Track.Application.Contract.Dtos.Warning;
public sealed class NotifyUserDto
{
/// <summary>
/// 用户id
/// </summary>
[IdRequired]
public int UserId { get; set; }
/// <summary>
/// 用户id
/// </summary>
[IdRequired]
public int UserId { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Required]
public string UserName { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Required]
public string UserName { get; set; }
}

View File

@ -1,24 +1,23 @@
using System.ComponentModel.DataAnnotations;
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 编辑回传时效配置
/// </summary>
public class EditReturnWarningRuleItemInput
{
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditReturnWarningRuleItemDto> Items { get; set; } = new();
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditReturnWarningRuleItemDto> Items { get; set; } = new();
}
/// <summary>
@ -26,26 +25,26 @@ public class EditReturnWarningRuleItemInput
/// </summary>
public class EditReturnWarningRuleItemDto
{
/// <summary>
/// 唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 轨迹状态Id集合(,分割)
/// </summary>
[Required]
public string TrackStatusIds { get; set; }
/// <summary>
/// 轨迹状态Id集合(,分割)
/// </summary>
[Required]
public string TrackStatusIds { get; set; }
/// <summary>
/// 时效(单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "时效必须大于0.1")]
public float ReturnTimeSpan { get; set; }
/// <summary>
/// 时效(单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "时效必须大于0.1")]
public float ReturnTimeSpan { get; set; }
/// <summary>
/// 通知对象用户集合
/// </summary>
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
/// <summary>
/// 通知对象用户集合
/// </summary>
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
}

View File

@ -1,6 +1,4 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 分页获取回传预警明细输入

View File

@ -1,6 +1,6 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 获取回传报文日志
@ -10,6 +10,6 @@ public class GetReturnMessageRecordInput
/// <summary>
/// 回传预警明细id
/// </summary>
[IdRequired]
[Required]
public string WarningDetailsId { get; set; }
}

View File

@ -1,6 +1,6 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 获取回传预警规则项目列表

View File

@ -1,4 +1,4 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 回传报文日志
@ -23,7 +23,7 @@ public sealed class ReturnMessageRecordDto
/// <summary>
/// 报文内容 Json字符串
/// </summary>
public string Message { get; set; }
public string Message { get; set; }
/// <summary>
/// 报文创建时间

View File

@ -1,4 +1,4 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
/// <summary>
/// 回传预警明细
@ -45,7 +45,7 @@ public sealed class ReturnWarningDetailsDto
/// 状态 1:人工介入 2:重试中 3:推送完成 4:已关闭
/// </summary>
public int Status { get; set; }
/// <summary>
/// 客户id
/// </summary>
@ -59,7 +59,7 @@ public sealed class ReturnWarningDetailsDto
/// <summary>
/// 轨迹状态
/// </summary>
public string TrackStatus { get; set; }
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹代码

View File

@ -1,6 +1,4 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Return;
public class ReturnWarningRuleItemDto
{

View File

@ -1,27 +1,26 @@
using System.ComponentModel.DataAnnotations;
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
public class EditTransportWarningSceneRuleItemInput
{
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警规主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 运输预警场景id
/// </summary>
[IdRequired]
public int SceneId { get; set; }
/// <summary>
/// 运输预警场景id
/// </summary>
[IdRequired]
public int SceneId { get; set; }
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditTransportWarningSceneRuleItemDto> Items { get; set; } = new();
/// <summary>
/// 预警规则配置项目(列表内容传递)
/// </summary>
public List<EditTransportWarningSceneRuleItemDto> Items { get; set; } = new();
}
/// <summary>
@ -29,38 +28,38 @@ public class EditTransportWarningSceneRuleItemInput
/// </summary>
public class EditTransportWarningSceneRuleItemDto
{
/// <summary>
/// 规则项目id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 规则项目id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 起始轨迹状态Id
/// </summary>
[IdRequired]
public int StartTrackStatusId { get; set; }
/// <summary>
/// 起始轨迹状态Id
/// </summary>
[IdRequired]
public int StartTrackStatusId { get; set; }
/// <summary>
/// 截止轨迹状态Id
/// </summary>
[IdRequired]
public int EndTrackStatusId { get; set; }
/// <summary>
/// 截止轨迹状态Id
/// </summary>
[IdRequired]
public int EndTrackStatusId { get; set; }
/// <summary>
/// 时效 (单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "时效必须大于0.1")]
public float TransportTimeSpan { get; set; }
/// <summary>
/// 时效 (单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "时效必须大于0.1")]
public float TransportTimeSpan { get; set; }
/// <summary>
/// 起始轨迹生成预警时间 (单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "起始轨迹生成预警时间必须大于0.1")]
public float StartTrackWarningTimeSpan { get; set; }
/// <summary>
/// 起始轨迹生成预警时间 (单位h)
/// </summary>
[Range(0.1, float.MaxValue, ErrorMessage = "起始轨迹生成预警时间必须大于0.1")]
public float StartTrackWarningTimeSpan { get; set; }
/// <summary>
/// 通知对象用户集合
/// </summary>
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
/// <summary>
/// 通知对象用户集合
/// </summary>
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
}

View File

@ -1,6 +1,4 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 分页获取运输预警明细
@ -33,7 +31,7 @@ public class GetPageTransportWarningDetailsInput : PageInfoInput
public int? CustomId { get; set; }
/// <summary>
/// 预警名称
/// 预警名称
/// </summary>
public string? WarningName { get; set; }
@ -51,4 +49,4 @@ public class GetPageTransportWarningDetailsInput : PageInfoInput
/// 创建时间截止
/// </summary>
public DateTime? CreateTimeEnd { get; set; }
}
}

View File

@ -1,15 +1,15 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 获取运输时效预警规则场景
/// </summary>
public class GetTransportWarningSceneInput
{
/// <summary>
/// 预警主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
}

View File

@ -1,21 +1,21 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 获取运输时效预警场景规则条目列表
/// </summary>
public class GetTransportWarningSceneRuleItemInput
{
/// <summary>
/// 预警主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 预警主体id
/// </summary>
[IdRequired]
public int WarningId { get; set; }
/// <summary>
/// 运输预警场景id
/// </summary>
[IdRequired]
public int SceneId { get; set; }
/// <summary>
/// 运输预警场景id
/// </summary>
[IdRequired]
public int SceneId { get; set; }
}

View File

@ -1,149 +1,149 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 运输时效预警明细
/// </summary>
public sealed class TransportWarningDetailsDto // todo:需要根据状态排序
{
/// <summary>
/// 预警明细唯一id
/// </summary>
public string EsId { get; set; }
/// <summary>
/// 预警明细唯一id
/// </summary>
public string EsId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统名称
/// </summary>
public string SubSystemName { get; set; } // todo:id换名称
/// <summary>
/// 子系统名称
/// </summary>
public string SubSystemName { get; set; } // todo:id换名称
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 客户简称
/// </summary>
public string CustomName { get; set; } // todo:id换名称
/// <summary>
/// 客户简称
/// </summary>
public string CustomName { get; set; } // todo:id换名称
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 订单类型名称
/// </summary>
public string OrderTypeName { get; set; } // todo:type换名称
/// <summary>
/// 订单类型名称
/// </summary>
public string OrderTypeName { get; set; } // todo:type换名称
// 实时属性 todo:从订单查询
// 实时属性 todo:从订单查询
/// <summary>
/// 最新轨迹内容
/// </summary>
public string LatestTrackContent { get; set; }
/// <summary>
/// 最新轨迹内容
/// </summary>
public string LatestTrackContent { get; set; }
/// <summary>
/// 最新轨迹时间
/// </summary>
public DateTime LatestTrackTime { get; set; }
/// <summary>
/// 最新轨迹时间
/// </summary>
public DateTime LatestTrackTime { get; set; }
/// <summary>
/// 最新轨迹发生时区
/// </summary>
public float LatestTrackTimeZone { get; set; }
/// <summary>
/// 最新轨迹发生时区
/// </summary>
public float LatestTrackTimeZone { get; set; }
/// <summary>
/// 最新轨迹发生地
/// </summary>
public string LatestTrackPlace { get; set; }
/// <summary>
/// 最新轨迹发生地
/// </summary>
public string LatestTrackPlace { get; set; }
/// <summary>
/// 通知对象
/// </summary>
public string NotifyUserNames { get; set; }
/// <summary>
/// 通知对象
/// </summary>
public string NotifyUserNames { get; set; }
/// <summary>
/// 起始轨迹状态
/// </summary>
public string StartTrackStatus { get; set; }
/// <summary>
/// 起始轨迹状态
/// </summary>
public string StartTrackStatus { get; set; }
/// <summary>
/// 起始轨迹内容
/// </summary>
public string StartTrackContent { get; set; }
/// <summary>
/// 起始轨迹内容
/// </summary>
public string StartTrackContent { get; set; }
/// <summary>
/// 起始轨迹发生时间
/// </summary>
public DateTime StartTrackTime { get; set; }
/// <summary>
/// 起始轨迹发生时间
/// </summary>
public DateTime StartTrackTime { get; set; }
/// <summary>
/// 起始轨迹时区
/// </summary>
public float StartTrackTimeZone { get; set; }
/// <summary>
/// 起始轨迹时区
/// </summary>
public float StartTrackTimeZone { get; set; }
/// <summary>
/// 截止轨迹状态
/// </summary>
public string EndTrackStatus { get; set; }
/// <summary>
/// 截止轨迹状态
/// </summary>
public string EndTrackStatus { get; set; }
/// <summary>
/// 截止轨迹内容
/// </summary>
public string? EndTrackContent { get; set; }
/// <summary>
/// 截止轨迹内容
/// </summary>
public string? EndTrackContent { get; set; }
/// <summary>
/// 截止轨迹发生时间
/// </summary>
public DateTime? EndTrackTime { get; set; }
/// <summary>
/// 截止轨迹发生时间
/// </summary>
public DateTime? EndTrackTime { get; set; }
/// <summary>
/// 截止轨迹时区
/// </summary>
public float? EndTrackTimeZone { get; set; }
/// <summary>
/// 截止轨迹时区
/// </summary>
public float? EndTrackTimeZone { get; set; }
/// <summary>
/// 预警名称 (预警主体名称 如字节全程时效)
/// </summary>
public string WarningName { get; set; }
/// <summary>
/// 预警名称 (预警主体名称 如字节全程时效)
/// </summary>
public string WarningName { get; set; }
/// <summary>
/// 预警规则描述(用于tooltip展示)
/// </summary>
public string WarningRuleDescription { get; set; }
/// <summary>
/// 预警规则描述(用于tooltip展示)
/// </summary>
public string WarningRuleDescription { get; set; }
/// <summary>
/// 累计运输时间
/// </summary>
public string CumulativeTimeSpan { get; set; } // todo:需要转换为某个格式
/// <summary>
/// 累计运输时间
/// </summary>
public string CumulativeTimeSpan { get; set; } // todo:需要转换为某个格式
/// <summary>
/// 预警状态 (根据key展示对应名称,即将超时需要标红)
/// 1:即将超时 2:已超时 3:已完成 4:超时完成 5:已关闭,初始为【即将超时】
/// </summary>
public int Status { get; set; }
/// <summary>
/// 预警状态 (根据key展示对应名称,即将超时需要标红)
/// 1:即将超时 2:已超时 3:已完成 4:超时完成 5:已关闭,初始为【即将超时】
/// </summary>
public int Status { get; set; }
/// <summary>
/// 预警创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 预警创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 预警规则场景

View File

@ -1,6 +1,6 @@
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using SJZY.Track.Application.Contract.Dtos.Warning;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 运输时效场景规则项目

View File

@ -1,6 +1,5 @@
using Track.Warning.VNext.Application.Contract.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.Warning.Transport;
public class UpsertTransportWarningSceneInput
{

View File

@ -1,45 +1,45 @@
using System.ComponentModel.DataAnnotations;
using Track.Warning.VNext.Application.Contract.DataAnnotations;
using SJZY.Track.Application.Contract.Dtos.Warning.DataAnnotations;
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
namespace SJZY.Track.Application.Contract.Dtos.Warning;
/// <summary>
/// 更新或者新增预警规则主体
/// </summary>
public class UpsertWarningRuleInput
{
/// <summary>
/// 唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 唯一id(传0视为新增)
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
[IdRequired]
public int SubSystemId { get; set; } //子系统id
/// <summary>
/// 子系统id
/// </summary>
[IdRequired]
public int SubSystemId { get; set; } //子系统id
/// <summary>
/// 客户id
/// </summary>
[IdRequired]
public int CustomId { get; set; } //客户id
/// <summary>
/// 客户id
/// </summary>
[IdRequired]
public int CustomId { get; set; } //客户id
/// <summary>
/// 预警规则名称
/// </summary>
[Required]
public string Name { get; set; }
/// <summary>
/// 预警规则名称
/// </summary>
[Required]
public string Name { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[Required]
public bool IsEnabled { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[Required]
public bool IsEnabled { get; set; }
/// <summary>
/// 预警类型,1:运输时效,2:回传时效,3:完整预警
/// </summary>
[Range(1, 3, ErrorMessage = "预警类型只能选取以下值,1:运输时效,2:回传时效,3:完整预警")]
public int WarningType { get; set; }
/// <summary>
/// 预警类型,1:运输时效,2:回传时效,3:完整预警
/// </summary>
[Range(1, 3, ErrorMessage = "预警类型只能选取以下值,1:运输时效,2:回传时效,3:完整预警")]
public int WarningType { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
namespace SJZY.Track.Application.Contract.Dtos.Warning;
/// <summary>
/// 预警规则主体
@ -29,7 +29,7 @@ public sealed class WarningRuleDto
/// 客户简称
/// </summary>
public int CustomName { get; set; } // todo:id换name
/// <summary>
/// 预警规则名称
/// </summary>

View File

@ -557,24 +557,24 @@ public partial class TrackService : ApplicationService, ITrackService
//查询并按比较字段过滤轨迹,当比较字段为空时则使用轨迹发生时间过滤
//tips:后续进行投影缩参优化
private async Task<List<TrackDetailsIndex>> QueryAndFilterAsync(int orderId1, string trackCode1, DateTime trackTime1, string? extra1, string? compareFields1)
private async Task<List<TrackDetailsIndex>> QueryAndFilterAsync(int orderId, string trackCode, DateTime trackTime, string? extra, string? compareFields)
{
var tracks1 = await _trackDetailsEsRepository.GetListAsync(new[] { orderId1 }, trackCode1, true);
var tracks = await _trackDetailsEsRepository.GetListAsync(new[] { orderId }, trackCode, true);
//无比较字段时使用轨迹时间参与过滤(兼容老版本)
if (string.IsNullOrWhiteSpace(compareFields1))
if (string.IsNullOrWhiteSpace(compareFields))
{
return tracks1.Where(x => x.TrackTime == trackTime1).ToList();
return tracks.Where(x => x.TrackTime == trackTime).ToList();
}
return tracks1.Where(x =>
return tracks.Where(x =>
{
if (string.IsNullOrWhiteSpace(x.Extra))
throw new BusinessException(message: "轨迹extra为空无法使用比较字段比较,请检查轨迹");
var extraJsonElement = TextJsonHelper.DeserializeToJsonElement(x.Extra);
var inputExtraJsonElement = TextJsonHelper.DeserializeToJsonElement(extra1);
var inputExtraJsonElement = TextJsonHelper.DeserializeToJsonElement(extra);
return TextJsonHelper.EqByJsonElementField(extraJsonElement, inputExtraJsonElement, compareFields1);
return TextJsonHelper.EqByJsonElementField(extraJsonElement, inputExtraJsonElement, compareFields);
})
.ToList();
}

View File

@ -1,48 +1,46 @@
using Microsoft.AspNetCore.Mvc;
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
using SJZY.Track.Application.Contract.Dtos.Warning.Complete;
namespace Track.Warning.VNext.Controllers.Warning;
namespace SJZY.Track.Application.Services.Warning;
/// <summary>
/// 完整预警服务
/// </summary>
[ApiController]
[ApiExplorerSettings(GroupName = "预警服务")]
[Route("Warning/Complete")]
public class CompleteWarningService : ControllerBase
public class CompleteWarningService : ApplicationService
{
/// <summary>
/// 编辑完整预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("EditCompleteWarningRuleItem")]
public Task<UnifyResultDto> EditCompleteWarningRuleItem(EditCompleteWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto());
}
/// <summary>
/// 编辑完整预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("EditCompleteWarningRuleItem")]
public Task<UnifyResultDto> EditCompleteWarningRuleItem(EditCompleteWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto());
}
/// <summary>
/// 获取完整预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetCompleteWarningRuleItem")]
public Task<UnifyResultDto<List<CompleteWarningRuleItemDto>>>
GetCompleteWarningRuleItem(GetCompleteWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto<List<CompleteWarningRuleItemDto>>());
}
/// <summary>
/// 获取完整预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetCompleteWarningRuleItem")]
public Task<UnifyResultDto<List<CompleteWarningRuleItemDto>>>
GetCompleteWarningRuleItem(GetCompleteWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto<List<CompleteWarningRuleItemDto>>());
}
/// <summary>
/// 分页获取完整预警详情
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetPageCompleteWarningDetails")]
public Task<UnifyPageResultDto<CompleteWarningDetailsDto>>
GetPageCompleteWarningDetails(GetPageCompleteWarningDetailsInput input)
{
return Task.FromResult(new UnifyPageResultDto<CompleteWarningDetailsDto>());
}
/// <summary>
/// 分页获取完整预警详情
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetPageCompleteWarningDetails")]
public Task<UnifyPageResultDto<CompleteWarningDetailsDto>>
GetPageCompleteWarningDetails(GetPageCompleteWarningDetailsInput input)
{
return Task.FromResult(new UnifyPageResultDto<CompleteWarningDetailsDto>());
}
}

View File

@ -1,58 +1,54 @@
using Microsoft.AspNetCore.Mvc;
using Track.Warning.VNext.Application.Contract.Dtos.Common;
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
using SJZY.Track.Application.Contract.Dtos.Warning.Return;
namespace Track.Warning.VNext.Controllers.Warning;
namespace SJZY.Track.Application.Services.Warning;
/// <summary>
/// 回传预警服务
/// </summary>
[ApiController]
[ApiExplorerSettings(GroupName = "预警服务")]
[Route("Warning/Return")]
public class ReturnWarningService : ControllerBase
public class ReturnWarningService : ApplicationService
{
/// <summary>
/// 编辑回传预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("EditReturnWarningRuleItem")]
public Task<UnifyResultDto> EditReturnWarningRuleItem(EditReturnWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto());
}
/// <summary>
/// 编辑回传预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("EditReturnWarningRuleItem")]
public Task<UnifyResultDto> EditReturnWarningRuleItem(EditReturnWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto());
}
/// <summary>
/// 分页获取回传预警明细
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetPageReturnWarningDetails")]
public Task<UnifyPageResultDto<ReturnWarningDetailsDto>>
GetPageReturnWarningDetails(GetPageReturnWarningDetailsInput input)
{
return Task.FromResult(new UnifyPageResultDto<ReturnWarningDetailsDto>());
}
/// <summary>
/// 分页获取回传预警明细
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetPageReturnWarningDetails")]
public Task<UnifyPageResultDto<ReturnWarningDetailsDto>> GetPageReturnWarningDetails(GetPageReturnWarningDetailsInput input)
{
return Task.FromResult(new UnifyPageResultDto<ReturnWarningDetailsDto>());
}
/// <summary>
/// 获取回传报文日志
/// </summary>
[HttpPost("GetReturnMessageRecord")]
public Task<UnifyResultDto<List<ReturnMessageRecordDto>>>
GetReturnMessageRecord(GetReturnMessageRecordInput input)
{
return Task.FromResult(new UnifyResultDto<List<ReturnMessageRecordDto>>());
}
/// <summary>
/// 获取回传报文日志
/// </summary>
[HttpPost("GetReturnMessageRecord")]
public Task<UnifyResultDto<List<ReturnMessageRecordDto>>> GetReturnMessageRecord(GetReturnMessageRecordInput input)
{
return Task.FromResult(new UnifyResultDto<List<ReturnMessageRecordDto>>());
}
/// <summary>
/// 获取回传预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetReturnWarningRuleItem")]
public Task<UnifyResultDto<List<ReturnWarningRuleItemDto>>>
GetReturnWarningRuleItem(GetReturnWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto<List<ReturnWarningRuleItemDto>>());
}
/// <summary>
/// 获取回传预警规则列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetReturnWarningRuleItem")]
public Task<UnifyResultDto<List<ReturnWarningRuleItemDto>>>
GetReturnWarningRuleItem(GetReturnWarningRuleItemInput input)
{
return Task.FromResult(new UnifyResultDto<List<ReturnWarningRuleItemDto>>());
}
}

View File

@ -1,11 +1,11 @@
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
using SJZY.Track.Application.Contract.Dtos.Warning.Transport;
/// <summary>
/// 运输时效预警服务
/// </summary>
[ApiController]
[ApiExplorerSettings(GroupName = "预警服务")]
[Route("Warning/Transport")]
public class TransportWarningService : ControllerBase
public class TransportWarningService : ApplicationService
{
/// <summary>

View File

@ -1,13 +1,13 @@
using Track.Warning.VNext.Application.Contract.Dtos.Warning;
using SJZY.Track.Application.Contract.Dtos.Warning;
namespace Track.Warning.VNext.Controllers.Warning;
namespace SJZY.Track.Application.Services.Warning;
/// <summary>
/// 预警规则主体
/// </summary>
[ApiController]
[ApiExplorerSettings(GroupName = "预警服务")]
[Route("Warning")]
public class WarningService : ControllerBase
public class WarningService : ApplicationService
{
/// <summary>
/// 新增/修改预警规则主体

View File

@ -8,6 +8,9 @@ public interface ITrackDetailsEsRepository : IElasticsearchClientService<TrackDe
{
Task<List<TrackDetailsIndex>> GetListAsync(int[] orderIds, string trackCode, bool forUpsert = false);
// todo:s07 获取这些订单的最新一条轨迹
// Task<List<TrackDetailsIndex>> GetLatestListAsync(HashSet<int> eventOrderIds);
Task<List<TrackDetailsIndex>> GetLatestListAsync(int[] eventOrderIds, List<string> trackCodes);
Task<List<TrackDetailsIndex>> GetListAsync(int subSystemId, int orderType, List<string> orderNos, List<string>? trackCodes = null);

View File

@ -2,9 +2,8 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using SJZY.Track.Test;
namespace SJZY.OpenApi.Test;
namespace SJZY.Track.Test;
public class Startup
{

View File

@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp.AspNetCore.TestBase;
namespace SJZY.OpenApi.Test;
namespace SJZY.Track.Test;
public class TestModuleTestBase : AbpAspNetCoreIntegratedTestBase<Startup>
{