Merge pull request 'S05轨迹重构' (#68) from S05轨迹重构 into uat

Reviewed-on: https://git.shijizhongyun.com/Dotnet/SJZY.Track.Api/pulls/68
This commit is contained in:
lipengjun 2024-10-12 16:26:36 +08:00
commit ecc6dab965
383 changed files with 12306 additions and 5644 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 ## 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 # User-specific files
*.suo *.suo
@ -189,3 +189,4 @@ UpgradeLog*.htm
FakesAssemblies/ FakesAssemblies/
logs/ logs/
/.vs /.vs
.idea/

View File

@ -23,6 +23,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution items", "solution
common.props = common.props common.props = common.props
NuGet.Config = NuGet.Config NuGet.Config = NuGet.Config
.gitignore = .gitignore .gitignore = .gitignore
.editorconfig = .editorconfig
EndProjectSection EndProjectSection
EndProject EndProject
Global 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> <s:Boolean x:Key="/Default/UserDictionary/Words/=SJZY/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View File

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

View File

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

View File

@ -1,4 +1,4 @@
using FluentValidation.AspNetCore; using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SJZY.Expand.ABP.Core; using SJZY.Expand.ABP.Core;
using SJZY.Expand.ABP.Core.Cors; 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.Redis;
using SJZY.Expand.ABP.Core.Swagger; using SJZY.Expand.ABP.Core.Swagger;
using SJZY.Track.Application; using SJZY.Track.Application;
using SJZY.Track.Application.HostServices;
using SJZY.Track.Repository; using SJZY.Track.Repository;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
@ -20,69 +21,70 @@ using Volo.Abp.Modularity;
[assembly: HostingStartup(typeof(HostingStartup))] [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( public override void ConfigureServices(ServiceConfigurationContext context)
typeof(AbpAutofacModule),
typeof(SjzyAbpCodeModule),
typeof(AbpAspNetCoreMvcModule),
typeof(AbpAspNetCoreSerilogModule),
typeof(SjzyTrackApplicationModule),
typeof(SjzyTrackRepositoryModule)
)]
public class SjzyTrackApiModule : AbpModule
{ {
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(); options.Filters.AddService<GlobalExceptionFilter>();
var configuration = context.Services.GetConfiguration(); options.Filters.AddService<RequestLogFilter>();
context.Services.AddSwagger(); options.Filters.AddService<UnifyResultFilter>();
}).AddNewtonsoftJson();
//过滤器相关配置 context.Services.AddFluentValidationAutoValidation().AddFluentValidationClientsideAdapters();
context.Services.AddMvc(options =>
{
options.Filters.AddService<GlobalExceptionFilter>();
options.Filters.AddService<RequestLogFilter>();
options.Filters.AddService<UnifyResultFilter>();
}).AddNewtonsoftJson();
context.Services.AddFluentValidationAutoValidation().AddFluentValidationClientsideAdapters(); //Json格式化全局处理
context.Services.Configure<MvcNewtonsoftJsonOptions>(options =>
//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)
{ {
var app = context.GetApplicationBuilder(); options.SerializerSettings.ContractResolver =
var env = context.GetEnvironment(); 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()) Configure<AbpJsonOptions>(options => options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss");
app.UseDeveloperExceptionPage(); Configure<AbpAuditingOptions>(options => { options.IsEnabled = false; });
app.UseRequestCulture(); context.Services.AddRedis();
app.UseRouting(); context.Services.AddHostedService<RedisHostService>();
app.UseCorsPolicy(); }
app.UseConfiguredEndpoints();
app.UseAbpSwaggerUI(env);
app.UseAbpSerilogEnrichers();
app.UsePrometheus();
#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": { "Configuration": {
"UseLocalConfiguration": false, //是否使用本地配置文件 "UseLocalConfiguration": false,
"ConfiguraFileName": "appsettings.Development.json", //指定配置文件名称,开启UseLocalConfiguration时生效 //是否使用本地配置文件
"ConfiguraFileName": "appsettings.Development.json",
//指定配置文件名称,开启UseLocalConfiguration时生效
"Apollo": { "Apollo": {
"AppId": "SJZY.Track.Configuration", "AppId": "SJZY.Track.Configuration",
"Env": "DEV", "Env": "DEV",
"Namespace": "Test", "Namespace": "test",
"MetaServer": "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080", "MetaServer": "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080",
"ConfigServer": [ "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080" ] "ConfigServer": [
"http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080"
]
} }
}, },
"Kestrel": { "Kestrel": {

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

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -8,5 +8,6 @@ public class BatchDeleteTrackInput : OrderNosInfo
/// 轨迹code,必填 /// 轨迹code,必填
/// </summary> /// </summary>
[Required] [Required]
[MaxLength(500)]
public List<string> TrackCodes { get; set; } = new(); public List<string> TrackCodes { get; set; } = new();
} }

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -27,12 +27,12 @@ public class BatchUpsertTrackInput : OrderNosInfo
/// 轨迹发生时间 /// 轨迹发生时间
/// </summary> /// </summary>
[Required] [Required]
public DateTime? TrackTime { get; set; } public DateTime TrackTime { get; set; }
/// <summary> /// <summary>
/// 轨迹发生时区 /// 轨迹发生时区
/// </summary> /// </summary>
[Required] [Required]
[Range(-12, 12)] [Range(-12, 12)]
public float? TrackTimeZone { get; set; } public float TrackTimeZone { get; set; }
} }

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;

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> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary>
/// 轨迹模板Id
/// </summary>
public List<int>? TrackTemplateIds { get; set; } = new List<int>();
}
public class TrackOrderDetailDto
{
/// <summary> /// <summary>
/// Id es主键 /// Id es主键
/// </summary> /// </summary>
@ -43,7 +30,7 @@ public class TrackOrderDetailDto
/// <summary> /// <summary>
/// 轨迹代码 /// 轨迹代码
/// </summary> /// </summary>
public string? Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 轨迹内容 /// 轨迹内容
@ -56,9 +43,9 @@ public class TrackOrderDetailDto
public string? EnContent { get; set; } public string? EnContent { get; set; }
/// <summary> /// <summary>
/// 服务商 /// 服务商代码
/// </summary> /// </summary>
public string? ServiceProviderName { get; set; } public string? ServiceProviderCode { get; set; }
/// <summary> /// <summary>
/// 原轨迹内容 /// 原轨迹内容
@ -85,11 +72,6 @@ public class TrackOrderDetailDto
/// </summary> /// </summary>
public float TrackTimeZoneValue { get; set; } public float TrackTimeZoneValue { get; set; }
/// <summary>
/// 是否可删
/// </summary>
public bool IsCanDelete { get; set; }
/// <summary> /// <summary>
/// 是否对外 /// 是否对外
/// </summary> /// </summary>

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetPageTrackOrderInput : PageInfoInput public class GetPageTrackOrderInput : PageInfoInput
{ {
@ -73,16 +73,6 @@ public class TrackOrderDto
/// </summary> /// </summary>
public string? OrderNumber { get; set; } public string? OrderNumber { get; set; }
/// <summary>
/// 轨迹模版
/// </summary>
public string? TrackTemplateNames { get; set; }
/// <summary>
/// 轨迹模板Id数组
/// </summary>
public List<int>? TrackTemplateIds { get; set; }
/// <summary> /// <summary>
/// 客户简称 /// 客户简称
/// </summary> /// </summary>

View File

@ -1,15 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class GetTrackInput : OrderNosInfo public class GetTrackInput : OrderNosInfo
{ {
private float? _timeZone;
/// <summary> /// <summary>
/// 时区 +8 +8.25 -8.5 -9 /// 时区 +8 +8.25 -8.5 -9
/// 不传默认+8 /// 不传默认+8
/// </summary> /// </summary>
private float? _timeZone;
public float? TimeZone public float? TimeZone
{ {
get => _timeZone ?? 8; get => _timeZone ?? 8;
@ -17,10 +15,9 @@ public class GetTrackInput : OrderNosInfo
} }
/// <summary> /// <summary>
/// 排序方式 /// 排序方式,默认按轨迹发生时间降序
/// </summary> /// </summary>
[Required] public SortMethod? SortMethod { get; set; }
public SortMethod SortMethod { get; set; }
} }
public enum SortMethod public enum SortMethod
@ -34,9 +31,4 @@ public enum SortMethod
/// 按轨迹发生时间降序 /// 按轨迹发生时间降序
/// </summary> /// </summary>
ByTrackTimeDesc, ByTrackTimeDesc,
/// <summary>
/// 按订单模板排序
/// </summary>
ByTemplate
} }

View File

@ -17,6 +17,19 @@ public class TrackDetail
public string? Content { get; set; } public string? Content { get; set; }
public string? OriginContent { get; set; } public string? OriginContent { get; set; }
public string Location { get; set; } = null!; public string Location { get; set; } = null!;
/// <summary>
/// 发生时间
/// </summary>
public DateTime Time { get; set; } public DateTime Time { get; set; }
public float TimeZone { get; set; }
/// <summary>
/// 轨迹时区
/// </summary>
public float? TimeZone { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsDisplay { get; set; }
} }

