Merge pull request 'uat2025-2-12合并到主分支' (#79) from uat into master

Reviewed-on: https://git.shijizhongyun.com/Dotnet/SJZY.Track.Api/pulls/79
This commit is contained in:
wangyunlong 2025-02-12 15:05:08 +08:00
commit 4bc45bc05c
416 changed files with 17829 additions and 5955 deletions

77
.editorconfig Normal file
View File

@ -0,0 +1,77 @@
# Top-most EditorConfig file
root = true
# All files
[*]
charset = utf-8
end_of_line = crlf
insert_final_newline = true
trim_trailing_whitespace = true
# C# files
[*.cs]
indent_style = space
indent_size = 4
# CS8618 表示在定义非空属性时,没有在构造函数、初始化器或默认值中对其进行初始化。
dotnet_diagnostic.cs8618.severity = none
# CS8618 表示方法的返回类型的可空性与目标委托的不匹配。
dotnet_diagnostic.cs8613.severity = none
# CS1591 表示缺少XML注释
dotnet_diagnostic.cs1591.severity = none
# 新行前的成员初始化
csharp_new_line_before_members_in_object_initializers = true
# 使用 var 关键字
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = true:suggestion
# 命名约定
dotnet_naming_rule.private_members_should_be_camel_case.severity = suggestion
dotnet_naming_rule.private_members_should_be_camel_case.symbols = private_members
dotnet_naming_rule.private_members_should_be_camel_case.style = camel_case
dotnet_naming_symbols.private_members.applicable_accessibilities = private
dotnet_naming_symbols.private_members.applicable_kinds = field
dotnet_naming_symbols.private_members.required_modifiers = readonly
dotnet_naming_style.camel_case.capitalization = camel_case
dotnet_naming_style.camel_case.required_prefix = _
dotnet_naming_style.camel_case.required_suffix =
# 空格和换行
csharp_space_after_cast = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = before_and_after
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_before_open_square_bracket = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_empty_method_call_parentheses = false
csharp_space_between_empty_method_declaration_parentheses = false
# 花括号
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_anonymous_types = true
# 缩进规则
csharp_indent_case_contents = true
csharp_indent_block_contents = true
csharp_indent_braces = false
# 其他设置
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false
# resharper兼容
# 对象初始化收缩问题 https://youtrack.jetbrains.com/issue/RSRP-486359
resharper_wrap_object_and_collection_initializer_style = chop_always
# 条件表达式花括号收缩问题
resharper_csharp_case_block_braces = next_line_shifted_2
resharper_indent_braces_inside_statement_conditions = false

3
.gitignore vendored
View File

@ -1,5 +1,5 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
## files generated by popular Visual Studio add-ons..
# User-specific files
*.suo
@ -189,3 +189,4 @@ UpgradeLog*.htm
FakesAssemblies/
logs/
/.vs
.idea/

View File

@ -23,6 +23,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution items", "solution
common.props = common.props
NuGet.Config = NuGet.Config
.gitignore = .gitignore
.editorconfig = .editorconfig
EndProjectSection
EndProject
Global

View File

@ -1,2 +1,3 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/UserDictionary/Words/=dels/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=SJZY/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View File

@ -2,7 +2,6 @@
<PropertyGroup>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<NoWarn>$(NoWarn);CS1591;CS0436;NU1803</NoWarn>
<!-- <WarningsAsErrors>Nullable</WarningsAsErrors>-->
</PropertyGroup>
</Project>

View File

@ -24,4 +24,4 @@ try
catch (Exception ex)
{
Console.WriteLine($"项目启动失败,异常信息:{ex}");
}
}

View File

@ -4,12 +4,12 @@
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SJZY.Expand.ABP.Core;SkyAPM.Agent.AspNetCore",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SJZY.Expand.ABP.Core",
"SKYWALKING__SERVICENAME": "Track"
},
"dotnetRunMessages": true,
"applicationUrl": "http://*:5054"
"applicationUrl": "http://*:5056"
}
},
"$schema": "https://json.schemastore.org/launchsettings.json"
}
}

View File

@ -1,4 +1,4 @@
using FluentValidation.AspNetCore;
using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Mvc;
using SJZY.Expand.ABP.Core;
using SJZY.Expand.ABP.Core.Cors;
@ -9,6 +9,7 @@ using SJZY.Expand.ABP.Core.Prometheus;
using SJZY.Expand.ABP.Core.Redis;
using SJZY.Expand.ABP.Core.Swagger;
using SJZY.Track.Application;
using SJZY.Track.Application.HostServices;
using SJZY.Track.Repository;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
@ -20,69 +21,70 @@ using Volo.Abp.Modularity;
[assembly: HostingStartup(typeof(HostingStartup))]
namespace SJZY.Track.Api
namespace SJZY.Track.Api;
[DependsOn(
typeof(AbpAutofacModule),
typeof(SjzyAbpCodeModule),
typeof(AbpAspNetCoreMvcModule),
typeof(AbpAspNetCoreSerilogModule),
typeof(SjzyTrackApplicationModule),
typeof(SjzyTrackRepositoryModule)
)]
public class SjzyTrackApiModule : AbpModule
{
[DependsOn(
typeof(AbpAutofacModule),
typeof(SjzyAbpCodeModule),
typeof(AbpAspNetCoreMvcModule),
typeof(AbpAspNetCoreSerilogModule),
typeof(SjzyTrackApplicationModule),
typeof(SjzyTrackRepositoryModule)
)]
public class SjzyTrackApiModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
public override void ConfigureServices(ServiceConfigurationContext context)
var environment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
context.Services.AddSwagger();
//过滤器相关配置
context.Services.AddMvc(options =>
{
var environment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
context.Services.AddSwagger();
options.Filters.AddService<GlobalExceptionFilter>();
options.Filters.AddService<RequestLogFilter>();
options.Filters.AddService<UnifyResultFilter>();
}).AddNewtonsoftJson();
//过滤器相关配置
context.Services.AddMvc(options =>
{
options.Filters.AddService<GlobalExceptionFilter>();
options.Filters.AddService<RequestLogFilter>();
options.Filters.AddService<UnifyResultFilter>();
}).AddNewtonsoftJson();
context.Services.AddFluentValidationAutoValidation().AddFluentValidationClientsideAdapters();
context.Services.AddFluentValidationAutoValidation().AddFluentValidationClientsideAdapters();
//Json格式化全局处理
context.Services.Configure<MvcNewtonsoftJsonOptions>(options =>
{
options.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.
CamelCasePropertyNamesContractResolver(); //.DefaultContractResolver();
options.SerializerSettings.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
options.SerializerSettings.Converters.Add(new LongJsonConverter());
});
Configure<AbpJsonOptions>(options => options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss");
Configure<AbpAuditingOptions>(options => { options.IsEnabled = false; });
context.Services.AddRedis();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
//Json格式化全局处理
context.Services.Configure<MvcNewtonsoftJsonOptions>(options =>
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
options.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.
CamelCasePropertyNamesContractResolver(); //.DefaultContractResolver();
options.SerializerSettings.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
options.SerializerSettings.Converters.Add(new LongJsonConverter());
});
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
Configure<AbpJsonOptions>(options => options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss");
Configure<AbpAuditingOptions>(options => { options.IsEnabled = false; });
app.UseRequestCulture();
app.UseRouting();
app.UseCorsPolicy();
app.UseConfiguredEndpoints();
app.UseAbpSwaggerUI(env);
app.UseAbpSerilogEnrichers();
app.UsePrometheus();
context.Services.AddRedis();
context.Services.AddHostedService<RedisHostService>();
}
#region 启动提示
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
Console.WriteLine($@"
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseRequestCulture();
app.UseRouting();
app.UseCorsPolicy();
app.UseConfiguredEndpoints();
app.UseAbpSwaggerUI(env);
app.UseAbpSerilogEnrichers();
app.UsePrometheus();
#region 启动提示
Console.WriteLine($@"
+-------------------------------------------------------+
| |
| |
@ -93,7 +95,6 @@ namespace SJZY.Track.Api
+-------------------------------------------------------+
");
#endregion
}
#endregion
}
}
}

View File

