add-interface:
- 提供接口模型给前端开发使用
This commit is contained in:
parent
b53db5c7bf
commit
3382bcff76
@ -0,0 +1,106 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 完整预警
|
||||||
|
/// </summary>
|
||||||
|
public class CompleteWarningDetailsDto // todo:需要根据状态排序
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警明细唯一id
|
||||||
|
/// </summary>
|
||||||
|
public string EsId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统名称
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystemName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型名称
|
||||||
|
/// </summary>
|
||||||
|
public string OrderTypeName { get; set; } // todo:type换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单id
|
||||||
|
/// </summary>
|
||||||
|
public int OrderId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号
|
||||||
|
/// </summary>
|
||||||
|
public string OrderNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态 (待处理样式标红)
|
||||||
|
/// 1:待处理,2:已处理,3:已关闭
|
||||||
|
/// </summary>
|
||||||
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户id
|
||||||
|
/// </summary>
|
||||||
|
public int CustomId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public int CustomName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 缺失轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string MissingTrackStatus { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
|
||||||
|
//视图属性 todo:可以从订单主表拿到
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string LatestTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string LatestTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生地
|
||||||
|
/// </summary>
|
||||||
|
public string LatestTrackPlace { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime LatestTrackTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生时区
|
||||||
|
/// </summary>
|
||||||
|
public float LatestTrackTimeZone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象
|
||||||
|
/// </summary>
|
||||||
|
public string NotifyUserNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警处理时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ProcessedTime { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 完整预警规则配置条目
|
||||||
|
/// </summary>
|
||||||
|
public class CompleteWarningRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 配置条目唯一id
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则主体id
|
||||||
|
/// </summary>
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型 e.g FBA订单、海运单
|
||||||
|
/// </summary>
|
||||||
|
public List<OrderTypeDto> OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查点轨迹状态id
|
||||||
|
/// </summary>
|
||||||
|
public int CheckPointTrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查点轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string CheckPointTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 要求的轨迹状态集合 e.g [揽收/入库中],[提交报关]
|
||||||
|
/// </summary>
|
||||||
|
public List<RequireTrackStatusItem> RequireTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象用户集合
|
||||||
|
/// </summary>
|
||||||
|
public List<NotifyUserDto> NotifyUsers { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型描述
|
||||||
|
/// </summary>
|
||||||
|
public class OrderTypeDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型名称
|
||||||
|
/// </summary>
|
||||||
|
public string OrderTypeName { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 要求的轨迹状态项目(每个项目的状态为或关系)
|
||||||
|
/// </summary>
|
||||||
|
public class RequireTrackStatusItem
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态集合
|
||||||
|
/// </summary>
|
||||||
|
public List<TrackStatusDto> Statuses { get; set; } = new();
|
||||||
|
}
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑完整预警配置
|
||||||
|
/// </summary>
|
||||||
|
public class EditCompleteWarningRuleItemInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则配置项目(列表内容传递)
|
||||||
|
/// </summary>
|
||||||
|
public List<EditCompleteWarningRuleItemDto> Items { get; set; } = new();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用于编辑的预警规则内容
|
||||||
|
/// </summary>
|
||||||
|
public class EditCompleteWarningRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则项目唯一id(传0视为新增)
|
||||||
|
/// </summary>
|
||||||
|
public int Id { 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集合 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();
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取完整预警规则条目列表
|
||||||
|
/// </summary>
|
||||||
|
public class GetCompleteWarningRuleItemInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,65 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页获取完成预警详情
|
||||||
|
/// </summary>
|
||||||
|
public class GetPageCompleteWarningDetailsInput : PageInfoInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int? SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号,多个订单号(,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderNos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int? OrderType { 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? MissingTrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象id
|
||||||
|
/// </summary>
|
||||||
|
public int? NotifyUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningCreateTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningCreateTimeEnd { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警处理时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningHandleTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警处理时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningHandleTimeEnd { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 要求id存在并且大于0
|
||||||
|
/// </summary>
|
||||||
|
[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";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取预警规则主体
|
||||||
|
/// </summary>
|
||||||
|
public class GetWarningRuleInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int? SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关键字(kpi/客户名称 模糊)
|
||||||
|
/// </summary>
|
||||||
|
public string? KeyWord { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否启用(留null查全部)
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsEnabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警类型(留null查所有类型)
|
||||||
|
/// 1:运输时效,2:回传时效,3:完整预警
|
||||||
|
/// </summary>
|
||||||
|
public int? WarningType { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
public sealed class NotifyUserDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户名
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string UserName { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑回传时效配置
|
||||||
|
/// </summary>
|
||||||
|
public class EditReturnWarningRuleItemInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则配置项目(列表内容传递)
|
||||||
|
/// </summary>
|
||||||
|
public List<EditReturnWarningRuleItemDto> Items { get; set; } = new();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用于编辑的预警规则配置项目
|
||||||
|
/// </summary>
|
||||||
|
public class EditReturnWarningRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 唯一id(传0视为新增)
|
||||||
|
/// </summary>
|
||||||
|
public int Id { 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>
|
||||||
|
/// 通知对象用户集合
|
||||||
|
/// </summary>
|
||||||
|
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
|
||||||
|
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
|
||||||
|
}
|
||||||
@ -0,0 +1,95 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页获取回传预警明细输入
|
||||||
|
/// </summary>
|
||||||
|
public class GetPageReturnWarningDetailsInput : PageInfoInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int? SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号,多个订单号(,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderNos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int? OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态
|
||||||
|
/// 1:人工介入 2:重试中 3:推送完成 4:已关闭
|
||||||
|
/// </summary>
|
||||||
|
public int? Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户id
|
||||||
|
/// </summary>
|
||||||
|
public int? CustomId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态id
|
||||||
|
/// </summary>
|
||||||
|
public int? TrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹内容id
|
||||||
|
/// </summary>
|
||||||
|
public int? TrackContentId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否有Kpi考核 (传null为查全部)
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsKpi { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象用户id
|
||||||
|
/// </summary>
|
||||||
|
public int? NotifyUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹发生时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹发生时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackTimeEnd { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹创建时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackCreateTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹创建时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackCreateTimeEnd { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹回传时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackReturnTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹回传时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackReturnTimeEnd { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningCreateTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? WarningCreateTimeEnd { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取回传报文日志
|
||||||
|
/// </summary>
|
||||||
|
public class GetReturnMessageRecordInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 回传预警明细id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public string WarningDetailsId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取回传预警规则项目列表
|
||||||
|
/// </summary>
|
||||||
|
public class GetReturnWarningRuleItemInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传报文日志
|
||||||
|
/// </summary>
|
||||||
|
public sealed class ReturnMessageRecordDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 回传报文唯一id
|
||||||
|
/// </summary>
|
||||||
|
public string EsId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传预警明细id
|
||||||
|
/// </summary>
|
||||||
|
public string ReturnWarningDetailsId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否成功
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSuccess { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 报文内容 Json字符串
|
||||||
|
/// </summary>
|
||||||
|
public string Message { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 报文创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,156 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传预警明细
|
||||||
|
/// todo:需要根据状态排序
|
||||||
|
/// </summary>
|
||||||
|
public sealed class ReturnWarningDetailsDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警明细唯一id
|
||||||
|
/// </summary>
|
||||||
|
public string EsId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统名称
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystemName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型名称
|
||||||
|
/// </summary>
|
||||||
|
public string OrderTypeName { get; set; } // todo:type换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单id
|
||||||
|
/// </summary>
|
||||||
|
public int OrderId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号
|
||||||
|
/// </summary>
|
||||||
|
public string OrderNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态 1:人工介入 2:重试中 3:推送完成 4:已关闭
|
||||||
|
/// </summary>
|
||||||
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户id
|
||||||
|
/// </summary>
|
||||||
|
public int CustomId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public string CustomName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string TrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹代码
|
||||||
|
/// </summary>
|
||||||
|
public string TrackCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string TrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 推送轨迹代码
|
||||||
|
/// </summary>
|
||||||
|
public string PushTrackCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 推送轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string PushTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 推送轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string PushTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹发生地
|
||||||
|
/// </summary>
|
||||||
|
public string TrackPlace { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹发生时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime TrackTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹发生时区
|
||||||
|
/// </summary>
|
||||||
|
public float TrackTimeZone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime TrackCreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹回传时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? TrackReturnTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传时效
|
||||||
|
/// </summary>
|
||||||
|
public float? ReturnTimeSpan { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
// todo:计算属性
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 实际回传用时(单位毫秒)
|
||||||
|
/// </summary>
|
||||||
|
public long? ActualReturnTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 系统回传用时(单位毫秒)
|
||||||
|
/// </summary>
|
||||||
|
public long? SystemReturnTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹创建用时(单位毫秒)
|
||||||
|
/// </summary>
|
||||||
|
public long TrackCreateTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否有KPI考核
|
||||||
|
/// </summary>
|
||||||
|
public bool IsExistsKpi { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传重试次数
|
||||||
|
/// </summary>
|
||||||
|
public int RetryCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象 (未命中kpi考核一定不存在通知人)
|
||||||
|
/// </summary>
|
||||||
|
public string? NotifyUserNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
public class ReturnWarningRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则项目唯一 id
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public List<TrackStatusDto> TrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 时效(单位h)
|
||||||
|
/// </summary>
|
||||||
|
public float ReturnTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象
|
||||||
|
/// </summary>
|
||||||
|
public List<NotifyUserDto> NotifyUsers { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TrackStatusDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态id
|
||||||
|
/// </summary>
|
||||||
|
public int TrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹状态名称
|
||||||
|
/// </summary>
|
||||||
|
public string TrackStatus { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
public class EditTransportWarningSceneRuleItemInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运输预警场景id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int SceneId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则配置项目(列表内容传递)
|
||||||
|
/// </summary>
|
||||||
|
public List<EditTransportWarningSceneRuleItemDto> Items { get; set; } = new();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用于编辑的预警规则配置项目
|
||||||
|
/// </summary>
|
||||||
|
public class EditTransportWarningSceneRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则项目id(传0视为新增)
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹状态Id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int StartTrackStatusId { 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 StartTrackWarningTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象用户集合
|
||||||
|
/// </summary>
|
||||||
|
[MinLength(1, ErrorMessage = "通知对象用户集合不能为空")]
|
||||||
|
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页获取运输预警明细
|
||||||
|
/// </summary>
|
||||||
|
public class GetPageTransportWarningDetailsInput : PageInfoInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int? SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号,多个订单号(,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderNos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int? OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 状态
|
||||||
|
/// </summary>
|
||||||
|
public int? Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户Id
|
||||||
|
/// </summary>
|
||||||
|
public int? CustomId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警名称
|
||||||
|
/// </summary>
|
||||||
|
public string? WarningName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象用户Id
|
||||||
|
/// </summary>
|
||||||
|
public int? NotifyUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间开始
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTimeStart { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间截止
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTimeEnd { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取运输时效预警规则场景
|
||||||
|
/// </summary>
|
||||||
|
public class GetTransportWarningSceneInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.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 SceneId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,149 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运输时效预警明细
|
||||||
|
/// </summary>
|
||||||
|
public sealed class TransportWarningDetailsDto // todo:需要根据状态排序
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 预警明细唯一id
|
||||||
|
/// </summary>
|
||||||
|
public string EsId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int SubSystemId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统名称
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystemName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户id
|
||||||
|
/// </summary>
|
||||||
|
public int CustomId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public string CustomName { get; set; } // todo:id换名称
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单id
|
||||||
|
/// </summary>
|
||||||
|
public int OrderId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号
|
||||||
|
/// </summary>
|
||||||
|
public string OrderNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型
|
||||||
|
/// </summary>
|
||||||
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单类型名称
|
||||||
|
/// </summary>
|
||||||
|
public string OrderTypeName { get; set; } // todo:type换名称
|
||||||
|
|
||||||
|
|
||||||
|
// 实时属性 todo:从订单查询
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string LatestTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime LatestTrackTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生时区
|
||||||
|
/// </summary>
|
||||||
|
public float LatestTrackTimeZone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生地
|
||||||
|
/// </summary>
|
||||||
|
public string LatestTrackPlace { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象
|
||||||
|
/// </summary>
|
||||||
|
public string NotifyUserNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string StartTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string StartTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹发生时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime StartTrackTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹时区
|
||||||
|
/// </summary>
|
||||||
|
public float StartTrackTimeZone { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string EndTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string? EndTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹发生时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? EndTrackTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹时区
|
||||||
|
/// </summary>
|
||||||
|
public float? EndTrackTimeZone { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警名称 (预警主体名称 如字节全程时效)
|
||||||
|
/// </summary>
|
||||||
|
public string WarningName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则描述(用于tooltip展示)
|
||||||
|
/// </summary>
|
||||||
|
public string WarningRuleDescription { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 累计运输时间
|
||||||
|
/// </summary>
|
||||||
|
public string CumulativeTimeSpan { get; set; } // todo:需要转换为某个格式
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警状态 (根据key展示对应名称,即将超时需要标红)
|
||||||
|
/// 1:即将超时 2:已超时 3:已完成 4:超时完成 5:已关闭,初始为【即将超时】
|
||||||
|
/// </summary>
|
||||||
|
public int Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则场景
|
||||||
|
/// </summary>
|
||||||
|
public class TransportWarningSceneDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 场景唯一id
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则主体id
|
||||||
|
/// </summary>
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 场景摘要(用于展示场景tabs)
|
||||||
|
/// </summary>
|
||||||
|
public string Summary { get; set; } // todo:将规则场景一些列因素转换为一段描述
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否中转(单一)
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsTransit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物类型(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? CargoType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起运港口(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? LeavePort { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产品编码(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? ProductCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 月份(多个/分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? Months { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 区域Id(单一)
|
||||||
|
/// </summary>
|
||||||
|
public int? AreaId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运输时效场景规则项目
|
||||||
|
/// </summary>
|
||||||
|
public class TransportWarningSceneRuleItemDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则项目唯一id
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹状态Id
|
||||||
|
/// </summary>
|
||||||
|
public int StartTrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string StartTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹状态Id
|
||||||
|
/// </summary>
|
||||||
|
public int EndTrackStatusId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 截止轨迹状态
|
||||||
|
/// </summary>
|
||||||
|
public string EndTrackStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 时效 (单位h)
|
||||||
|
/// </summary>
|
||||||
|
public float TransportTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起始轨迹生成预警时间 (单位h)
|
||||||
|
/// </summary>
|
||||||
|
public float StartTrackWarningTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知对象用户集合
|
||||||
|
/// </summary>
|
||||||
|
public List<NotifyUserDto> NotifyUsers { get; set; } = new();
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
public class UpsertTransportWarningSceneInput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 场景唯一id (传0视为新增)
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则主体id
|
||||||
|
/// </summary>
|
||||||
|
[IdRequired]
|
||||||
|
public int WarningId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否中转(单一)
|
||||||
|
/// </summary>
|
||||||
|
public bool? IsTransit { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 货物类型(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? CargoType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 起运港口(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? LeavePort { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 产品编码(多个,分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? ProductCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 月份(多个/分割)
|
||||||
|
/// </summary>
|
||||||
|
public string? Months { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 区域Id(单一)
|
||||||
|
/// </summary>
|
||||||
|
public int? AreaId { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Track.Warning.VNext.Application.Contract.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新或者新增预警规则主体
|
||||||
|
/// </summary>
|
||||||
|
public class UpsertWarningRuleInput
|
||||||
|
{
|
||||||
|
/// <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 CustomId { get; set; } //客户id
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则名称
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string Name { 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; }
|
||||||
|
}
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
namespace Track.Warning.VNext.Application.Contract.Dtos.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则主体
|
||||||
|
/// </summary>
|
||||||
|
public sealed class WarningRuleDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 规则主体唯一id
|
||||||
|
/// </summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统id
|
||||||
|
/// </summary>
|
||||||
|
public int SubSystemId { get; set; } //子系统id
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统名称
|
||||||
|
/// </summary>
|
||||||
|
public int SubSystemName { get; set; } // todo:id换name
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户id
|
||||||
|
/// </summary>
|
||||||
|
public int CustomId { get; set; } //客户id
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public int CustomName { get; set; } // todo:id换name
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则名称
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否启用
|
||||||
|
/// </summary>
|
||||||
|
public bool IsEnabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警类型,1:运输时效,2:回传时效,3:完整预警
|
||||||
|
/// </summary>
|
||||||
|
public int WarningType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 规则版本,用于标识规则产物(如预警信息)
|
||||||
|
/// </summary>
|
||||||
|
public string Version { get; set; }
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Complete;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Controllers.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 完整预警服务
|
||||||
|
/// </summary>
|
||||||
|
[ApiController]
|
||||||
|
[Route("Warning/Complete")]
|
||||||
|
public class CompleteWarningService : ControllerBase
|
||||||
|
{
|
||||||
|
/// <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("GetPageCompleteWarningDetails")]
|
||||||
|
public Task<UnifyPageResultDto<CompleteWarningDetailsDto>>
|
||||||
|
GetPageCompleteWarningDetails(GetPageCompleteWarningDetailsInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyPageResultDto<CompleteWarningDetailsDto>());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Common;
|
||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Return;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Controllers.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传预警服务
|
||||||
|
/// </summary>
|
||||||
|
[ApiController]
|
||||||
|
[Route("Warning/Return")]
|
||||||
|
public class ReturnWarningService : ControllerBase
|
||||||
|
{
|
||||||
|
/// <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>
|
||||||
|
[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>>());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,71 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Warning.Transport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 运输时效预警服务
|
||||||
|
/// </summary>
|
||||||
|
[ApiController]
|
||||||
|
[Route("Warning/Transport")]
|
||||||
|
public class TransportWarningService : ControllerBase
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编辑预警规则项目(全量)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("EditTransportWarningSceneRuleItem")]
|
||||||
|
public Task<UnifyResultDto>
|
||||||
|
EditTransportWarningSceneRuleItem(EditTransportWarningSceneRuleItemInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyResultDto());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页获取运输时效预警明细
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("GetPageTransportWarningDetails")]
|
||||||
|
public Task<UnifyPageResultDto<TransportWarningDetailsDto>>
|
||||||
|
GetPageTransportWarningDetails(GetPageTransportWarningDetailsInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyPageResultDto<TransportWarningDetailsDto>());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取预警规则场景
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("GetTransportWarningScene")]
|
||||||
|
public Task<UnifyResultDto<List<TransportWarningSceneDto>>>
|
||||||
|
GetTransportWarningScene(GetTransportWarningSceneInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyResultDto<List<TransportWarningSceneDto>>());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取运输时效场景规则项目
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("GetTransportWarningSceneRuleItem")]
|
||||||
|
public Task<UnifyResultDto<List<TransportWarningSceneRuleItemDto>>>
|
||||||
|
GetTransportWarningSceneRuleItem(GetTransportWarningSceneRuleItemInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyResultDto<List<TransportWarningSceneRuleItemDto>>());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新增/更新 运输时效场景
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("UpsertTransportWarningScene")]
|
||||||
|
public Task<UnifyResultDto<IdBaseDto>>
|
||||||
|
UpsertTransportWarningScene(UpsertTransportWarningSceneInput input)
|
||||||
|
{
|
||||||
|
return Task.FromResult(new UnifyResultDto<IdBaseDto>());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
using Track.Warning.VNext.Application.Contract.Dtos.Warning;
|
||||||
|
|
||||||
|
namespace Track.Warning.VNext.Controllers.Warning;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 预警规则主体
|
||||||
|
/// </summary>
|
||||||
|
[ApiController]
|
||||||
|
[Route("Warning")]
|
||||||
|
public class WarningService : ControllerBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 新增/修改预警规则主体
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("UpsertWarningRule")]
|
||||||
|
public async Task<UnifyResultDto<IdBaseDto>> UpsertWarningRule(UpsertWarningRuleInput input)
|
||||||
|
{
|
||||||
|
// var id = await _warningRuleRepository.UpsertReturnIdAsync(new WarningRuleEntity(
|
||||||
|
// input.Id,
|
||||||
|
// input.Name,
|
||||||
|
// input.SubSystemId,
|
||||||
|
// input.CustomId,
|
||||||
|
// input.IsEnabled,
|
||||||
|
// input.WarningType)
|
||||||
|
// );
|
||||||
|
|
||||||
|
return new UnifyResultDto<IdBaseDto>(true, new IdBaseDto
|
||||||
|
{
|
||||||
|
Id = input.Id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取预警规则列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("GetWarningRule")]
|
||||||
|
public Task<UnifyResultDto<List<WarningRuleDto>>> GetWarningRule(GetWarningRuleInput input)
|
||||||
|
{
|
||||||
|
//var result = await _warningRuleRepository.GetWarningRuleListAsync(input.SubSystemId, input.KeyWord, input.IsEnabled, input.WarningType);
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -21,4 +21,25 @@ public partial class GlobalConst
|
|||||||
/// 订单操作记录 es索引名称(模板按天)
|
/// 订单操作记录 es索引名称(模板按天)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string OrderOperationRecordIndex = "sjzy_track_order_operation_records";
|
public const string OrderOperationRecordIndex = "sjzy_track_order_operation_records";
|
||||||
|
|
||||||
|
// todo:以下为新增
|
||||||
|
/// <summary>
|
||||||
|
/// 运输时效预警明细 es索引名称(模板按天)
|
||||||
|
/// </summary>
|
||||||
|
public const string TransportWarningDetailsIndex = "sjzy_track_transport_warning_details";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传时效预警明细 es索引名称(模板按天)
|
||||||
|
/// </summary>
|
||||||
|
public const string ReturnWarningDetailsIndex = "sjzy_track_return_warning_details";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 回传报文日志 es索引名称(模板按天)
|
||||||
|
/// </summary>
|
||||||
|
public const string ReturnMessageRecordIndex = "sjzy_track_return_message_records";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 完整预警明细 es索引名称(模板按天)
|
||||||
|
/// </summary>
|
||||||
|
public const string CompleteWarningDetailsIndex = "sjzy_track_complete_warning_details";
|
||||||
}
|
}
|
||||||
|
|||||||
8
src/SJZY.Track.Domain/Enums/WarningRuleType.cs
Normal file
8
src/SJZY.Track.Domain/Enums/WarningRuleType.cs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
namespace SJZY.Track.Domain.Enums;
|
||||||
|
|
||||||
|
public enum WarningRuleType
|
||||||
|
{
|
||||||
|
运输时效预警 = 1,
|
||||||
|
回传时效预警 = 2,
|
||||||
|
完整预警 = 3
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user