View File

@ -0,0 +1,19 @@
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; }
}

View File

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

View File

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

View File

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

View File

@ -1,7 +1,12 @@
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class RefreshTrackInput public class RefreshTrackInput
{ {
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 订单号 /// 订单号
/// </summary> /// </summary>

View File

@ -0,0 +1,47 @@
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; }
}

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -43,12 +43,58 @@ public class UpdateOrderInput : OrderNoInfo
public string LeaveCity { get; set; } = null!; public string LeaveCity { get; set; } = null!;
/// <summary> /// <summary>
/// 订单模板(传全量) /// 货物类型
/// </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 List<PullConfigInfo>? PullConfigInfos { get; set; }
/// <summary> /// <summary>
/// 订单航班信息 /// 订单航班信息
/// </summary> /// </summary>
public List<OrderFlightInfo> FlightInfos { get; set; } = new(); public List<OrderFlightInfo> FlightInfos { get; set; } = new();
} }
public class PullConfigInfo
{
/// <summary>
/// 服务商code
/// </summary>
[Required]
public string ServiceCode { 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 public class UpdateOrderStatusInput
{ {

View File

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

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
@ -8,24 +8,10 @@ public class UpsertOrderInput : UpdateOrderInput
/// 客户id /// 客户id
/// </summary> /// </summary>
[Required] [Required]
[Range(1, int.MaxValue)]
public int CustomId { get; set; } 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 class OrderFlightInfo public class OrderFlightInfo
{ {
/// <summary> /// <summary>

View File

@ -1,4 +1,4 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;

View File

@ -1,98 +1,107 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackContents namespace SJZY.Track.Application.Contract.Dtos.TrackContents;
public class EditTrackContentInput
{ {
public class EditTrackContentInput /// <summary>
{ /// Id
/// <summary> /// </summary>
/// Id public int Id { get; set; }
/// </summary>
public int Id { get; set; }
/// <summary> /// <summary>
/// 操作类型 /// 操作类型
/// </summary> /// </summary>
public OptionType Options { get; set; } public OptionType Options { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 所属轨迹状态id /// 所属轨迹状态id
/// </summary> /// </summary>
public int TrackStatusId { get; set; } public int? TrackStatusId { get; set; }
/// <summary> /// <summary>
/// 轨迹内容代码 /// 轨迹内容代码
/// </summary> /// </summary>
public string? Code { get; set; } public string? Code { get; set; }
/// <summary> /// <summary>
/// 轨迹内容 /// 轨迹内容
/// </summary> /// </summary>
public string? Content { get; set; } public string? Content { get; set; }
/// <summary> /// <summary>
/// 轨迹内容英文 /// 轨迹内容英文
/// </summary> /// </summary>
public string? EnContent { get; set; } public string? EnContent { get; set; }
/// <summary> /// <summary>
/// 轨迹标记id /// 轨迹标记id
/// </summary> /// </summary>
public int TrackFlagId { get; set; } public int[]? TrackFlagIds { get; set; }
}
public class GetTrackContentDetailDto /// <summary>
{ /// 是否对外
/// <summary> /// </summary>
/// Id public bool IsExternal { get; set; }
/// </summary> }
public int Id { get; set; }
public class GetTrackContentDetailDto
/// <summary> {
/// 子系统id /// <summary>
/// </summary> /// Id
public int SubSystemId { get; set; } /// </summary>
public int Id { get; set; }
/// <summary>
/// 子系统 /// <summary>
/// </summary> /// 子系统id
public string SubSystem { get; set; } /// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 所属轨迹状态id /// <summary>
/// </summary> /// 子系统
public int TrackStatusId { get; set; } /// </summary>
public string SubSystem { get; set; }
/// <summary>
/// 所属轨迹状态 /// <summary>
/// </summary> /// 所属轨迹状态id
public string TrackStatus { get; set; } /// </summary>
public int TrackStatusId { get; set; }
/// <summary>
/// 轨迹内容代码 /// <summary>
/// </summary> /// 所属轨迹状态
public string Code { get; set; } /// </summary>
public string TrackStatus { get; set; }
/// <summary>
/// 轨迹内容 /// <summary>
/// </summary> /// 轨迹内容代码
public string Content { get; set; } /// </summary>
public string Code { get; set; }
/// <summary>
/// 轨迹内容英文 /// <summary>
/// </summary> /// 轨迹内容
public string EnContent { get; set; } /// </summary>
public string Content { get; set; }
/// <summary>
/// 轨迹标记id /// <summary>
/// </summary> /// 轨迹内容英文
public int? TrackFlagId { get; set; } /// </summary>
public string EnContent { get; set; }
/// <summary>
/// 轨迹标记 /// <summary>
/// </summary> /// 轨迹标记id
public string TrackFlag { get; set; } /// </summary>
} public string? TrackFlagId { get; set; }
/// <summary>
/// 轨迹标记ids
/// </summary>
public List<int>? TrackFlagIds { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool IsExternal { 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 public class EditTrackContentMapInput
{ {

View File

@ -1,88 +1,92 @@
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> /// </summary>
/// 子系统id public int SubSystemId { get; set; }
/// </summary>
public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 关键字 /// 关键字
/// </summary> /// </summary>
public string? Keywords { get; set; } public string? Keywords { get; set; }
/// <summary> /// <summary>
/// 轨迹状态id /// 轨迹状态id
/// </summary> /// </summary>
public int TrackStatusId { get; set; } public int TrackStatusId { get; set; }
/// <summary> /// <summary>
/// 选中的轨迹内容id /// 选中的轨迹内容id
/// </summary> /// </summary>
public List<int>? SelectIds { get; set; } public List<int>? SelectIds { get; set; }
} }
public class GetTrackContentListDto public class GetTrackContentListDto
{ {
/// <summary> /// <summary>
/// Id /// Id
/// </summary> /// </summary>
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统 /// 子系统
/// </summary> /// </summary>
public string SubSystem { get; set; } public string SubSystem { get; set; }
/// <summary> /// <summary>
/// 轨迹内容代码 /// 轨迹内容代码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 轨迹内容 /// 轨迹内容
/// </summary> /// </summary>
public string Content { get; set; } public string Content { get; set; }
/// <summary> /// <summary>
/// 轨迹内容英文 /// 轨迹内容英文
/// </summary> /// </summary>
public string EnContent { get; set; } public string EnContent { get; set; }
/// <summary> /// <summary>
/// 所属状态 /// 所属状态
/// </summary> /// </summary>
public string TrackStatus { get; set; } public string TrackStatus { get; set; }
/// <summary> /// <summary>
/// 所属节点 /// 所属节点
/// </summary> /// </summary>
public string Node { get; set; } public string Node { get; set; }
/// <summary> /// <summary>
/// 轨迹标记 /// 轨迹标记
/// </summary> /// </summary>
public string TrackFlag { get; set; } public string TrackFlag { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 是否对外
/// </summary> /// </summary>
public DateTime? CreateTime { get; set; } public bool IsExternal { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建时间
/// </summary> /// </summary>
public string CreateUser { get; set; } public DateTime? CreateTime { get; set; }
/// <summary> /// <summary>
/// 修改时间 /// 创建人
/// </summary> /// </summary>
public DateTime? UpdateTime { get; set; } public string CreateUser { get; set; }
/// <summary> /// <summary>
/// 修改人 /// 修改时间
/// </summary> /// </summary>
public string UpdateUser { get; set; } public DateTime? UpdateTime { get; set; }
}
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { 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> /// </summary>
/// 操作类型 public OptionType Options { get; set; }
/// </summary>
public OptionType Options { get; set; }
/// <summary> /// <summary>
/// Id /// Id
/// </summary> /// </summary>
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 标记 /// 标记
/// </summary> /// </summary>
public string? Flag { get; set; } public string? Flag { get; set; }
/// <summary> /// <summary>
/// 代码 /// 代码
/// </summary> /// </summary>
public string? Code { get; set; } public string? Code { get; set; }
///// <summary> /// <summary>
///// 是否完结 /// 是否广播
///// </summary> /// </summary>
//public bool IsFinish { get; set; } public bool IsToMq { get; set; }
} }
public class GetTrackFlagDetailDto public class GetTrackFlagDetailDto
{ {
/// <summary> /// <summary>
/// Id /// Id
/// </summary> /// </summary>
public int Id { get; set; } public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 子系统 /// 子系统
/// </summary> /// </summary>
public string SubSystem { get; set; } public string SubSystem { get; set; }
/// <summary> /// <summary>
/// 代码 /// 代码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// /// 标记
/// </summary> /// </summary>
public string Flag { get; set; } public string Flag { get; set; }
///// <summary> /// <summary>
///// 是否完结 /// 是否广播
///// </summary> /// </summary>
//public bool IsFinish { get; set; } 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> /// </summary>
/// Id public int Id { get; set; }
/// </summary>
public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统 /// 子系统
/// </summary> /// </summary>
public string SubSystem { get; set; } public string SubSystem { get; set; }
/// <summary> /// <summary>
/// 代码 /// 代码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 标记 /// 标记
/// </summary> /// </summary>
public string Flag { get; set; } public string Flag { get; set; }
///// <summary> /// <summary>
///// 是否完结 /// 是否广播
///// </summary> /// </summary>
//public bool IsFinish { get; set; } public bool IsToMq { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
public string CreateUser { get; set; } public string CreateUser { get; set; }
/// <summary> /// <summary>
/// 修改时间 /// 修改时间
/// </summary> /// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary> /// <summary>
/// 修改人 /// 修改人
/// </summary> /// </summary>
public string UpdateUser { get; set; } public string UpdateUser { get; set; }
} }
public class GetPageTrackFlagInput : PageInfoInput public class GetPageTrackFlagInput : PageInfoInput
{ {
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 选中的轨迹标记id /// 选中的轨迹标记id
/// </summary> /// </summary>
public List<int>? SelectIds { get; set; } public List<int>? SelectIds { get; set; }
/// <summary> /// <summary>
/// 关键字 /// 关键字
/// </summary> /// </summary>
public string? Keywords { get; set; } 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 public class GetTrackCounterOutput
{ {

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackOrder; namespace SJZY.Track.Application.Contract.Dtos.TrackOrder;
public class TrackPushRecordItem 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 public class TrackPushRecordOutput
{ {

View File

@ -1,33 +1,13 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull; namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class EditTrackPullConfigInput public class EditTrackPullConfigInput
{ {
public int? Id { get; set; }
/// <summary> /// <summary>
/// 操作类型 /// 操作类型
/// </summary> /// </summary>
public OptionTypeNoNull Options { get; set; } public OptionTypeNoNull Options { get; set; }
/// <summary> public int? Id { get; set; }
/// 拉取轨迹订单号
/// </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; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
@ -35,42 +15,62 @@ public class EditTrackPullConfigInput
public int? SubSystemId { get; set; } public int? SubSystemId { get; set; }
/// <summary> /// <summary>
/// 拉取轨迹时区 /// 服务商id
/// </summary> /// </summary>
public string? TrackTimeZoneName { get; set; } public int? ServiceProviderId { get; set; }
/// <summary> /// <summary>
/// 拉取轨迹内容代码 /// 服务商拉取频率(分钟)
/// </summary> /// </summary>
public string? TrackContentCodeName { get; set; } public int PullInterval { get; set; }
/// <summary> /// <summary>
/// 拉取轨迹内容 /// 解析方式,1取接口通返参映射后的,2取服务商原返参
/// </summary> /// </summary>
public string? TrackContentName { get; set; } public int ParseMethod { get; set; }
/// <summary>
/// 拉取轨迹发生地
/// </summary>
public string? TrackPlaceName { get; set; }
/// <summary>
/// 拉取轨迹状态
/// </summary>
public string? TrackStatusName { get; set; }
/// <summary>
/// 拉取轨迹发生时间
/// </summary>
public string? TrackTimeName { get; set; }
/// <summary> /// <summary>
/// 订单路径 /// 订单路径
/// </summary> /// </summary>
public string? OrderPath { get; set; } public string? OrderPath { get; set; }
/// <summary>
/// 单号参数名
/// </summary>
public string? OrderNoName { get; set; }
/// <summary> /// <summary>
/// 轨迹明细路径 /// 轨迹明细路径
/// </summary> /// </summary>
public string? TrackDetailsPath { get; set; } 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 public class EditTrackPullContentInput
{ {
@ -9,21 +9,11 @@ public class EditTrackPullContentInput
public int? Id { get; set; } public int? Id { get; set; }
/// <summary>
/// 服务商轨迹代码参数值
/// </summary>
public string? TrackContentCodeValue { get; set; }
/// <summary> /// <summary>
/// 轨迹内容id /// 轨迹内容id
/// </summary> /// </summary>
public int? TrackContentId { get; set; } public int? TrackContentId { get; set; }
/// <summary>
/// 服务商轨迹内容参数值
/// </summary>
public string? TrackContentValue { get; set; }
/// <summary> /// <summary>
/// 拉取轨迹关键字(正向) /// 拉取轨迹关键字(正向)
/// </summary> /// </summary>
@ -47,15 +37,10 @@ public class EditTrackPullContentInput
/// <summary> /// <summary>
/// 服务商轨迹状态参数值 /// 服务商轨迹状态参数值
/// </summary> /// </summary>
public string? TrackStatusValue { get; set; } public List<string>? TrackStatusValues { get; set; }
/// <summary> /// <summary>
/// 轨迹时区GMT /// 兜底轨迹时区发生地
/// </summary> /// </summary>
public double? TrackTimeZone { get; set; } public int? TrackTimePlaceValue { get; set; }
/// <summary>
/// 是否完结
/// </summary>
public bool IsCompleted { 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 public class TrackPullContentConfigDto
{ {
@ -10,27 +10,17 @@ public class TrackPullContentConfigDto
/// <summary> /// <summary>
/// 服务商轨迹状态参数值 /// 服务商轨迹状态参数值
/// </summary> /// </summary>
public string? TrackStatusValue { get; set; } public List<string> TrackStatusValues { get; set; } = new();
/// <summary> /// <summary>
/// 服务商轨迹代码参数值 /// 轨迹关键词(正向)
/// </summary> /// </summary>
public string? TrackContentCodeValue { get; set; } public List<string> TrackKeywords { get; set; } = new();
/// <summary> /// <summary>
/// 服务商轨迹内容参数值 /// 轨迹关键词(反向)
/// </summary> /// </summary>
public string? TrackContentValue { get; set; } public List<string> TrackKeywordReverses { get; set; } = new();
/// <summary>
/// 轨迹关键词(正向),多个逗分隔
/// </summary>
public string? TrackKeyword { get; set; }
/// <summary>
/// 轨迹关键词(反向),多个逗分隔
/// </summary>
public string? TrackKeywordReverse { get; set; }
/// <summary> /// <summary>
/// 轨迹发生地参数值(主数据枚举) /// 轨迹发生地参数值(主数据枚举)
@ -38,12 +28,7 @@ public class TrackPullContentConfigDto
public int? TrackPlaceValue { get; set; } public int? TrackPlaceValue { get; set; }
/// <summary> /// <summary>
/// 轨迹时区GMT值 /// 轨迹时区发生地参数值
/// </summary> /// </summary>
public float? TrackTimeZoneValue { get; set; } public int? TrackZonePlaceValue { get; set; }
/// <summary>
/// 订单是否完成(由轨迹刷新配置决定)
/// </summary>
public bool IsCompleted { 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 public class TrackPullParamConfigDto
{ {
@ -46,4 +46,9 @@ public class TrackPullParamConfigDto
/// 轨迹明细数组路径 /// 轨迹明细数组路径
/// </summary> /// </summary>
public string TrackDetailsPath { get; set; } = null!; public string TrackDetailsPath { get; set; } = null!;
/// <summary>
/// 轨迹内容代码
/// </summary>
public string? TrackContentCode { get; set; }
} }

View File

@ -1,6 +1,6 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPull; namespace SJZY.Track.Application.Contract.Dtos.TrackPull;
public class TrackPullParamWithContentConfigDto public class TrackPullParamsWithContentDto
{ {
public TrackPullParamConfigDto ParamConfig { get; set; } = new(); public TrackPullParamConfigDto ParamConfig { 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 class TrackRefreshAttach
{ {
public TrackRefreshAttach(int serviceProviderId, string serviceProviderName, int subSystemId, int orderType) public TrackRefreshAttach(string serviceProviderCode, int subSystemId, int orderType)
{ {
ServiceProviderId = serviceProviderId; ServiceProviderCode = serviceProviderCode;
ServiceProviderName = serviceProviderName;
SubSystemId = subSystemId; SubSystemId = subSystemId;
OrderType = orderType; OrderType = orderType;
} }
/// <summary> /// <summary>
/// 服务商id /// 服务商code
/// </summary> /// </summary>
public int ServiceProviderId { get; set; } public string ServiceProviderCode { get; set; }
/// <summary>
/// 服务商name
/// </summary>
public string ServiceProviderName { get; set; }
/// <summary> /// <summary>
/// 订单类型(主数据枚举TrackOrderType) /// 订单类型(主数据枚举TrackOrderType)

View File

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

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush; namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class EditTrackPushConfigInput public class EditTrackPushConfigInput
{ {
@ -20,14 +20,9 @@ public class EditTrackPushConfigInput
public OptionTypeNoNull Options { get; set; } public OptionTypeNoNull Options { get; set; }
/// <summary> /// <summary>
/// 推送轨迹订单号 /// 服务商code
/// </summary> /// </summary>
public string? OrderNoName { get; set; } public string? ServiceProviderCode { get; set; }
/// <summary>
/// 服务商id
/// </summary>
public int? ServiceProviderId { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
@ -48,4 +43,19 @@ public class EditTrackPushConfigInput
/// 是否全量推送 /// 是否全量推送
/// </summary> /// </summary>
public bool? IsAllPush { get; set; } public bool? IsAllPush { 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

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush; namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class EditTrackPushContentInput public class EditTrackPushContentInput
{ {

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; namespace SJZY.Track.Application.Contract.Dtos.TrackPush;

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush; namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushAfterUpdateOrderDto public class TrackPushAfterUpdateOrderDto
{ {

View File

@ -71,4 +71,19 @@ public class TrackPushContentConfigDto
/// 扩展字段参数值 /// 扩展字段参数值
/// </summary> /// </summary>
public string? ExpandFieldsValue { get; set; } 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,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Dtos.TrackPush; namespace SJZY.Track.Application.Contract.Dtos.TrackPush;
public class TrackPushInput public class TrackPushInput
{ {
@ -21,7 +21,7 @@ public class TrackUpdateInput
public class TrackItem public class TrackItem
{ {
public string Location { get; set; } = null!; public string Location { get; set; } = null!;
public DateTime Date { get; set; } public string Date { get; set; }
public double TimeZone { get; set; } public double TimeZone { get; set; }
public string? Description { get; set; } public string? Description { get; set; }
public string? DescriptionCn { get; set; } public string? DescriptionCn { 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> /// </summary>
/// Id public int Id { get; set; }
/// </summary>
public int Id { get; set; }
/// <summary> /// <summary>
/// 操作类型 /// 操作类型
/// </summary> /// </summary>
public OptionType Options { get; set; } public OptionType Options { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 所属节点id /// 所属节点id
/// </summary> /// </summary>
public int NodeId { get; set; } public int NodeId { get; set; }
/// <summary> /// <summary>
/// 轨迹状态代码 /// 轨迹状态代码
/// </summary> /// </summary>
public string? Code { get; set; } public string? Code { get; set; }
/// <summary> /// <summary>
/// 轨迹状态 /// 轨迹状态
/// </summary> /// </summary>
public string? TrackStatus { get; set; } public string? TrackStatus { get; set; }
/// <summary> /// <summary>
/// 轨迹状态英文 /// 轨迹状态英文
/// </summary> /// </summary>
public string? EntrackStatus { get; set; } 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> /// </summary>
/// Id public int Id { get; set; }
/// </summary>
public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 子系统 /// 子系统
/// </summary> /// </summary>
public string SubSystem { get; set; } public string SubSystem { get; set; }
/// <summary> /// <summary>
/// 节点id /// 节点id
/// </summary> /// </summary>
public int NodeId { get; set; } public int NodeId { get; set; }
/// <summary> /// <summary>
/// 所属轨迹状态 /// 所属轨迹状态
/// </summary> /// </summary>
public string TrackStatus { get; set; } public string TrackStatus { get; set; }
/// <summary> /// <summary>
/// 轨迹状态代码 /// 轨迹状态代码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 轨迹内容英文 /// 轨迹内容英文
/// </summary> /// </summary>
public string EntrackStatus { get; set; } 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> /// </summary>
/// Id public int Id { get; set; }
/// </summary>
public int Id { get; set; }
/// <summary> /// <summary>
/// 子系统 /// 子系统
/// </summary> /// </summary>
public string SubSystem { get; set; } public string SubSystem { get; set; }
/// <summary> /// <summary>
/// 所属节点 /// 所属节点
/// </summary> /// </summary>
public string Node { get; set; } public string Node { get; set; }
/// <summary> /// <summary>
/// 所属轨迹状态 /// 所属轨迹状态
/// </summary> /// </summary>
public string TrackStatus { get; set; } public string TrackStatus { get; set; }
/// <summary> /// <summary>
/// 轨迹状态代码 /// 轨迹状态代码
/// </summary> /// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 轨迹内容英文 /// 轨迹内容英文
/// </summary> /// </summary>
public string EntrackStatus { get; set; } public string EnTrackStatus { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 是否完结
/// </summary> /// </summary>
public string CreateUser { get; set; } public bool IsCompleted { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 是否广播
/// </summary> /// </summary>
public DateTime? CreateTime { get; set; } public bool IsToMq { get; set; }
/// <summary> /// <summary>
/// 修改人 /// 创建人
/// </summary> /// </summary>
public string UpdateUser { get; set; } public string CreateUser { get; set; }
/// <summary> /// <summary>
/// 修改时间 /// 创建时间
/// </summary> /// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? CreateTime { get; set; }
}
/// <summary>
/// 修改人
/// </summary>
public string UpdateUser { get; set; }
public class GetPageTrackStatusInput : PageInfoInput /// <summary>
{ /// 修改时间
/// <summary> /// </summary>
/// 子系统id public DateTime? UpdateTime { get; set; }
/// </summary> }
public int SubSystemId { get; set; }
public class GetPagedTrackStatusInput : PageInfoInput
/// <summary> {
/// 关键字 /// <summary>
/// </summary> /// 子系统id
public string? Keywords { get; set; } /// </summary>
public int SubSystemId { get; set; }
/// <summary>
/// 选中的轨迹状态id /// <summary>
/// </summary> /// 关键字
public List<int>? SelectIds { get; set;} /// </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/> /// <inheritdoc/>
public class EditTrackTemplateContentInput public class EditTrackTemplateContentInput
@ -11,16 +11,6 @@ public class EditTrackTemplateContentInput
/// <inheritdoc/> /// <inheritdoc/>
public int? Id { get; set; } public int? Id { get; set; }
/// <summary>
/// 是否可删
/// </summary>
public bool? IsCanDelete { get; set; }
/// <summary>
/// 是否对外
/// </summary>
public bool? IsExternal { get; set; }
/// <summary> /// <summary>
/// 轨迹内容id /// 轨迹内容id
/// </summary> /// </summary>

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> /// <summary>
/// 获取轨迹模版分页输入 /// 子系统id
/// </summary> /// </summary>
public class GetPageTrackTemplateInput : PageInfoInput public int SubSystemId { get; set; }
{
/// <summary>
/// 子系统id
/// </summary>
public int SubSystemId { get; set; }
/// <summary> /// <summary>
/// 关键字 /// 关键字
/// </summary> /// </summary>
public string? Keywords { get; set; } public string? Keywords { get; set; }
///// <summary> ///// <summary>
///// 轨迹模版id,轨迹映射的查询使用 ///// 轨迹模版id,轨迹映射的查询使用
///// </summary> ///// </summary>
//public int TrackTemplateId { get; set; } //public int TrackTemplateId { get; set; }
/// <summary> /// <summary>
/// 选中的轨迹模版id /// 选中的轨迹模版id
/// </summary> /// </summary>
public List<int>? SelectIds { get; set; } 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> /// <summary>
/// 获取轨迹模版详情 /// Id
/// </summary> /// </summary>
public class GetTrackTemplateDetailDto public int Id { get; set; }
{
/// <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; }
}
/// <summary> /// <summary>
/// 获取轨迹模版列表 /// 子系统id
/// </summary> /// </summary>
public class GetTrackTemplateListDto public int SubSystemId { get; set; }
{
/// <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; }
}
/// <summary> /// <summary>
/// 编辑轨迹模版 /// 子系统
/// </summary> /// </summary>
public class EditTrackTemplateInput public string SubSystem { get; set; }
{
/// <summary>
/// Id
/// </summary>
public int Id { set; get; }
/// <summary> /// <summary>
/// 操作类型 /// 模版名称
/// </summary> /// </summary>
public OptionType Options { get; set; } public string Name { get; set; }
/// <summary> /// <summary>
/// 子系统id /// 模版代码
/// </summary> /// </summary>
public int SubSystemId { set; get; } public string Code { get; set; }
/// <summary> /// <summary>
/// 模板名称 /// 显示原轨迹
/// </summary> /// </summary>
public string? Name { set; get; } public bool ShowOrigin { get; set; }
}
/// <summary>
/// 模板代码 /// <summary>
/// </summary> /// 获取轨迹模版列表
public string? Code { set; get; } /// </summary>
public class GetTrackTemplateListDto
/// <summary> {
/// 显示原轨迹 /// <summary>
/// </summary> /// 轨迹模版id
public bool ShowOrigin { get; set; } /// </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; }
}
/// <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; namespace SJZY.Track.Application.Contract.Dtos.TrackTemplates;

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 public struct OrderIdentifier
{ {
/// <summary>
/// 订单id
/// </summary>
public int OrderId { get; set; } 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 public class TrackChangeAfterUpdateOrderEvent
{ {
@ -8,7 +8,7 @@ public class TrackChangeAfterUpdateOrderEvent
public int[] OrderIds { get; set; } = null!; public int[] OrderIds { get; set; } = null!;
/// <summary> /// <summary>
/// 这条轨迹是否意味着完成(只有刷新会设为true) /// 这条轨迹是否意味着订单已完成
/// </summary> /// </summary>
public bool IsCompleted { get; set; } public bool IsCompleted { get; set; }
@ -36,4 +36,9 @@ public class TrackChangeAfterUpdateOrderEvent
/// 轨迹时区 /// 轨迹时区
/// </summary> /// </summary>
public float TrackTimeZone { get; set; } public float TrackTimeZone { get; set; }
/// <summary>
/// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
/// </summary>
public int DeficiencyTagValue { get; set; }
} }

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Events; namespace SJZY.Track.Application.Contract.Events;
public class TrackDeleteEvent public class TrackDeleteEvent
{ {
@ -26,4 +26,10 @@ public class TrackDeleteEvent
/// 已经处理过的订单 /// 已经处理过的订单
/// </summary> /// </summary>
public List<int> Visited { get; set; } = new(); public List<int> Visited { get; set; } = new();
public override string ToString()
{
return $"[TrackDelete by {OperationMan}] SubSystemId: {SubSystemId}, OrderIds: {string.Join(",",
OrderIds)}, TrackCodes: {string.Join(",", TrackCodes)}";
}
} }

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

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Events; namespace SJZY.Track.Application.Contract.Events;
public class TrackPushEvent public class TrackPushEvent
{ {
@ -12,6 +12,11 @@ public class TrackPushEvent
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary>
/// 子系统代码
/// </summary>
public string SubSystemCode { get; set; }
/// <summary> /// <summary>
/// 客户id /// 客户id
/// </summary> /// </summary>

View File

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

View File

@ -1,12 +1,17 @@
namespace SJZY.Track.Application.Contract.Events; namespace SJZY.Track.Application.Contract.Events;
public class TrackUpsertEvent public class TrackUpsertEvent
{ {
/// <summary> /// <summary>
/// 子系统id(操作的订单都是相同子系统下的) /// 子系统id
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
public int CustomId { get; set; }
/// <summary> /// <summary>
/// 订单id /// 订单id
/// </summary> /// </summary>
@ -48,4 +53,11 @@ public class TrackUpsertEvent
public List<int> Visited { get; set; } = new(); public List<int> Visited { get; set; } = new();
public TrackRefreshStruct TrackRefreshData { get; set; } public TrackRefreshStruct TrackRefreshData { 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; }
}

View File

@ -1,4 +1,4 @@
// Global using directives // Global using directives
global using SJZY.Expand.ABP.Common.Enums; global using SJZY.Expand.ABP.Common.Enums;
global using SJZY.Expand.ABP.Core.Common.Dto; global using SJZY.Expand.ABP.Core.Common.Dto;

View File

@ -5,7 +5,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<GenerateDocumentationFile>True</GenerateDocumentationFile> <GenerateDocumentationFile>True</GenerateDocumentationFile>
<Version>7.0.2</Version> <Version>7.0.3</Version>
<GenerateDocumentationFile>True</GenerateDocumentationFile> <GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -0,0 +1,35 @@
using SJZY.Track.Application.Contract.Dtos.Forewarning;
using SJZY.Track.Application.Contract.Events;
namespace SJZY.Track.Application.Contract.Services;
public interface IForewarningCacheService
{
/// <summary>
/// 获取预警规则,如果没有则返回null
/// </summary>
/// <param name="subSystemId">子系统id</param>
/// <param name="customerId">客户id</param>
/// <returns></returns>
Task<List<ForewarningRuleCacheEntry>?> GetRulesAsync(int subSystemId, int customerId);
/// <summary>
/// 重置本地缓存
/// </summary>
/// <returns></returns>
Task Clear(ClearRulCacheEvent @event);
/// <summary>
/// 清除redis 缓存
/// </summary>
/// <returns></returns>
Task ClearRedisByAreaId(int areaId);
/// <summary>
/// 清除redis 缓存
/// </summary>
/// <param name="subSystemId">子系统id</param>
/// <param name="customerId">客户id</param>
/// <returns></returns>
Task ClearRedisBySystemIdAndCustomer(int subSystemId, int customerId);
}

View File

@ -0,0 +1,22 @@
using SJZY.Track.Application.Contract.Dtos.Forewarning;
namespace SJZY.Track.Application.Contract.Services;
/// <summary>
/// 预警通知服务接口定义。
/// 提供创建、删除预警通知和发送通知的功能。
/// </summary>
public interface IForewarningNotifyService
{
/// <summary>
/// 创建预警通知。
/// </summary>
/// <param name="order">预警订单模型。</param>
/// <returns>创建操作的结果,以整数形式返回。</returns>
Task WarningCalculateAsync(WarningDto order);
/// <summary>
/// 发送通知。
/// </summary>
Task<int> SendNotificationAsync(int subSystemId);
}

View File

@ -0,0 +1,5 @@
namespace SJZY.Track.Application.Contract.Services;
public interface IKpiAreaCacheService
{
}

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services;
public interface ITrackContentService public interface ITrackContentService
{ {

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services;
public interface ITrackFlagService public interface ITrackFlagService
{ {

View File

@ -1,34 +1,24 @@
using SJZY.Track.Application.Contract.Dtos.TrackPull; using SJZY.Track.Application.Contract.Dtos.TrackPull;
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services;
public interface ITrackPullCacheService public interface ITrackPullCacheService
{ {
string TrackPullKey(int subSystemId, int serviceProviderId); string TrackPullKey(int subSystemId, string serviceProviderCode);
string TrackPullContentKey(int subSystemId, int serviceProviderId);
/// <summary>
/// 获取所有拉取配置
/// </summary>
/// <returns></returns>
Task<List<TrackPullConfigDto>> GetAllPullConfigsAsync();
/// <summary> /// <summary>
/// 获取服务商拉取配置 /// 获取服务商拉取配置
/// </summary> /// </summary>
/// <param name="subSystemId">子系统id</param> /// <param name="subSystemId">子系统id</param>
/// <param name="serviceProviderId">服务商id</param> /// <param name="serviceProviderCode">服务商code</param>
/// <returns></returns> /// <returns></returns>
Task<TrackPullParamWithContentConfigDto?> Task<TrackPullParamsWithContentDto?>
GetPullParamWithContentConfigAsync(int subSystemId, int serviceProviderId); GetPullParamsWithContentAsync(int subSystemId, string serviceProviderCode);
/// <summary> /// <summary>
/// 设置拉取配置缓存 /// 设置拉取配置缓存
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <param name="subSystemId">子系统id</param>
/// <param name="serviceProviderId">服务商id</param>
/// <returns></returns> /// <returns></returns>
Task<TrackPullParamWithContentConfigDto?> SetPullConfigAsync(int? id = null, int? subSystemId = null, Task<TrackPullParamsWithContentDto?> SetPullConfigAsync(int id);
int? serviceProviderId = null);
} }

View File

@ -1,4 +1,4 @@
using SJZY.Track.Application.Contract.Dtos.TrackPush; using SJZY.Track.Application.Contract.Dtos.TrackPush;
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services;

View File

@ -1,20 +1,15 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services namespace SJZY.Track.Application.Contract.Services;
public interface ITrackPushConfigService : IRemoteService
{ {
public interface ITrackPushConfigService : IRemoteService /// <summary>
{ /// 查询轨迹推送配置关系
/// <summary> /// </summary>
/// 查询轨迹推送配置关系 /// <param name="input"></param>
/// </summary> /// <returns></returns>
/// <param name="input"></param> Task<UnifyResultDto<List<QueryTrackPullMappingsInfo>>> QueryTrackPullMappingsAsync(
/// <returns></returns> QueryTrackPullMappingsInput input);
Task<UnifyResultDto> QueryTrackPullMappingsAsync(QueryTrackPullMappingsInput input);
}
} }

View File

@ -1,4 +1,4 @@
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services;
public interface ITrackStatusService public interface ITrackStatusService
{ {

View File

@ -1,7 +1,7 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using Volo.Abp; using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services.ProvideServices;
public interface IOrderService : IRemoteService public interface IOrderService : IRemoteService
{ {
@ -10,14 +10,14 @@ public interface IOrderService : IRemoteService
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task<UnifyResultDto> UpsertAsync(UpsertOrderInput input); Task<UnifyResultDto<IdBaseDto>> UpsertAsync(UpsertOrderInput input);
/// <summary> /// <summary>
/// 删除订单 /// 删除订单
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task<UnifyResultDto> DeleteOrderAsync(DeleteOrderInput input); Task<UnifyResultDto<IdBaseDto>> DeleteOrderAsync(DeleteOrderInput input);
/// <summary> /// <summary>
/// 关联订单 /// 关联订单
@ -25,4 +25,11 @@ public interface IOrderService : IRemoteService
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task<UnifyResultDto> LinkOrderAsync(LinkOrderInput input); Task<UnifyResultDto> LinkOrderAsync(LinkOrderInput input);
/// <summary>
/// 修改服务商拉取信息
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public Task<UnifyResultDto> UpdateOrderPullConfigsAsync(UpdateOrderPullConfigsInput input);
} }

View File

@ -0,0 +1,14 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services.ProvideServices;
public interface ITrackPullService : IRemoteService
{
/// <summary>
/// 刷新轨迹
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public Task<bool> RefreshTrackAsync(RefreshTrackInput input);
}

View File

@ -0,0 +1,31 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using SJZY.Track.Application.Contract.Dtos.TrackOrder;
using SJZY.Track.Application.Contract.Dtos.TrackPush;
using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services.ProvideServices;
public interface ITrackPushService : IRemoteService
{
/// <summary>
/// 推送轨迹
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public Task<string> PushTrackAsync(PushTrackInput input);
/// <summary>
/// 获取轨迹推送内容
/// </summary>
/// <returns></returns>
/// <param name="subSystemId">子系统id</param>
/// <param name="customerId">客户id</param>
public Task<List<TrackPushContentDto>> GetTrackPushContentListAsync(int subSystemId, int customerId);
/// <summary>
/// 获取轨迹推送记录
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public Task<List<TrackPushRecordOutput>> GetTrackPushRecordsAsync(OrderNoInfo input);
}

View File

@ -1,7 +1,7 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using Volo.Abp; using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services; namespace SJZY.Track.Application.Contract.Services.ProvideServices;
public interface ITrackService : IRemoteService public interface ITrackService : IRemoteService
{ {
@ -31,5 +31,5 @@ public interface ITrackService : IRemoteService
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task<UnifyResultDto> QueryAsync(GetTrackInput input); Task<UnifyResultDto<List<GetTrackOutput>>> QueryAsync(GetTrackInput input);
} }

View File

@ -0,0 +1,7 @@
using Volo.Abp;
namespace SJZY.Track.Application.Contract.Services.ProvideServices;
public interface ITrackTemplateService : IRemoteService
{
}

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