@ -1,13 +1,17 @@
{
"Configuration": {
"UseLocalConfiguration": false, //是否使用本地配置文件
"ConfiguraFileName": "appsettings.Development.json", //指定配置文件名称,开启UseLocalConfiguration时生效
"UseLocalConfiguration": false,
//是否使用本地配置文件
"ConfiguraFileName": "appsettings.Development.json",
//指定配置文件名称,开启UseLocalConfiguration时生效
"Apollo": {
"AppId": "SJZY.Track.Configuration",
"Env": "DEV",
"Namespace": "Test",
"MetaServer": "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080",
"ConfigServer": [ "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080" ]
"Namespace": "test",
"MetaServer": "https://apollo.test.shijizhongyun.com",
"ConfigServer": [
"https://apollo.test.shijizhongyun.com"
]
}
},
"Kestrel": {
@ -17,4 +21,4 @@
}
}
}
}
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class AreaCacheEntry
{
/// <summary>
/// 国家或地区
/// </summary>
public string Country { get; set; } = null!;
/// <summary>
/// 省份
/// </summary>
public string? Province { get; set; }
/// <summary>
/// 城市
/// </summary>
public string? City { get; set; }
/// <summary>
/// 开始邮编
/// </summary>
public string? LeftPostcode { get; set; }
/// <summary>
/// 截止邮编
/// </summary>
public string? RightPostcode { get; set; }
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class CreateWarningInput
{
/// <summary>
/// 模板名称
/// </summary>
public string Name { get; set; } = null!;
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomerId { get; set; }
/// <summary>
/// 轨迹状态跨度列表
/// </summary>
public List<WarningNotifyDto> TrackStatusSpans { get; set; } = new();
/// <summary>
/// 预警因素列表。
/// </summary>
public List<WarningFactorDto> WarningFactors { get; set; } = new();
}

View File

@ -0,0 +1,45 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class EditWarningOutput
{
/// <summary>
/// 模板名称
/// </summary>
public string Name { get; set; } = null!;
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomerId { get; set; }
/// <summary>
/// 轨迹状态列表
/// </summary>
public List<WarningNotifyWithIdDto> TrackStatusSpans { get; set; } = new();
/// <summary>
/// 预警因素列表。
/// </summary>
public List<WarningFactorWithIdDto> WarningFactors { get; set; } = new();
}
public class WarningNotifyWithIdDto : WarningNotifyDto
{
/// <summary>
/// 通知id
/// </summary>
public int Id { get; set; }
}
public class WarningFactorWithIdDto : WarningFactorDto
{
/// <summary>
/// 因素id
/// </summary>
public int Id { get; set; }
}

View File

@ -0,0 +1,69 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class ForewarningRuleCacheEntry
{
/// <summary>
/// 自增主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 预警id
/// </summary>
public int WarningId { get; set; }
/// <summary>
/// 时效(小时) e.g. 24
/// </summary>
public float TotalTimeSpan { get; set; }
/// <summary>
/// 提醒的时间(小时) e.g. 9 10 11..
/// </summary>
public float WarnTimeSpan { get; set; }
/// <summary>
/// 提醒次数 e.g. 3 2 1
/// </summary>
public int WarnCount { get; set; }
/// <summary>
/// 起始轨迹状态id
/// </summary>
public int StartTrackStatusId { get; set; }
/// <summary>
/// 终止轨迹状态id
/// </summary>
public int EndTrackStatusId { get; set; }
/// <summary>
/// 货物类型
/// </summary>
public string? CargoType { get; set; }
/// <summary>
/// 月份
/// </summary>
public List<int>? Months { get; set; }
/// <summary>
/// 区域
/// </summary>
public List<AreaCacheEntry>? Areas { get; set; }
/// <summary>
/// 是否中转
/// </summary>
public bool? IsTransit { get; set; }
/// <summary>
/// 起运港口
/// </summary>
public string? LeavePort { get; set; }
/// <summary>
/// 产品编码
/// </summary>
public string? ProductCode { get; set; }
}

View File

@ -0,0 +1,14 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class ModifyTimeSpanInput
{
/// <summary>
/// 预警id
/// </summary>
public int WarningId { get; set; }
/// <summary>
/// 规则详情中的时效相关信息
/// </summary>
public List<WarningTimeSpanDto> Items { get; set; } = new();
}

View File

@ -0,0 +1,17 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class RuleAreaBaseInfo
{
public RuleAreaBaseInfo()
{
}
public RuleAreaBaseInfo(int systemId, int customerId)
{
SystemId = systemId;
CustomerId = customerId;
}
public int SystemId { get; set; }
public int CustomerId { get; set; }
}

View File

@ -0,0 +1,37 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class UpdateWarningInput
{
/// <summary>
/// 预警id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 模板名称
/// </summary>
public string Name { get; set; } = null!;
/// <summary>
/// 通知列表
/// </summary>
public List<NotifyDto> Notifies { get; set; } = new();
}
public class NotifyDto
{
/// <summary>
/// 通知id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 通知人
/// </summary>
public List<NotifyUser> NotifyUsers { get; set; }
/// <summary>
/// 通知方式(1站内信,2飞书)
/// </summary>
public List<int> NotifyModes { get; set; }
}

View File

@ -0,0 +1,28 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class WarningDto
{
/// <summary>
/// 当前轨迹状态
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomerId { get; set; }
public List<WarningOrderDto> Orders { get; set; } = new();
public override string ToString()
{
return $"子系统:{SubSystemId},客户:{CustomerId},订单:{Orders.Select(x => x.Id)
.JoinAsString(",")},发生轨迹状态{TrackStatusId}";
}
}

View File

@ -0,0 +1,14 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class WarningFactorDto
{
/// <summary>
/// 因素类型(1表示货物类型,2表示月份,3表示分区或区域,4指示货物是否中转,5表示起运港口,6表示销售产品)
/// </summary>
public int FactorType { get; set; }
/// <summary>
/// 因素值(直接传json数组)
/// </summary>
public List<object> FactorValue { get; set; } = new();
}

View File

@ -0,0 +1,47 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class WarningNotifyDto
{
/// <summary>
/// 起始轨迹状态id
/// </summary>
public int StartTrackStatusId { get; set; }
/// <summary>
/// 终止轨迹状态id
/// </summary>
public int EndTrackStatusId { get; set; }
/// <summary>
/// 起始轨迹状态
/// </summary>
public string StartTrackStatus { get; set; } = null!;
/// <summary>
/// 终止轨迹状态
/// </summary>
public string EndTrackStatus { get; set; } = null!;
/// <summary>
/// 通知人
/// </summary>
public List<NotifyUser> NotifyUsers { get; set; }
/// <summary>
/// 通知方式(1站内信,2飞书)
/// </summary>
public List<int> NotifyModes { get; set; }
}
public class NotifyUser
{
/// <summary>
/// 用户id
/// </summary>
public int UserId { get; set; }
/// <summary>
/// 用户名
/// </summary>
public string UserName { get; set; }
}

View File

@ -0,0 +1,39 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class WarningNotifyCacheEntry
{
public WarningNotifyCacheEntry(int ruleId, int orderId, int counter)
{
RuleId = ruleId;
OrderId = orderId;
Counter = counter;
}
public WarningNotifyCacheEntry(string notifyValue)
{
var values = notifyValue.Split('_');
RuleId = int.Parse(values[0]);
OrderId = int.Parse(values[1]);
Counter = int.Parse(values[2]);
}
/// <summary>
/// 规则id
/// </summary>
public int RuleId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 预警次数(第几次)
/// </summary>
public int Counter { get; set; }
public override string ToString()
{
return $"{RuleId}_{OrderId}_{Counter}";
}
}

View File

@ -0,0 +1,52 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
public class WarningOrderDto
{
/// <summary>
/// 订单id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
public string? CargoType { get; set; }
public int Month { get; set; }
public bool? IsTransit { get; set; }
/// <summary>
/// 起运港
/// </summary>
public string? LeavePort { get; set; }
public string? ProductCode { get; set; }
/// <summary>
/// 目的城市
/// </summary>
public string ArrivalCity { get; set; } = null!;
/// <summary>
/// 目的国家
/// </summary>
public string ArrivalCountry { get; set; } = null!;
/// <summary>
/// 到达邮编
/// </summary>
public string? ArrivalPostCode { get; set; }
/// <summary>
/// 到达州省
/// </summary>
public string? ArrivalProvince { get; set; }
}

View File

@ -0,0 +1,27 @@
namespace SJZY.Track.Application.Contract.Dtos.Forewarning;
/// <summary>
/// 预警规则时效
/// </summary>
public class WarningTimeSpanDto
{
/// <summary>
/// 预警规则id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 时效
/// </summary>
public float TotalTimeSpan { get; set; }
/// <summary>
/// 提醒时效
/// </summary>
public float WarnTimeSpan { get; set; }
/// <summary>
/// 提醒次数
/// </summary>
public int WarnCount { get; set; }
}

View File

@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class BatchDeleteTrackByEsIdInput
{
/// <summary>
/// 轨迹内容es id,必填
/// </summary>
[MaxLength(500)]
public List<string> TrackContentEsIds { get; set; } = new();
}

View File

@ -1,12 +1,23 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class BatchDeleteTrackInput : OrderNosInfo
{
/// <summary>
/// 轨迹code,必填
/// 轨迹标识符集合,必填
/// </summary>
[Required]
public List<string> TrackCodes { get; set; } = new();
}
[MaxLength(500)]
public List<TrackIdentifierDto> TrackIdentifiers { get; set; } = new();
/// <summary>
/// 重复的情况下,用什么字段比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 重复的情况下,比较值
/// </summary>
public object? CompareValue { get; set; }
}

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -27,12 +27,122 @@ public class BatchUpsertTrackInput : OrderNosInfo
/// 轨迹发生时间
/// </summary>
[Required]
public DateTime? TrackTime { get; set; }
public DateTime TrackTime { get; set; }
/// <summary>
/// 更改后的轨迹发生时间,无需更改保持为空
/// </summary>
public DateTime? NewTrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
// [Required]
// [Range(-12, 12)]
public float TrackTimeZone { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外(可选的)
/// 如果未填则按照【轨迹内容】中的【是否可见】做为默认值
/// </summary>
public bool? IsExternal { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// 批量新增时使用指定轨迹来源,更新时无需指定
/// </summary>
[Required]
public int Source { get; set; }
/// <summary>
/// 轨迹备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹内容,若为空则取轨迹内容表中该轨迹Code对应的轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文,若为空则取轨迹内容表中该轨迹Code对应的轨迹英文内容
/// </summary>
public string? EnStatus { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
///轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
[Range(-12, 12)]
public float? TrackTimeZone { get; set; }
}
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 重复的情况下,用什么比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
/// <summary>
/// 是否强制推送
/// </summary>
public bool ForcedPush { get; set; }
/// <summary>
/// 指定是否推送
/// </summary>
public bool IsToMq { get; set; }
}

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -9,8 +9,22 @@ public class DeleteOrderInput : OrderNoInfo
public class DeleteTrackInput : OrderNoInfo
{
/// <summary>
/// 轨迹code
/// 轨迹标识符集合,为支持esid删除,所以非必填
/// </summary>
[Required]
public List<string> TrackCodes { get; set; } = new();
}
public List<TrackIdentifierDto>? TrackIdentifiers { get; set; } = new();
/// <summary>
/// 轨迹ESId集合,非必填,如果有优先级最高
/// </summary>
public List<string>? EsIds { get; set; }
/// <summary>
/// 重复的情况下,用什么字段比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 重复的情况下,比较值
/// </summary>
public object? CompareValue { get; set; }
}

View File

@ -0,0 +1,19 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class FileItemDto
{
/// <summary>
/// 文件osskey
/// </summary>
public string OssKey { get; set; }
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件下载地址
/// </summary>
public string? DownloadUrl { get; set; }
}

View File

@ -0,0 +1,19 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetDetailTimelineInput
{
/// <summary>
/// 订单编号
/// </summary>
public string OrderNumber { get; set; }
/// <summary>
/// 订单所属子系统id
/// </summary>
public int SystemId { get; set; }
/// <summary>
/// 当前用户登陆子系统id
/// </summary>
public int CurrenUserSystemId { get; set; }
}

View File

@ -0,0 +1,92 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetDetailTimelineOutput
{
/// <summary>
/// 轨迹编码
/// </summary>
public string TrackCode { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹英文内容
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 轨迹发生时间
/// </summary>
public long TrackTime { get; set; }
/// <summary>
/// 轨迹时间前缀
/// </summary>
public string TrackTimePrefix { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public string TrackTimeZone { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 文件 osskey 集合
/// </summary>
public List<TrackFileItem> Files { get; set; }
/// <summary>
/// 是否高亮
/// </summary>
public bool IsHighlight { get; set; }
/// <summary>
/// 是否显示悬停效果
/// </summary>
public bool IsShowHover { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
}
public class TrackFileItem
{
/// <summary>
/// 文件osskey
/// </summary>
public string OssKey { get; set; }
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件url
/// </summary>
public string Url { get; set; }
}

View File

@ -1,25 +1,12 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetOrderDetailsInput
public class TrackOrderDetailDto
{
/// <summary>
/// 轨迹订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 轨迹模板Id
/// </summary>
public List<int>? TrackTemplateIds { get; set; } = new List<int>();
}
public class TrackOrderDetailDto
{
/// <summary>
/// Id es主键
/// </summary>
@ -43,7 +30,7 @@ public class TrackOrderDetailDto
/// <summary>
/// 轨迹代码
/// </summary>
public string? Code { get; set; }
public string Code { get; set; }
/// <summary>
/// 轨迹内容
@ -56,9 +43,9 @@ public class TrackOrderDetailDto
public string? EnContent { get; set; }
/// <summary>
/// 服务商
/// 服务商代码
/// </summary>
public string? ServiceProviderName { get; set; }
public string? ServiceProviderCode { get; set; }
/// <summary>
/// 原轨迹内容
@ -86,9 +73,10 @@ public class TrackOrderDetailDto
public float TrackTimeZoneValue { get; set; }
/// <summary>
/// 是否可删
/// 客户是否可见
/// </summary>
public bool IsCanDelete { get; set; }
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
@ -104,4 +92,49 @@ public class TrackOrderDetailDto
/// 创建人
/// </summary>
public string? CreateUser { get; set; }
}
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetPageTrackOrderInput : PageInfoInput
{
@ -73,16 +73,6 @@ public class TrackOrderDto
/// </summary>
public string? OrderNumber { get; set; }
/// <summary>
/// 轨迹模版
/// </summary>
public string? TrackTemplateNames { get; set; }
/// <summary>
/// 轨迹模板Id数组
/// </summary>
public List<int>? TrackTemplateIds { get; set; }
/// <summary>
/// 客户简称
/// </summary>
@ -162,4 +152,19 @@ public class TrackOrderDto
///// 问题描述名称
///// </summary>
//public string? ProblemDescriptionName { get; set; }
}
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 第三方单号,服务商-轨迹0000000、轨迹服务商-0000000
/// </summary>
public string? ThirdPartyOrderNumber { get; set; }
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetPageTrackTemplateListInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int? CustomerId { get; set; }
/// <summary>
/// 模版分类
/// </summary>
public int? TemplateType { get; set; }
/// <summary>
/// 模板code
/// </summary>
public string? TemplateCode { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? KeyWord { get; set; }
}

View File

@ -1,26 +1,33 @@
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
/// <summary>
/// 支持模板,传入时区补正,按轨迹发生时间升序降序
/// </summary>
public class GetTrackInput : OrderNosInfo
{
private float? _timeZone;
/// <summary>
/// 时区 +8 +8.25 -8.5 -9
/// 不传默认+8
/// </summary>
private float? _timeZone;
public float? TimeZone
{
get => _timeZone ?? 8;
set => _timeZone = value;
}
public float? TimeZone { get => _timeZone ?? 8; set => _timeZone = value; }
/// <summary>
/// 排序方式
/// 排序方式,默认按轨迹发生时间降序
/// </summary>
[Required]
public SortMethod SortMethod { get; set; }
public SortMethod? SortMethod { get; set; }
}
/// <summary>
/// 不支持模板,无时区补正,按轨迹发生时间升序降序
/// </summary>
public class GetTrackInputV2 : OrderNosInfo
{
/// <summary>
/// 排序方式,默认按轨迹发生时间降序
/// </summary>
public SortMethod? SortMethod { get; set; }
}
public enum SortMethod
@ -28,15 +35,20 @@ public enum SortMethod
/// <summary>
/// 按轨迹发生时间排序
/// </summary>
ByTrackTime,
ByTrackTime = 0,
/// <summary>
/// 按轨迹发生时间降序
/// </summary>
ByTrackTimeDesc,
ByTrackTimeDesc = 1,
/// <summary>
/// 按订单模板排序
/// 模板排序+轨迹发生时间
/// </summary>
ByTemplate
}
ByTemplateAndTrackTime = 2,
/// <summary>
/// 模板排序+轨迹发生时间
/// </summary>
ByTemplateAndTrackTimeDesc = 3
}

View File

@ -7,16 +7,111 @@ public class GetTrackOutput
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 轨迹明细列表
/// </summary>
public List<TrackDetail> TrackDetails { get; set; } = new();
}
public class TrackDetail
{
public string EsId { get; set; } = null!;
public string Code { get; set; } = null!;
public string Status { get; set; } = null!;
public string? Content { get; set; }
public string? EnContent { get; set; }
public string? OriginContent { get; set; }
public string Location { get; set; } = null!;
/// <summary>
/// 发生时间
/// </summary>
public DateTime Time { get; set; }
public float TimeZone { get; set; }
}
/// <summary>
/// 轨迹时区
/// </summary>
public float? TimeZone { get; set; }
/// <summary>
/// 是否对外
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsDisplay { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
/// 轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
}

View File

@ -0,0 +1,24 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetTrackTemplateListInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int? CustomerId { get; set; }
/// <summary>
/// 模版分类
/// </summary>
public int? TemplateType { get; set; }
/// <summary>
/// 模板code
/// </summary>
public string? TemplateCode { get; set; }
}

View File

@ -1,9 +1,16 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class LinkOrderInput
{
/// <summary>
/// 子系统id
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int SubSystemId { get; set; }
/// <summary>
/// false解绑,true关联
/// </summary>
@ -22,6 +29,13 @@ public class LinkOrderInput
[Required]
public string OrderNo { get; set; } = null!;
/// <summary>
/// 关联子系统id
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int LinkSubSystemId { get; set; }
/// <summary>
/// 关联单类型
/// </summary>
@ -32,4 +46,4 @@ public class LinkOrderInput
/// 关联的单号
/// </summary>
public List<string> LinkOrderNos { get; set; } = new();
}
}

View File

@ -1,9 +1,19 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
/// <summary>
/// 子系统id+订单类型+订单号 确定唯一订单
/// </summary>
public class OrderNoInfo
{
/// <summary>
/// 子系统id
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int SubSystemId { get; set; }
/// <summary>
/// 订单类型,必填
/// </summary>
@ -21,6 +31,13 @@ public class OrderNoInfo
public class OrderNosInfo
{
/// <summary>
/// 子系统id
/// </summary>
[Required]
[Range(1, int.MaxValue)]
public int SubSystemId { get; set; }
/// <summary>
/// 订单类型
/// </summary>
@ -32,5 +49,6 @@ public class OrderNosInfo
/// 订单号
/// </summary>
[Required]
[MaxLength(500)]
public List<string> OrderNos { get; set; } = new();
}
}

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -9,4 +9,14 @@ public class PushTrackInput : OrderNosInfo
/// </summary>
[Required]
public string TrackCode { get; set; } = null!;
}
/// <summary>
/// 重复的情况下,用什么字段比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 重复的情况下,比较值
/// </summary>
public object? CompareValue { get; set; }
}

View File

@ -1,60 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices
/// <summary>
/// 查询轨迹推送映射关系入参
/// </summary>
public class QueryTrackPullMappingsInput
{
/// <summary>
/// 查询轨迹推送映射关系入参
/// 子系统id
/// </summary>
public class QueryTrackPullMappingsInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubsystemsId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomerId { get; set; }
}
public int SubsystemsId { get; set; }
/// <summary>
/// 查询轨迹推送映射关系返参项
/// 客户id
/// </summary>
public class QueryTrackPullMappingsInfo
{
/// <summary>
/// 轨迹代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 服务商轨迹代码
/// </summary>
public string? ServiceCode { get; set; }
/// <summary>
/// 服务商轨迹状态
/// </summary>
public string? Status { get; set; }
/// <summary>
/// 服务商轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 服务商轨迹内容英文
/// </summary>
public string? ContentEn { get; set; }
}
public int CustomerId { get; set; }
}
/// <summary>
/// 查询轨迹推送映射关系返参项
/// </summary>
public class QueryTrackPullMappingsInfo
{
/// <summary>
/// 轨迹代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 服务商轨迹代码
/// </summary>
public string? ServiceCode { get; set; }
/// <summary>
/// 服务商轨迹状态
/// </summary>
public string? Status { get; set; }
/// <summary>
/// 服务商轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 服务商轨迹内容英文
/// </summary>
public string? ContentEn { get; set; }
}

View File

@ -1,9 +1,14 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class RefreshTrackInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public List<string> OrderNos { get; set; } = new();
}
}

View File

@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
/// <summary>
/// 轨迹标识符,用于唯一标识一个轨迹
/// </summary>
public sealed class TrackIdentifierDto
{
/// <summary>
/// 轨迹code
/// </summary>
[Required]
public string TrackCode { get; set; }
/// <summary>
/// 轨迹发生时间
/// </summary>
[Required]
public DateTime TrackTime { get; set; }
}

View File

@ -0,0 +1,52 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class TrackTemplateOutput
{
/// <summary>
/// 模版名称
/// </summary>
public string TemplateName { get; set; }
/// <summary>
/// 模版code
/// </summary>
public string TemplateCode { get; set; }
/// <summary>
/// 模版内容
/// </summary>
public List<TemplateContentDto> TemplateContents { get; set; }
}
public class TemplateContentDto
{
/// <summary>
/// 轨迹code
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容中文
/// </summary>
public string ContentCn { get; set; }
/// <summary>
/// 轨迹内容中文
/// </summary>
public string ContentEn { get; set; }
/// <summary>
/// 轨迹状态
/// </summary>
public string Status { get; set; }
/// <summary>
/// 轨迹节点
/// </summary>
public string Node { get; set; }
/// <summary>
/// 排序键
/// </summary>
public int Sort { get; set; }
}

View File

@ -43,12 +43,79 @@ public class UpdateOrderInput : OrderNoInfo
public string LeaveCity { get; set; } = null!;
/// <summary>
/// 订单模板(传全量)
/// 货物类型
/// </summary>
public List<OrderTemplateInfo> Templates { get; set; } = new();
public string? CargoType { get; set; }
/// <summary>
/// 是否转运
/// </summary>
public bool? IsTransit { get; set; }
/// <summary>
/// 产品编码
/// </summary>
public string? ProductCode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 拉取配置信息
/// </summary>
public List<PullConfigInfo>? PullConfigInfos { get; set; }
/// <summary>
/// 订单航班信息
/// </summary>
public List<OrderFlightInfo> FlightInfos { get; set; } = new();
}
/// <summary>
/// 模板code
/// </summary>
public List<string>? TemplateCodes { get; set; }
}
public class PullConfigInfo
{
/// <summary>
/// 服务商code
/// </summary>
[Required]
public string ServiceCode { get; set; }
/// <summary>
/// api服务商订单号(第三方单号)
/// </summary>
public string? OrderNo { get; set; }
/// <summary>
/// 开始轨迹code
/// </summary>
public string? StartCode { get; set; }
/// <summary>
/// 结束轨迹code
/// </summary>
public string? EndCode { get; set; }
/// <summary>
/// 静默多久后拉取(小时)
/// </summary>
[Range(0, 24 * 7)]
public int SilenceTime { get; set; }
/// <summary>
/// 结束多久后停止拉取(小时)
/// </summary>
[Range(0, 24 * 7)]
public int StopTime { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class UpdateOrderStatusInput
{
@ -8,4 +8,4 @@ public class UpdateOrderStatusInput
/// 订单是否完成
/// </summary>
public bool IsCompleted { get; set; }
}
}

View File

@ -0,0 +1,6 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class UpdateOrderPullConfigsInput : OrderNosInfo
{
public PullConfigInfo Config { get; set; }
}

View File

@ -7,23 +7,12 @@ public class UpsertOrderInput : UpdateOrderInput
/// <summary>
/// 客户id
/// </summary>
[Required]
public int CustomId { get; set; }
}
public class OrderTemplateInfo
{
/// <summary>
/// 模板id
/// </summary>
[Required]
[Range(1, Int32.MaxValue)]
public int TemplateId { get; set; }
/// <summary>
/// 服务商id
/// 当前操作人
/// </summary>
public int? ServiceProviderId { get; set; }
public int OptionUserId { get; set; }
}
public class OrderFlightInfo
@ -40,4 +29,4 @@ public class OrderFlightInfo
/// </summary>
[Required]
public DateTime FlightDate { get; set; }
}
}

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -9,6 +9,11 @@ public class UpsertTrackInput : OrderNoInfo
/// </summary>
public bool IsAdd { get; set; }
/// <summary>
/// 轨迹唯一标识(可选)
/// </summary>
public string? EsId { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
@ -27,12 +32,126 @@ public class UpsertTrackInput : OrderNoInfo
/// 轨迹发生时间
/// </summary>
[Required]
public DateTime? TrackTime { get; set; }
public DateTime TrackTime { get; set; }
/// <summary>
/// 更改后的轨迹发生时间,无需更改保持为空
/// </summary>
public DateTime? NewTrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
[Required]
[Range(-12, 12)]
// [Required]
// [Range(-12, 12)]
public float? TrackTimeZone { get; set; }
}
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外(可选的)
/// 如果未填则按照【轨迹内容】中的【是否可见】做为默认值
/// </summary>
public bool? IsExternal { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
[Required]
public int Source { get; set; }
/// <summary>
/// 轨迹备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹内容,若为空则取轨迹内容表中该轨迹Code对应的轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文,若为空则取轨迹内容表中该轨迹Code对应的轨迹英文内容
/// </summary>
public string? EnStatus { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
/// 轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
[Range(-12, 12)]
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 当前操作人
/// </summary>
public int OptionUserId { get; set; }
/// <summary>
/// 重复的情况下,用什么比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
/// <summary>
/// 是否强制推送
/// </summary>
public bool ForcedPush { get; set; }
/// <summary>
/// 指定是否推送
/// </summary>
public bool IsToMq { get; set; }
}

View File

@ -1,98 +1,137 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class EditTrackContentInput
{
public class EditTrackContentInput
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 所属轨迹状态id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 所属轨迹状态id
/// </summary>
public int? TrackStatusId { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string? EnContent { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string? EnContent { get; set; }
/// <summary>
/// 轨迹标记id
/// </summary>
public int TrackFlagId { get; set; }
}
/// <summary>
/// 轨迹标记id
/// </summary>
public int[]? TrackFlagIds { get; set; }
public class GetTrackContentDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 是否可重复
/// </summary>
public bool IsRepeatable { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 是否允许手动修改
/// </summary>
public bool IsAllowManuallyUpdate { get; set; }
/// <summary>
/// 所属轨迹状态id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 是否允许手动创建
/// </summary>
public bool IsAllowManuallyCreate { get; set; }
}
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
public class GetTrackContentDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 所属轨迹状态id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 轨迹标记id
/// </summary>
public int? TrackFlagId { get; set; }
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹标记
/// </summary>
public string TrackFlag { get; set; }
}
}
/// <summary>
/// 轨迹内容代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 轨迹标记id
/// </summary>
public string? TrackFlagId { get; set; }
/// <summary>
/// 轨迹标记ids
/// </summary>
public List<int>? TrackFlagIds { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 是否可重复
/// </summary>
public bool IsRepeatable { get; set; }
/// <summary>
/// 是否允许手动修改
/// </summary>
public bool IsAllowManuallyUpdate { get; set; }
/// <summary>
/// 是否允许手动创建
/// </summary>
public bool IsAllowManuallyCreate { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class EditTrackContentMapInput
{
@ -38,4 +38,4 @@ public class EditTrackContentMapInput
/// 源轨迹内容id
/// </summary>
public int? TrackContentId { get; set; }
}
}

View File

@ -0,0 +1,27 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetAvailableContentInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SystemId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string? OrderNo { get; set; }
/// <summary>
/// 操作类型 1=创建 2=修改 3=删除 4=推送
/// </summary>
public TrackOptionType TrackOptionType { get; set; }
}
public enum TrackOptionType
{
创建 = 1,
修改 = 2,
删除 = 3,
推送 = 4,
}

View File

@ -0,0 +1,104 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetAvailableContentOutput
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 轨迹来源
/// </summary>
public int? Source { 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 float? TrackTimeZoneValue { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 附件文件集合
/// </summary>
public List<FileItemDto>? FileItems { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
public bool IsVisibility { get; set; }
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetContentDetailInput
{
/// <summary>
/// 子系统编号
/// </summary>
public int SystemId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNumber { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 轨迹code
/// </summary>
public string TrackCode { get; set; }
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
}

View File

@ -0,0 +1,192 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetContentDetailOutput
{
/// <summary>
/// 子系统
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 订单Id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 索引名称
/// </summary>
public string IndexName { get; set; } = null!;
/// <summary>
/// 订单类型(主数据枚举TrackOrderType)
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹状态code
/// </summary>
public string TrackStatusCode { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string TrackContent { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string TrackEnContent { get; set; }
/// <summary>
/// 服务商code
/// </summary>
public string ServiceProviderCode { get; set; }
/// <summary>
/// 原轨迹内容
/// </summary>
public string? OriginTrackContent { get; set; }
/// <summary>
/// 原轨迹报文hash(刷新轨迹重复性校验使用)
/// </summary>
public string OriginTrackDataHash { get; set; } = null!;
/// <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 ZeroTrackTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
public bool IsVisibility { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItem>? Files { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
///轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计签收时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 签收地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
}
public class FileItem
{
/// <summary>
/// 文件osskey
/// </summary>
public string OssKey { get; set; }
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 路径
/// </summary>
public string Url { get; set; }
}

View File

@ -1,88 +1,107 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetPageTrackContentInput : PageInfoInput
{
public class GetPageTrackContentInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
/// <summary>
/// 轨迹状态id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 轨迹状态id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 选中的轨迹内容id
/// </summary>
public List<int>? SelectIds { get; set; }
}
/// <summary>
/// 选中的轨迹内容id
/// </summary>
public List<int>? SelectIds { get; set; }
}
public class GetTrackContentListDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
public class GetTrackContentListDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 所属状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 所属状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 所属节点
/// </summary>
public string Node { get; set; }
/// <summary>
/// 所属节点
/// </summary>
public string Node { get; set; }
/// <summary>
/// 轨迹标记
/// </summary>
public string TrackFlag { get; set; }
/// <summary>
/// 轨迹标记
/// </summary>
public string TrackFlag { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
}
}
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
/// <summary>
/// 是否可重复
/// </summary>
public bool IsRepeatable { get; set; }
/// <summary>
/// 是否允许手动修改
/// </summary>
public bool IsAllowManuallyUpdate { get; set; }
/// <summary>
/// 是否允许手动创建
/// </summary>
public bool IsAllowManuallyCreate { get; set; }
}

View File

@ -0,0 +1,14 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetTrackContentByCodeInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SystemId { get; set; }
/// <summary>
/// 轨迹内容code
/// </summary>
public string Code { get; set; }
}

View File

@ -0,0 +1,19 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class GetTrackContentByCodeOutput
{
/// <summary>
/// 中文内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 英文内容
/// </summary>
public string EnContent { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
}

View File

@ -1,68 +1,67 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackFlags
namespace SJZY.Track.Application.Contract.Dtos.TrackFlags;
public class EditTrackFlagInput
{
public class EditTrackFlagInput
{
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 标记
/// </summary>
public string? Flag { get; set; }
/// <summary>
/// 标记
/// </summary>
public string? Flag { get; set; }
/// <summary>
/// 代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 代码
/// </summary>
public string? Code { get; set; }
///// <summary>
///// 是否完结
///// </summary>
//public bool IsFinish { get; set; }
}
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
}
public class GetTrackFlagDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
public class GetTrackFlagDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 代码
/// </summary>
public string Code { get; set; }
/// <summary>
///
/// </summary>
public string Flag { get; set; }
/// <summary>
/// 标记
/// </summary>
public string Flag { get; set; }
///// <summary>
///// 是否完结
///// </summary>
//public bool IsFinish { get; set; }
}
}
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
}

View File

@ -1,68 +1,67 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackFlags
namespace SJZY.Track.Application.Contract.Dtos.TrackFlags;
public class GetTrackFlagListDto
{
public class GetTrackFlagListDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 标记
/// </summary>
public string Flag { get; set; }
/// <summary>
/// 标记
/// </summary>
public string Flag { get; set; }
///// <summary>
///// 是否完结
///// </summary>
//public bool IsFinish { get; set; }
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
}
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
}
public class GetPageTrackFlagInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
public class GetPageTrackFlagInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 选中的轨迹标记id
/// </summary>
public List<int>? SelectIds { get; set; }
/// <summary>
/// 选中的轨迹标记id
/// </summary>
public List<int>? SelectIds { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
}
}
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackNode;
public class EditTrackNodeInput
{
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 轨迹节点id,创建不用填
/// </summary>
public long Id { get; set; }
/// <summary>
/// 系统id
/// </summary>
public int? SubSystemId { get; set; }
/// <summary>
/// 节点名称
/// </summary>
public string? NodeName { get; set; }
/// <summary>
/// 节点英文名称
/// </summary>
public string? NodeEnName { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
public class GetTrackCounterOutput
{
@ -16,4 +16,4 @@ public class GetTrackCounterOutput
/// 预警数
/// </summary>
public int WarnCount { get; set; }
}
}

View File

@ -1,5 +1,5 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
public class TrackPushRecordItem
{
}
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
public class TrackPushRecordOutput
{
@ -72,4 +72,4 @@ public class TrackPushRecordOutput
/// <summary>创建时间</summary>
public DateTime CreateTime { get; set; }
}
}

View File

@ -1,33 +1,13 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class EditTrackPullConfigInput
{
public int? Id { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionTypeNoNull Options { get; set; }
/// <summary>
/// 拉取轨迹订单号
/// </summary>
public string? OrderNoName { get; set; }
/// <summary>
/// 返参解析对象
/// </summary>
public int? ParseMethod { get; set; }
/// <summary>
/// 定时任务(分钟)
/// </summary>
public int? PullInterval { get; set; }
/// <summary>
/// 服务商id
/// </summary>
public int? ServiceProviderId { get; set; }
public int? Id { get; set; }
/// <summary>
/// 子系统id
@ -35,42 +15,62 @@ public class EditTrackPullConfigInput
public int? SubSystemId { get; set; }
/// <summary>
/// 拉取轨迹时区
/// 服务商id
/// </summary>
public string? TrackTimeZoneName { get; set; }
public int? ServiceProviderId { get; set; }
/// <summary>
/// 拉取轨迹内容代码
/// 服务商拉取频率(分钟)
/// </summary>
public string? TrackContentCodeName { get; set; }
public int PullInterval { get; set; }
/// <summary>
/// 拉取轨迹内容
/// 解析方式,1取接口通返参映射后的,2取服务商原返参
/// </summary>
public string? TrackContentName { get; set; }
/// <summary>
/// 拉取轨迹发生地
/// </summary>
public string? TrackPlaceName { get; set; }
/// <summary>
/// 拉取轨迹状态
/// </summary>
public string? TrackStatusName { get; set; }
/// <summary>
/// 拉取轨迹发生时间
/// </summary>
public string? TrackTimeName { get; set; }
public int ParseMethod { get; set; }
/// <summary>
/// 订单路径
/// </summary>
public string? OrderPath { get; set; }
/// <summary>
/// 单号参数名
/// </summary>
public string? OrderNoName { get; set; }
/// <summary>
/// 轨迹明细路径
/// </summary>
public string? TrackDetailsPath { get; set; }
}
/// <summary>
/// 轨迹状态参数名
/// </summary>
public string? TrackStatusName { get; set; }
/// <summary>
/// 轨迹代码参数名
/// </summary>
public string? TrackContentCodeName { get; set; }
/// <summary>
/// 轨迹内容参数名
/// </summary>
public string? TrackContentName { get; set; }
/// <summary>
/// 轨迹发生地参数名
/// </summary>
public string? TrackPlaceName { get; set; }
/// <summary>
/// 轨迹发生时间参数名
/// </summary>
public string? TrackTimeName { get; set; }
/// <summary>
/// 轨迹时区参数名
/// </summary>
public string? TrackTimeZoneName { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class EditTrackPullContentInput
{
@ -9,21 +9,11 @@ public class EditTrackPullContentInput
public int? Id { get; set; }
/// <summary>
/// 服务商轨迹代码参数值
/// </summary>
public string? TrackContentCodeValue { get; set; }
/// <summary>
/// 轨迹内容id
/// </summary>
public int? TrackContentId { get; set; }
/// <summary>
/// 服务商轨迹内容参数值
/// </summary>
public string? TrackContentValue { get; set; }
/// <summary>
/// 拉取轨迹关键字(正向)
/// </summary>
@ -47,15 +37,10 @@ public class EditTrackPullContentInput
/// <summary>
/// 服务商轨迹状态参数值
/// </summary>
public string? TrackStatusValue { get; set; }
public List<string>? TrackStatusValues { get; set; }
/// <summary>
/// 轨迹时区GMT
/// 兜底轨迹时区发生地
/// </summary>
public double? TrackTimeZone { get; set; }
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { get; set; }
}
public int? TrackTimePlaceValue { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackPullContentConfigDto
{
@ -10,27 +10,17 @@ public class TrackPullContentConfigDto
/// <summary>
/// 服务商轨迹状态参数值
/// </summary>
public string? TrackStatusValue { get; set; }
public List<string> TrackStatusValues { get; set; } = new();
/// <summary>
/// 服务商轨迹代码参数值
/// 轨迹关键词(正向)
/// </summary>
public string? TrackContentCodeValue { get; set; }
public List<string> TrackKeywords { get; set; } = new();
/// <summary>
/// 服务商轨迹内容参数值
/// 轨迹关键词(反向)
/// </summary>
public string? TrackContentValue { get; set; }
/// <summary>
/// 轨迹关键词(正向),多个逗分隔
/// </summary>
public string? TrackKeyword { get; set; }
/// <summary>
/// 轨迹关键词(反向),多个逗分隔
/// </summary>
public string? TrackKeywordReverse { get; set; }
public List<string> TrackKeywordReverses { get; set; } = new();
/// <summary>
/// 轨迹发生地参数值(主数据枚举)
@ -38,12 +28,7 @@ public class TrackPullContentConfigDto
public int? TrackPlaceValue { get; set; }
/// <summary>
/// 轨迹时区GMT值
/// 轨迹时区发生地参数值
/// </summary>
public float? TrackTimeZoneValue { get; set; }
/// <summary>
/// 订单是否完成(由轨迹刷新配置决定)
/// </summary>
public bool IsCompleted { get; set; }
}
public int? TrackZonePlaceValue { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackPullParamConfigDto
{
@ -46,4 +46,9 @@ public class TrackPullParamConfigDto
/// 轨迹明细数组路径
/// </summary>
public string TrackDetailsPath { get; set; } = null!;
}
/// <summary>
/// 轨迹内容代码
/// </summary>
public string? TrackContentCode { get; set; }
}

View File

@ -1,8 +1,8 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackPullParamWithContentConfigDto
public class TrackPullParamsWithContentDto
{
public TrackPullParamConfigDto ParamConfig { get; set; } = new();
public List<TrackPullContentConfigDto> ContentConfigs { get; set; } = new();
}
}

View File

@ -0,0 +1,9 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackPullPayload
{
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
}

View File

@ -1,24 +1,18 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackRefreshAttach
{
public TrackRefreshAttach(int serviceProviderId, string serviceProviderName, int subSystemId, int orderType)
public TrackRefreshAttach(string serviceProviderCode, int subSystemId, int orderType)
{
ServiceProviderId = serviceProviderId;
ServiceProviderName = serviceProviderName;
ServiceProviderCode = serviceProviderCode;
SubSystemId = subSystemId;
OrderType = orderType;
}
/// <summary>
/// 服务商id
/// 服务商code
/// </summary>
public int ServiceProviderId { get; set; }
/// <summary>
/// 服务商name
/// </summary>
public string ServiceProviderName { get; set; }
public string ServiceProviderCode { get; set; }
/// <summary>
/// 订单类型(主数据枚举TrackOrderType)
@ -29,4 +23,4 @@ public class TrackRefreshAttach
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
}
}

View File

@ -18,9 +18,9 @@ public class TrackRefreshContext
public string OrderNo { get; set; } = null!;
/// <summary>
/// 服务商
/// 服务商代码
/// </summary>
public string ServiceProviderName { get; set; } = null!;
public string ServiceProviderCode { get; set; } = null!;
/// <summary>
/// 客户id
@ -31,4 +31,4 @@ public class TrackRefreshContext
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
}
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class EditTrackPushConfigInput
{
@ -20,14 +20,9 @@ public class EditTrackPushConfigInput
public OptionTypeNoNull Options { get; set; }
/// <summary>
/// 推送轨迹订单号
/// 服务商code
/// </summary>
public string? OrderNoName { get; set; }
/// <summary>
/// 服务商id
/// </summary>
public int? ServiceProviderId { get; set; }
public string? ServiceProviderCode { get; set; }
/// <summary>
/// 子系统id
@ -48,4 +43,24 @@ public class EditTrackPushConfigInput
/// 是否全量推送
/// </summary>
public bool? IsAllPush { get; set; }
}
/// <summary>
/// 是否全量推送
/// </summary>
public bool? IsAllPushWithLatest { get; set; }
/// <summary>
/// 时间格式枚举
/// </summary>
public int? DateTimeFormatType { get; set; } = 0;
/// <summary>
/// 日期时间格式模板
/// </summary>
public string? DateTimeFormat { get; set; }
/// <summary>
/// 时区格式格式模板
/// </summary>
public string? TimezoneFormat { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class EditTrackPushContentInput
{
@ -63,4 +63,4 @@ public class EditTrackPushContentInput
/// 轨迹时区GMT
/// </summary>
public double? TrackTimeZone { get; set; }
}
}

View File

@ -1,4 +1,4 @@
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Expand.ABP.Core.PublicMethords;
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
@ -8,4 +8,4 @@ public class SortTrackPushContentInput
/// 排序信息
/// </summary>
public List<DropdownListDataDto> SortInfo { get; set; }
}
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushAfterUpdateOrderDto
{
@ -26,4 +26,4 @@ public class TrackPushAfterUpdateOrderDto
/// 问题描述
/// </summary>
public string? Message { get; set; }
}
}

View File

@ -17,6 +17,11 @@ public class TrackPushContentConfigDto
/// </summary>
public bool IsAllPush { get; set; }
/// <summary>
/// 是否全量推送(最新轨迹)
/// </summary>
public bool IsAllPushWithLatest { get; set; }
/// <summary>
/// 是否支持删除
/// </summary>
@ -70,5 +75,21 @@ public class TrackPushContentConfigDto
/// <summary>
/// 扩展字段参数值
/// </summary>
[Obsolete("废弃属性,调整为从轨迹明细扩展中获取扩展值填入")]
public string? ExpandFieldsValue { get; set; }
}
/// <summary>
/// 时间格式枚举
/// </summary>
public int DateTimeFormatType { get; set; }
/// <summary>
/// 日期时间格式模板
/// </summary>
public string? DateTimeFormat { get; set; }
/// <summary>
/// 时区格式格式模板
/// </summary>
public string? TimezoneFormat { get; set; }
}

View File

@ -0,0 +1,36 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushContentDto
{
public int Id { get; set; }
/// <summary>
/// 轨迹代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 推送单号类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 服务商轨迹代码
/// </summary>
public string ServiceCode { get; set; }
/// <summary>
/// 服务商轨迹状态
/// </summary>
public string Status { get; set; }
/// <summary>
/// 服务商轨迹内容
/// </summary>
public string Content { get; set; }
/// <summary>
/// 服务商轨迹内容英文
/// </summary>
public string ContentEn { get; set; }
}

View File

@ -1,10 +1,11 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushInput
{
public string OrderNo { get; set; } = null!;
public List<TrackItem> Data { get; set; } = new();
//原TrackItem,为了扩展字段入参变更为字典
public List<Dictionary<string,object?>> Data { get; set; } = new();
public string Log { get; set; }
}
@ -13,19 +14,8 @@ public class TrackUpdateInput
{
public string OrderNo { get; set; } = null!;
public List<TrackItem> Data { get; set; } = new();
//原TrackItem,为了扩展字段入参变更为字典
public List<Dictionary<string,object?>> Data { get; set; } = new();
public string Log { get; set; }
}
public class TrackItem
{
public string Location { get; set; } = null!;
public DateTime Date { get; set; }
public double TimeZone { get; set; }
public string? Description { get; set; }
public string? DescriptionCn { get; set; }
public string? Code { get; set; }
public string? Status { get; set; }
public string? Extra { get; set; }
}

View File

@ -0,0 +1,90 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushRecordDto
{
/// <summary>
/// 子系统代码
/// </summary>
public string SubSystemCode { get; set; }
/// <summary>
/// 是否为手动推送
/// </summary>
public bool IsManualPush { get; set; }
/// <summary>
/// 推送时间
/// </summary>
public DateTime PushTime { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 接口通请求Id
/// 在请求接口通前被拦截,就不会有请求Id
/// </summary>
public Guid? RequestId { get; set; }
/// <summary>
/// 信息
/// </summary>
public string Message { get; set; } = null!;
/// <summary>
/// 操作类型
/// </summary>
public string OptionType { get; set; } = null!;
/// <summary>
/// 轨迹状态
/// </summary>
public string TrackStatus { get; set; } = null!;
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; } = null!;
/// <summary>
/// 轨迹内容
/// </summary>
public string TrackContent { get; set; } = null!;
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public float TrackTimeZone { get; set; }
/// <summary>
/// 是否成功
/// </summary>
public bool IsSuccess { get; set; }
/// <summary>
/// 推送内容(json)
/// </summary>
public string PushContent { get; set; } = null!;
/// <summary>
/// 轨迹的额外新
/// </summary>
public string? Extra { get; set; }
}

View File

@ -1,40 +1,49 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus;
public class EditTrackStatusInput
{
public class EditTrackStatusInput
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 所属节点id
/// </summary>
public int NodeId { get; set; }
/// <summary>
/// 所属节点id
/// </summary>
public int NodeId { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string? Code { get; set; }
/// <summary>
/// 轨迹状态
/// </summary>
public string? TrackStatus { get; set; }
/// <summary>
/// 轨迹状态
/// </summary>
public string? TrackStatus { get; set; }
/// <summary>
/// 轨迹状态英文
/// </summary>
public string? EntrackStatus { get; set; }
}
}
/// <summary>
/// 轨迹状态英文
/// </summary>
public string? EnTrackStatus { get; set; }
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
}

View File

@ -1,40 +1,54 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus;
public class GetTrackStatusDetailDto
{
public class GetTrackStatusDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 节点id
/// </summary>
public int NodeId { get; set; }
/// <summary>
/// 节点id
/// </summary>
public int NodeId { get; set; }
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EntrackStatus { get; set; }
}
}
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnTrackStatus { get; set; }
/// <summary>
/// 节点名称
/// </summary>
public string? NodeName { get; set; }
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
}

View File

@ -1,74 +1,82 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus;
public class GetTrackStatusListDto
{
public class GetTrackStatusListDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 所属节点
/// </summary>
public string Node { get; set; }
/// <summary>
/// 所属节点
/// </summary>
public string Node { get; set; }
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 所属轨迹状态
/// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EntrackStatus { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnTrackStatus { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 是否广播
/// </summary>
public bool IsToMq { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
public class GetPageTrackStatusInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public DateTime? UpdateTime { get; set; }
}
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
public class GetPagedTrackStatusInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 选中的轨迹状态id
/// </summary>
public List<int>? SelectIds { get; set;}
}
}
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
/// <summary>
/// 选中的轨迹状态id
/// </summary>
public List<int>? SelectIds { get; set; }
}

View File

@ -0,0 +1,14 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackStatus;
public class QueryTrackNodeRequest : PageInfoInput
{
/// <summary>
/// 关键字,节点中文和英文
/// </summary>
public string? KeyWord { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public long? SystemId { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
/// <inheritdoc/>
public class EditTrackTemplateContentInput
@ -11,16 +11,6 @@ public class EditTrackTemplateContentInput
/// <inheritdoc/>
public int? Id { get; set; }
/// <summary>
/// 是否可删
/// </summary>
public bool? IsCanDelete { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool? IsExternal { get; set; }
/// <summary>
/// 轨迹内容id
/// </summary>
@ -30,4 +20,4 @@ public class EditTrackTemplateContentInput
/// 轨迹模板id
/// </summary>
public int? TrackTemplateId { get; set; }
}
}

View File

@ -1,28 +1,27 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
/// <summary>
/// 获取轨迹模版分页输入
/// </summary>
public class GetPageTrackTemplateInput : PageInfoInput
{
/// <summary>
/// 获取轨迹模版分页输入
/// 子系统id
/// </summary>
public class GetPageTrackTemplateInput : PageInfoInput
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
public int SubSystemId { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
/// <summary>
/// 关键字
/// </summary>
public string? Keywords { get; set; }
///// <summary>
///// 轨迹模版id,轨迹映射的查询使用
///// </summary>
//public int TrackTemplateId { get; set; }
///// <summary>
///// 轨迹模版id,轨迹映射的查询使用
///// </summary>
//public int TrackTemplateId { get; set; }
/// <summary>
/// 选中的轨迹模版id
/// </summary>
public List<int>? SelectIds { get; set; }
}
}
/// <summary>
/// 选中的轨迹模版id
/// </summary>
public List<int>? SelectIds { get; set; }
}

View File

@ -1,110 +1,114 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
/// <summary>
/// 获取轨迹模版详情
/// </summary>
public class GetTrackTemplateDetailDto
{
/// <summary>
/// 获取轨迹模版详情
/// Id
/// </summary>
public class GetTrackTemplateDetailDto
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统
/// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 模版名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 模版代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 显示原轨迹
/// </summary>
public bool ShowOrigin { get; set; }
}
public int Id { get; set; }
/// <summary>
/// 获取轨迹模版列表
/// 子系统id
/// </summary>
public class GetTrackTemplateListDto
{
/// <summary>
/// 轨迹模版id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 模板名称
/// </summary>
public string Name { set; get; }
/// <summary>
/// 模版代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 所属子系统
/// </summary>
public string SubSystem { set; get; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { set; get; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
public int SubSystemId { get; set; }
/// <summary>
/// 编辑轨迹模版
/// 子系统
/// </summary>
public class EditTrackTemplateInput
{
/// <summary>
/// Id
/// </summary>
public int Id { set; get; }
public string SubSystem { get; set; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 模版名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { set; get; }
/// <summary>
/// 模版代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 模板名称
/// </summary>
public string? Name { set; get; }
/// <summary>
/// 显示原轨迹
/// </summary>
public bool ShowOrigin { get; set; }
}
/// <summary>
/// 模板代码
/// </summary>
public string? Code { set; get; }
/// <summary>
/// 获取轨迹模版列表
/// </summary>
public class GetTrackTemplateListDto
{
/// <summary>
/// 轨迹模版id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 显示原轨迹
/// </summary>
public bool ShowOrigin { get; set; }
}
}
/// <summary>
/// 模板名称
/// </summary>
public string Name { set; get; }
/// <summary>
/// 模版代码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 所属子系统
/// </summary>
public string SubSystem { set; get; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { set; get; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
/// <summary>
/// 编辑轨迹模版
/// </summary>
public class EditTrackTemplateInput
{
/// <summary>
/// Id
/// </summary>
public int Id { set; get; }
/// <summary>
/// 操作类型
/// </summary>
public OptionType Options { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { set; get; }
/// <summary>
/// 模板名称
/// </summary>
public string? Name { set; get; }
/// <summary>
/// 模板代码
/// </summary>
public string? Code { set; get; }
/// <summary>
/// 分类id
/// </summary>
public int CategoryId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomerId { get; set; }
}

View File

@ -1,4 +1,4 @@
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Expand.ABP.Core.PublicMethords;
namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;
@ -8,4 +8,4 @@ public class SortTrackTemplateContentInput
/// 排序信息
/// </summary>
public List<DropdownListDataDto> SortInfo { get; set; }
}
}

View File

@ -0,0 +1,8 @@
using SJZY.Track.Application.Contract.Dtos.Forewarning;
namespace SJZY.Track.Application.Contract.Events;
public class ClearRulCacheEvent
{
public List<RuleAreaBaseInfo> Items { get; set; }
}

View File

@ -0,0 +1,22 @@
namespace SJZY.Track.Application.Contract.Events;
/// <summary>
/// redis 的发布订阅事件
/// </summary>
public class ModifyWarningEvent : RedisEvent
{
public string Key { get; set; }
}
public class RedisEvent : IRedisEvent
{
public string EventType { get; set; }
}
/// <summary>
/// 简单的事件接口,后续可以根据需要扩展
/// </summary>
public interface IRedisEvent
{
string EventType { get; set; }
}

View File

@ -2,9 +2,18 @@ namespace SJZY.Track.Application.Contract.Events;
public struct OrderIdentifier
{
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
public string OrderNo { get; set; }
public int OrderType { get; set; }
public int CustomId { get; set; }
}
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
}

View File

@ -0,0 +1,6 @@
namespace SJZY.Track.Application.Contract.Events;
public class PushWarningEvent
{
public int PageSize { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Events;
namespace SJZY.Track.Application.Contract.Events;
public class TrackChangeAfterUpdateOrderEvent
{
@ -8,7 +8,7 @@ public class TrackChangeAfterUpdateOrderEvent
public int[] OrderIds { get; set; } = null!;
/// <summary>
/// 这条轨迹是否意味着完成(只有刷新会设为true)
/// 这条轨迹是否意味着订单已完成
/// </summary>
public bool IsCompleted { get; set; }
@ -36,4 +36,19 @@ public class TrackChangeAfterUpdateOrderEvent
/// 轨迹时区
/// </summary>
public float TrackTimeZone { get; set; }
}
/// <summary>
/// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
/// </summary>
public int DeficiencyTagValue { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 签收地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
}

View File

@ -0,0 +1,142 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Events;
public class TrackChangeEto
{
/// <summary>
/// 操作类型:1新增,2删除,3修改
/// </summary>
public int Option { get; set; }
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 单号
/// </summary>
public string OrderNo { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public OrderIdentifier[] OrderIdentifiers { get; set; } = null!;
/// <summary>
/// 操作人
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; } = null!;
/// <summary>
/// 轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string? EnStatus { get; set; }
/// <summary>
/// 轨迹状态代码
/// </summary>
public string TrackStatusCode { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生地时区
/// </summary>
public float TrackTimeZone { get; set; }
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 轨迹备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
///轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
}

View File

@ -1,4 +1,6 @@
namespace SJZY.Track.Application.Contract.Events;
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Events;
public class TrackDeleteEvent
{
@ -7,23 +9,49 @@ public class TrackDeleteEvent
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// es中的id
/// </summary>
public string[]? EsIds { get; set; }
/// <summary>
/// 订单ids
/// </summary>
public int[] OrderIds { get; set; } = null!;
/// <summary>
/// 轨迹代码
/// 重复的情况下,用什么字段比较
/// </summary>
public List<string> TrackCodes { get; set; } = null!;
public string? CompareFields { get; set; }
/// <summary>
/// 重复的情况下,比较值
/// </summary>
public object? CompareValue { get; set; }
/// <summary>
/// 轨迹标识符
/// </summary>
public List<TrackIdentifierDto>? TrackIdentifiers { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 操作人姓名
/// </summary>
public int OperationManId { get; set; }
/// <summary>
/// 已经处理过的订单
/// </summary>
public List<int> Visited { get; set; } = new();
}
public override string ToString()
{
return $"[TrackDelete by {OperationMan}] SubSystemId: {SubSystemId}, OrderIds: {string.Join(",",
OrderIds)}, TrackCodes: {string.Join(",", TrackIdentifiers.Select(x=>x.TrackCode))}";
}
}

View File

@ -1,49 +0,0 @@
namespace SJZY.Track.Application.Contract.Events;
public class TrackInsertForNotMappedEvent
{
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int OrderType { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 服务商
/// </summary>
public string ServiceProviderName { get; set; } = null!;
/// <summary>
/// 原轨迹内容
/// </summary>
public string? OriginTrackContent { get; set; }
/// <summary>
/// 原轨迹报文
/// </summary>
public string? OriginTrackData { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public float TrackTimeZone { get; set; }
}

View File

@ -0,0 +1,88 @@
namespace SJZY.Track.Application.Contract.Events;
/// <summary>
/// 轨迹推送广播模型
/// </summary>
public class TrackPushCompletedEvent
{
/// <summary>
/// 是否为手动推送
/// </summary>
public bool IsManualPush { get; set; }
/// <summary>
/// 推送时间
/// </summary>
public DateTime PushTime { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string OrderNo { get; set; } = null!;
/// <summary>
/// 接口通请求Id
/// 在请求接口通前被拦截,就不会有请求Id
/// </summary>
public Guid? RequestId { get; set; }
/// <summary>
/// 信息
/// </summary>
public string Message { get; set; } = null!;
/// <summary>
/// 操作类型
/// </summary>
public string OptionType { get; set; } = null!;
/// <summary>
/// 轨迹状态
/// </summary>
public string TrackStatus { get; set; } = null!;
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; } = null!;
/// <summary>
/// 轨迹内容
/// </summary>
public string TrackContent { get; set; } = null!;
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public float TrackTimeZone { get; set; }
/// <summary>
/// 是否成功
/// </summary>
public bool IsSuccess { get; set; }
/// <summary>
/// 推送内容(json)
/// </summary>
public string PushContent { get; set; } = null!;
/// <summary>
/// 轨迹的额外新
/// </summary>
public string? Extra { get; set; }
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Events;
namespace SJZY.Track.Application.Contract.Events;
public class TrackPushEvent
{
@ -12,6 +12,11 @@ public class TrackPushEvent
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 子系统代码
/// </summary>
public string SubSystemCode { get; set; }
/// <summary>
/// 客户id
/// </summary>
@ -36,6 +41,16 @@ public class TrackPushEvent
/// 系统推送信息
/// </summary>
public SystemPushStruct SystemPushInfo { get; set; }
/// <summary>
/// 是否强制推送
/// </summary>
public bool ForcedPush { get; set; }
/// <summary>
/// 是否发送到mq
/// </summary>
public bool IsToMq { get; set; }
}
public struct SystemPushStruct
@ -64,4 +79,14 @@ public struct SystemPushStruct
/// 轨迹发生时区
/// </summary>
public float TrackTimeZone { get; set; }
}
/// <summary>
/// 重复的情况下,用什么比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
}

View File

@ -3,9 +3,9 @@ namespace SJZY.Track.Application.Contract.Events;
public struct TrackRefreshStruct
{
/// <summary>
/// 服务商
/// 服务商code
/// </summary>
public string? ServiceProviderName { get; set; }
public string? ServiceProviderCode { get; set; }
/// <summary>
/// 原轨迹内容
@ -13,13 +13,7 @@ public struct TrackRefreshStruct
public string? OriginTrackContent { get; set; }
/// <summary>
/// 原轨迹报文
/// 原轨迹报文hash(刷新轨迹重复性校验使用)
/// </summary>
public string? OriginTrackData { get; set; }
/// <summary>
/// 表示订单是否完成(只由轨迹刷新配置决定)
/// tips:能够使得IsCompleted为true的点,全局只有一个:轨迹刷新
/// </summary>
public bool IsCompleted { get; set; }
}
public string? OriginTrackDataHash { get; set; }
}

View File

@ -1,22 +1,39 @@
namespace SJZY.Track.Application.Contract.Events;
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
namespace SJZY.Track.Application.Contract.Events;
public class TrackUpsertEvent
{
/// <summary>
/// 子系统id(操作的订单都是相同子系统下的)
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public OrderIdentifier[] OrderIdentifiers { get; set; } = null!;
/// <summary>
/// 轨迹唯一标识(用于单个订单更新单条轨迹,如果有的话优先级最高)
/// </summary>
public string? EsId { get; set; }
/// <summary>
/// 操作人(null则默认系统)
/// </summary>
public string? OperationMan { get; set; }
/// <summary>
/// 操作人id
/// </summary>
public int OperationManId { get; set; }
/// <summary>
/// true新增,false更新
/// </summary>
@ -37,6 +54,11 @@ public class TrackUpsertEvent
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 更改后的轨迹发生时间,无需更改保持为空
/// </summary>
public DateTime? NewTrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
@ -48,4 +70,112 @@ public class TrackUpsertEvent
public List<int> Visited { get; set; } = new();
public TrackRefreshStruct TrackRefreshData { get; set; }
}
/// <summary>
/// 客户是否可见
/// </summary>
[Obsolete("废弃的,请使用IsExternal")]
public bool IsVisibility { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool? IsExternal { get; set; }
/// <summary>
/// 数据来源:1外部服务商创建,2内部系统创建,3人工创建
/// </summary>
public int Source { get; set; }
/// <summary>
/// 轨迹备注
/// </summary>
public string? Remarks { get; set; }
/// <summary>
/// 附件集合
/// </summary>
public List<FileItemDto>? Files { get; set; }
/// <summary>
/// 轨迹内容,若为空则取轨迹内容表中该轨迹Code对应的轨迹内容
/// </summary>
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文,若为空则取轨迹内容表中该轨迹Code对应的轨迹英文内容
/// </summary>
public string? EnStatus { get; set; }
/// <summary>
/// 轨迹发生地(城市)
/// </summary>
public string? TrackPlaceCity { get; set; }
/// <summary>
/// 轨迹发生地(城市)Id
/// </summary>
public int? TrackPlaceCityId { get; set; }
/// <summary>
/// 轨迹发生地(省/州)
/// </summary>
public string? TrackPlaceProvince { get; set; }
/// <summary>
///轨迹发生地(省/州)Id
/// </summary>
public int? TrackPlaceProvinceId { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)
/// </summary>
public string? TrackPlaceNation { get; set; }
/// <summary>
/// 轨迹发生地(国家/地区)Id
/// </summary>
public int? TrackPlaceNationId { get; set; }
/// <summary>
/// 轨迹发生地邮编
/// </summary>
public string? TrackPlacePostcode { get; set; }
/// <summary>
/// 预计到达时间
/// </summary>
public DateTime? EstimatedDeliveryDate { get; set; }
/// <summary>
/// 目的地时区
/// </summary>
public float? DestinationTimeZone { get; set; }
/// <summary>
/// 重复的情况下,用什么比较
/// </summary>
public string? CompareFields { get; set; }
/// <summary>
/// 扩展信息字段,用与轨迹推送的附加字段
/// </summary>
public string? Extra { get; set; }
/// <summary>
/// 是否强制推送
/// </summary>
public bool ForcedPush { get; set; }
/// <summary>
/// 指定是否推送
/// </summary>
public bool IsToMq { get; set; }
public override string ToString()
{
return
$"[{(IsAdd ? "TrackInsert" : "TrackUpdate")} by {OperationMan}] SubSystemId: {SubSystemId}, OrderIds: {string.Join(",",
OrderIdentifiers.Select(x => x.OrderId))}, TrackCode: {TrackCode}, TrackPlace: {TrackPlace}, TrackTime: {TrackTime}";
}
}

View File

@ -1,94 +0,0 @@
namespace SJZY.Track.Application.Contract.Events;
public class TrackUpsertForRefreshEvent
{
/// <summary>
/// 子系统id(操作的订单都是相同子系统下的)
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 订单
/// </summary>
public OrderIdentifier OrderIdentifiers { get; set; }
/// <summary>
/// 服务商
/// </summary>
public string? ServiceProviderName { get; set; }
/// <summary>
/// 原轨迹内容
/// </summary>
public string? OriginTrackContent { get; set; }
/// <summary>
/// 原轨迹报文
/// </summary>
public string? OriginTrackData { get; set; }
/// <summary>
/// 表示订单是否完成(只由轨迹刷新配置决定)
/// tips:能够使得IsCompleted为true的点,全局只有一个:轨迹刷新
/// </summary>
public bool IsCompleted { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string TrackCode { get; set; } = null!;
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; } = null!;
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public float TrackTimeZone { get; set; }
}
public class TrackHandledDto
{
/// <summary>
/// 原轨迹内容
/// </summary>
public string? OriginTrackContent { get; set; }
/// <summary>
/// 原轨迹报文
/// </summary>
public string? OriginTrackData { get; set; }
/// <summary>
/// 表示订单是否完成(只由轨迹刷新配置决定)
/// tips:能够使得IsCompleted为true的点,全局只有一个:轨迹刷新
/// </summary>
public bool? IsCompleted { get; set; }
/// <summary>
/// 轨迹内容代码
/// </summary>
public string? TrackCode { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string? TrackPlace { get; set; }
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime? TrackTime { get; set; }
/// <summary>
/// 轨迹发生时区
/// </summary>
public float? TrackTimeZone { get; set; }
}

View File

@ -0,0 +1,29 @@
namespace SJZY.Track.Application.Contract.Events;
public class TrackWarningCalcEvent
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary>
/// 轨迹状态Id
/// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 订单id
/// </summary>
public int[] OrderIds { get; set; }
/// <summary>
/// 轨迹发生时间
/// </summary>
public DateTime TrackTime { get; set; }
}

Some files were not shown because too many files have changed in this diff Show More