feat:remarks

This commit is contained in:
xiaolipro 2026-04-17 11:09:01 +08:00
parent 829af8c576
commit 2e65ea4ee7
125 changed files with 3353 additions and 211 deletions

View File

@ -12,6 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "items", "items", "{BE5132AD
开发复刻说明.md = 开发复刻说明.md 开发复刻说明.md = 开发复刻说明.md
oms表结构与接口设计2026040802.md = oms表结构与接口设计2026040802.md oms表结构与接口设计2026040802.md = oms表结构与接口设计2026040802.md
.gitignore = .gitignore .gitignore = .gitignore
.dockerignore = .dockerignore
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleAdmin.Api", "src\SimpleAdmin.Api\SimpleAdmin.Api.csproj", "{229ED167-9ECC-4736-8DFB-522EEA8FF680}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleAdmin.Api", "src\SimpleAdmin.Api\SimpleAdmin.Api.csproj", "{229ED167-9ECC-4736-8DFB-522EEA8FF680}"

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 自动触发分页查询入参。 /// 自动触发规则列表查询入参。
/// </summary> /// </summary>
public class AutoTriggerListInput public class AutoTriggerListInput
{ {
@ -16,7 +16,7 @@ public class AutoTriggerListInput
public int PageSize { get; set; } public int PageSize { get; set; }
/// <summary> /// <summary>
/// 触发操作类型。 /// 操作类型。
/// </summary> /// </summary>
public string? Operation { get; set; } public string? Operation { get; set; }

View File

@ -1,22 +1,52 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 自动触发规则出参。
/// </summary>
public class AutoTriggerOutput public class AutoTriggerOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 状态。
/// </summary>
public byte Status { get; set; } public byte Status { get; set; }
/// <summary>
/// 操作类型。
/// </summary>
public string? Operation { get; set; } public string? Operation { get; set; }
/// <summary>
/// 触发时机。
/// </summary>
public string? TriggerTiming { get; set; } public string? TriggerTiming { get; set; }
/// <summary>
/// 触发条件。
/// </summary>
public string? TriggerCondition { get; set; } public string? TriggerCondition { get; set; }
/// <summary>
/// 提示信息。
/// </summary>
public string? PromptMessage { get; set; } public string? PromptMessage { get; set; }
/// <summary>
/// 通知对象。
/// </summary>
public string? Notifier { get; set; } public string? Notifier { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -3,22 +3,22 @@ using Oms.Domain.Shared.Enums;
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 自动触发保存入参。 /// 自动触发规则保存入参。
/// </summary> /// </summary>
public class AutoTriggerSaveInput public class AutoTriggerSaveInput
{ {
/// <summary> /// <summary>
/// 自动触发主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 启用状态。 /// 状态。
/// </summary> /// </summary>
public EnableStatus Status { get; set; } public EnableStatus Status { get; set; }
/// <summary> /// <summary>
/// 触发操作类型。 /// 操作类型。
/// </summary> /// </summary>
public string? Operation { get; set; } public string? Operation { get; set; }
@ -28,17 +28,17 @@ public class AutoTriggerSaveInput
public string? TriggerTiming { get; set; } public string? TriggerTiming { get; set; }
/// <summary> /// <summary>
/// 触发表达式。 /// 触发条件。
/// </summary> /// </summary>
public string? TriggerCondition { get; set; } public string? TriggerCondition { get; set; }
/// <summary> /// <summary>
/// 提示文案。 /// 提示信息。
/// </summary> /// </summary>
public string? PromptMessage { get; set; } public string? PromptMessage { get; set; }
/// <summary> /// <summary>
/// 通知人或通知目标。 /// 通知对象。
/// </summary> /// </summary>
public string? Notifier { get; set; } public string? Notifier { get; set; }
} }

View File

@ -1,32 +1,32 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 价格明细保存入参。 /// 渠道价格详情入参。
/// </summary> /// </summary>
public class ChannelPriceDetailInput public class ChannelPriceDetailInput
{ {
/// <summary> /// <summary>
/// 明细主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 计费因子值组合,按文档原样接收 JSON 对象。 /// 因子取值 JSON。
/// </summary> /// </summary>
public object? FactorValuesJson { get; set; } public object? FactorValuesJson { get; set; }
/// <summary> /// <summary>
/// 计算方式,例如单价、首重+续重等。 /// 计算公式。
/// </summary> /// </summary>
public string CalculationFormula { get; set; } = string.Empty; public string CalculationFormula { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 计算结果值。 /// 计算结果。
/// </summary> /// </summary>
public decimal? CalculatedValue { get; set; } public decimal? CalculatedValue { get; set; }
/// <summary> /// <summary>
/// 客户组差异化价格 JSON。 /// 客户分组取值集合。
/// </summary> /// </summary>
public object? CustomerGroupValues { get; set; } public object? CustomerGroupValues { get; set; }
} }

View File

@ -1,16 +1,37 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 渠道价格详情出参。
/// </summary>
public class ChannelPriceDetailOutput public class ChannelPriceDetailOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 价格项主键。
/// </summary>
public long PriceId { get; set; } public long PriceId { get; set; }
/// <summary>
/// 因子取值 JSON。
/// </summary>
public object? FactorValuesJson { get; set; } public object? FactorValuesJson { get; set; }
/// <summary>
/// 计算公式。
/// </summary>
public string CalculationFormula { get; set; } = string.Empty; public string CalculationFormula { get; set; } = string.Empty;
/// <summary>
/// 计算结果。
/// </summary>
public decimal? CalculatedValue { get; set; } public decimal? CalculatedValue { get; set; }
/// <summary>
/// 客户分组取值集合。
/// </summary>
public object? CustomerGroupValues { get; set; } public object? CustomerGroupValues { get; set; }
} }

View File

@ -1,27 +1,27 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 价格计费因子保存入参。 /// 渠道价格Factor入参。
/// </summary> /// </summary>
public class ChannelPriceFactorInput public class ChannelPriceFactorInput
{ {
/// <summary> /// <summary>
/// 因子主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 排序号。 /// 序号。
/// </summary> /// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary> /// <summary>
/// 因子名称,例如分区、重量、货物类型。 /// 计费因子。
/// </summary> /// </summary>
public string Factor { get; set; } = string.Empty; public string Factor { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 因子可选值列表。 /// 因子取值集合。
/// </summary> /// </summary>
public List<string> FactorValues { get; set; } = []; public List<string> FactorValues { get; set; } = [];
} }

View File

@ -1,14 +1,32 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 渠道价格Factor出参。
/// </summary>
public class ChannelPriceFactorOutput public class ChannelPriceFactorOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 价格项主键。
/// </summary>
public long PriceId { get; set; } public long PriceId { get; set; }
/// <summary>
/// 序号。
/// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary>
/// 计费因子。
/// </summary>
public string Factor { get; set; } = string.Empty; public string Factor { get; set; } = string.Empty;
/// <summary>
/// 因子取值集合。
/// </summary>
public List<string> FactorValues { get; set; } = []; public List<string> FactorValues { get; set; } = [];
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// KPI 分区明细分页查询入参。 /// KPI分区明细列表查询入参。
/// </summary> /// </summary>
public class KpiAreaInfoListInput public class KpiAreaInfoListInput
{ {

View File

@ -1,24 +1,57 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// KPI分区明细出参。
/// </summary>
public class KpiAreaInfoOutput public class KpiAreaInfoOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 分区主键。
/// </summary>
public long AreaId { get; set; } public long AreaId { get; set; }
/// <summary>
/// 国家/地区代码。
/// </summary>
public string? CountryCode { get; set; } public string? CountryCode { get; set; }
/// <summary>
/// 国家/地区名称。
/// </summary>
public string? CountryName { get; set; } public string? CountryName { get; set; }
/// <summary>
/// 省份。
/// </summary>
public string? Province { get; set; } public string? Province { get; set; }
/// <summary>
/// 城市。
/// </summary>
public string? City { get; set; } public string? City { get; set; }
/// <summary>
/// 起始邮编。
/// </summary>
public string? LeftPostcode { get; set; } public string? LeftPostcode { get; set; }
/// <summary>
/// 结束邮编。
/// </summary>
public string? RightPostcode { get; set; } public string? RightPostcode { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,12 +1,12 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// KPI 分区明细保存入参。 /// KPI分区明细保存入参。
/// </summary> /// </summary>
public class KpiAreaInfoSaveInput public class KpiAreaInfoSaveInput
{ {
/// <summary> /// <summary>
/// 分区明细主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -16,17 +16,17 @@ public class KpiAreaInfoSaveInput
public long AreaId { get; set; } public long AreaId { get; set; }
/// <summary> /// <summary>
/// 国家二字码。 /// 国家/地区代码。
/// </summary> /// </summary>
public string? CountryCode { get; set; } public string? CountryCode { get; set; }
/// <summary> /// <summary>
/// 国家名称。 /// 国家/地区名称。
/// </summary> /// </summary>
public string? CountryName { get; set; } public string? CountryName { get; set; }
/// <summary> /// <summary>
/// 省/州。 /// 省份。
/// </summary> /// </summary>
public string? Province { get; set; } public string? Province { get; set; }

View File

@ -1,17 +1,17 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// KPI 分区分页查询入参。 /// KPI分区列表查询入参。
/// </summary> /// </summary>
public class KpiAreaListInput public class KpiAreaListInput
{ {
/// <summary> /// <summary>
/// 分区应用标识,例如 blacklist、remote、warning。 /// 应用标识。
/// </summary> /// </summary>
public string? AppKey { get; set; } public string? AppKey { get; set; }
/// <summary> /// <summary>
/// 分区类型编码。 /// 分区类型。
/// </summary> /// </summary>
public string? AreaType { get; set; } public string? AreaType { get; set; }

View File

@ -1,18 +1,42 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// KPI分区出参。
/// </summary>
public class KpiAreaOutput public class KpiAreaOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 应用标识。
/// </summary>
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary>
/// 分区类型。
/// </summary>
public string AreaType { get; set; } = string.Empty; public string AreaType { get; set; } = string.Empty;
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 系统名称。
/// </summary>
public string? SystemName { get; set; } public string? SystemName { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,27 +1,27 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// KPI 分区保存入参。 /// KPI分区保存入参。
/// </summary> /// </summary>
public class KpiAreaSaveInput public class KpiAreaSaveInput
{ {
/// <summary> /// <summary>
/// 分区主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 分区应用标识。 /// 应用标识。
/// </summary> /// </summary>
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 分区类型编码。 /// 分区类型。
/// </summary> /// </summary>
public string AreaType { get; set; } = string.Empty; public string AreaType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 分区名称。 /// 名称。
/// </summary> /// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;

View File

@ -6,22 +6,22 @@ namespace Oms.Application.Dtos.Channels;
public class LabelTemplateSaveInput public class LabelTemplateSaveInput
{ {
/// <summary> /// <summary>
/// 模板主键,传 0 表示新增。 /// 主键。
/// </summary> /// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary> /// <summary>
/// 模板名称。 /// 名称。
/// </summary> /// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 模板类型,例如 lastMile、customer、inbound。 /// 模板类型。
/// </summary> /// </summary>
public string? TemplateType { get; set; } public string? TemplateType { get; set; }
/// <summary> /// <summary>
/// vg-print 导出的模板 JSON。 /// 模板 JSON。
/// </summary> /// </summary>
public object? TemplateJson { get; set; } public object? TemplateJson { get; set; }
} }

View File

@ -1,16 +1,37 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 标签模板保存结果出参。
/// </summary>
public class LabelTemplateSaveOutput public class LabelTemplateSaveOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 模板类型。
/// </summary>
public string? TemplateType { get; set; } public string? TemplateType { get; set; }
/// <summary>
/// 模板 JSON。
/// </summary>
public object? TemplateJson { get; set; } public object? TemplateJson { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,10 +1,22 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品分配出参。
/// </summary>
public class SalesProductAllocationOutput public class SalesProductAllocationOutput
{ {
/// <summary>
/// 销售产品主键。
/// </summary>
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary>
/// 方案编码。
/// </summary>
public string Scheme { get; set; } = string.Empty; public string Scheme { get; set; } = string.Empty;
/// <summary>
/// 供应商集合。
/// </summary>
public List<SalesProductAllocationProviderOutput> Providers { get; set; } = []; public List<SalesProductAllocationProviderOutput> Providers { get; set; } = [];
} }

View File

@ -1,37 +1,37 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品排货服务商保存入参。 /// 销售产品分配供应商入参。
/// </summary> /// </summary>
public class SalesProductAllocationProviderInput public class SalesProductAllocationProviderInput
{ {
/// <summary> /// <summary>
/// 服务商配置主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 排序号。 /// 序号。
/// </summary> /// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary> /// <summary>
/// 服务商名称。 /// 供应商名称。
/// </summary> /// </summary>
public string ProviderName { get; set; } = string.Empty; public string ProviderName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 关联的服务渠道主键。 /// 服务渠道主键。
/// </summary> /// </summary>
public long? ServiceChannelId { get; set; } public long? ServiceChannelId { get; set; }
/// <summary> /// <summary>
/// 权重。 /// 重量。
/// </summary> /// </summary>
public int Weight { get; set; } public int Weight { get; set; }
/// <summary> /// <summary>
/// 指定客户主键列表。 /// 客户主键集合。
/// </summary> /// </summary>
public List<long> CustomerIds { get; set; } = []; public List<long> CustomerIds { get; set; } = [];
} }

View File

@ -1,24 +1,57 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品分配供应商出参。
/// </summary>
public class SalesProductAllocationProviderOutput public class SalesProductAllocationProviderOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 销售产品主键。
/// </summary>
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary>
/// 序号。
/// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary>
/// 供应商名称。
/// </summary>
public string ProviderName { get; set; } = string.Empty; public string ProviderName { get; set; } = string.Empty;
/// <summary>
/// 服务渠道主键。
/// </summary>
public long? ServiceChannelId { get; set; } public long? ServiceChannelId { get; set; }
/// <summary>
/// 服务渠道名称。
/// </summary>
public string? ServiceChannelName { get; set; } public string? ServiceChannelName { get; set; }
/// <summary>
/// 重量。
/// </summary>
public int Weight { get; set; } public int Weight { get; set; }
/// <summary>
/// 客户主键集合。
/// </summary>
public List<long> CustomerIds { get; set; } = []; public List<long> CustomerIds { get; set; } = [];
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品排货方案保存入参。 /// 销售产品分配保存入参。
/// </summary> /// </summary>
public class SalesProductAllocationSaveInput public class SalesProductAllocationSaveInput
{ {
@ -11,17 +11,17 @@ public class SalesProductAllocationSaveInput
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary> /// <summary>
/// 是否保存后立即发布。 /// 是否发布。
/// </summary> /// </summary>
public bool Publish { get; set; } public bool Publish { get; set; }
/// <summary> /// <summary>
/// 排货方案编码。 /// 方案编码。
/// </summary> /// </summary>
public string Scheme { get; set; } = string.Empty; public string Scheme { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 服务商列表。 /// 供应商集合。
/// </summary> /// </summary>
public List<SalesProductAllocationProviderInput> Providers { get; set; } = []; public List<SalesProductAllocationProviderInput> Providers { get; set; } = [];
} }

View File

@ -1,42 +1,102 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品详情出参。
/// </summary>
public class SalesProductDetailOutput public class SalesProductDetailOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 产品编码。
/// </summary>
public string ProductCode { get; set; } = string.Empty; public string ProductCode { get; set; } = string.Empty;
/// <summary>
/// 产品名称。
/// </summary>
public string ProductName { get; set; } = string.Empty; public string ProductName { get; set; } = string.Empty;
/// <summary>
/// 产品分组。
/// </summary>
public string? ProductGroup { get; set; } public string? ProductGroup { get; set; }
/// <summary>
/// 最小时效。
/// </summary>
public int? MinTimeliness { get; set; } public int? MinTimeliness { get; set; }
/// <summary>
/// 最大时效。
/// </summary>
public int? MaxTimeliness { get; set; } public int? MaxTimeliness { get; set; }
/// <summary>
/// 客户面单类型。
/// </summary>
public string? CustomerWaybill { get; set; } public string? CustomerWaybill { get; set; }
/// <summary>
/// 黑名单分区主键。
/// </summary>
public long? BlacklistAreaId { get; set; } public long? BlacklistAreaId { get; set; }
/// <summary>
/// 偏远分区主键。
/// </summary>
public long? RemoteAreaId { get; set; } public long? RemoteAreaId { get; set; }
/// <summary>
/// 计重规则主键。
/// </summary>
public long? WeightRuleId { get; set; } public long? WeightRuleId { get; set; }
/// <summary>
/// 计重进位规则主键。
/// </summary>
public long? WeightRoundingId { get; set; } public long? WeightRoundingId { get; set; }
/// <summary>
/// 产品描述。
/// </summary>
public string? ProductDescription { get; set; } public string? ProductDescription { get; set; }
/// <summary>
/// 预入库脚本。
/// </summary>
public string? PreStorageScript { get; set; } public string? PreStorageScript { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public byte IsActive { get; set; } public byte IsActive { get; set; }
/// <summary>
/// 方案编码。
/// </summary>
public string Scheme { get; set; } = string.Empty; public string Scheme { get; set; } = string.Empty;
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; } public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; } public string? UpdateBy { get; set; }
} }

View File

@ -3,7 +3,7 @@ using Oms.Domain.Shared.Enums;
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品分页查询入参。 /// 销售产品列表查询入参。
/// </summary> /// </summary>
public class SalesProductListInput public class SalesProductListInput
{ {
@ -23,12 +23,12 @@ public class SalesProductListInput
public string? ProductGroup { get; set; } public string? ProductGroup { get; set; }
/// <summary> /// <summary>
/// 关键字,匹配产品编码或产品名称。 /// 关键词。
/// </summary> /// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
/// <summary> /// <summary>
/// 启用状态。 /// 是否启用。
/// </summary> /// </summary>
public EnableStatus? IsActive { get; set; } public EnableStatus? IsActive { get; set; }
} }

View File

@ -1,36 +1,87 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品List出参。
/// </summary>
public class SalesProductListOutput public class SalesProductListOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 产品编码。
/// </summary>
public string ProductCode { get; set; } = string.Empty; public string ProductCode { get; set; } = string.Empty;
/// <summary>
/// 产品名称。
/// </summary>
public string ProductName { get; set; } = string.Empty; public string ProductName { get; set; } = string.Empty;
/// <summary>
/// 产品分组。
/// </summary>
public string? ProductGroup { get; set; } public string? ProductGroup { get; set; }
/// <summary>
/// 最小时效。
/// </summary>
public int? MinTimeliness { get; set; } public int? MinTimeliness { get; set; }
/// <summary>
/// 最大时效。
/// </summary>
public int? MaxTimeliness { get; set; } public int? MaxTimeliness { get; set; }
/// <summary>
/// 客户面单类型。
/// </summary>
public string? CustomerWaybill { get; set; } public string? CustomerWaybill { get; set; }
/// <summary>
/// 黑名单分区主键。
/// </summary>
public long? BlacklistAreaId { get; set; } public long? BlacklistAreaId { get; set; }
/// <summary>
/// 偏远分区主键。
/// </summary>
public long? RemoteAreaId { get; set; } public long? RemoteAreaId { get; set; }
/// <summary>
/// 计重规则主键。
/// </summary>
public long? WeightRuleId { get; set; } public long? WeightRuleId { get; set; }
/// <summary>
/// 计重进位规则主键。
/// </summary>
public long? WeightRoundingId { get; set; } public long? WeightRoundingId { get; set; }
/// <summary>
/// 产品描述。
/// </summary>
public string? ProductDescription { get; set; } public string? ProductDescription { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public byte IsActive { get; set; } public byte IsActive { get; set; }
/// <summary>
/// 方案编码。
/// </summary>
public string Scheme { get; set; } = string.Empty; public string Scheme { get; set; } = string.Empty;
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,32 +1,77 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品价格List出参。
/// </summary>
public class SalesProductPriceListOutput public class SalesProductPriceListOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 销售产品主键。
/// </summary>
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary>
/// 序号。
/// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary>
/// 状态。
/// </summary>
public byte Status { get; set; } public byte Status { get; set; }
/// <summary>
/// 价格项名称。
/// </summary>
public string PriceName { get; set; } = string.Empty; public string PriceName { get; set; } = string.Empty;
/// <summary>
/// 费用项目。
/// </summary>
public string CostItem { get; set; } = string.Empty; public string CostItem { get; set; } = string.Empty;
/// <summary>
/// 计费单位。
/// </summary>
public string CostUnit { get; set; } = string.Empty; public string CostUnit { get; set; } = string.Empty;
/// <summary>
/// 币种。
/// </summary>
public string Currency { get; set; } = string.Empty; public string Currency { get; set; } = string.Empty;
/// <summary>
/// 计费时机。
/// </summary>
public string? ChargingTime { get; set; } public string? ChargingTime { get; set; }
/// <summary>
/// 计费条件。
/// </summary>
public string? ChargingCondition { get; set; } public string? ChargingCondition { get; set; }
/// <summary>
/// 价格因子集合。
/// </summary>
public List<ChannelPriceFactorOutput> Factors { get; set; } = []; public List<ChannelPriceFactorOutput> Factors { get; set; } = [];
/// <summary>
/// 价格明细集合。
/// </summary>
public List<ChannelPriceDetailOutput> Details { get; set; } = []; public List<ChannelPriceDetailOutput> Details { get; set; } = [];
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品价格批量保存入参。 /// 销售产品价格项批量保存入参。
/// </summary> /// </summary>
public class SalesProductPriceSaveAllInput public class SalesProductPriceSaveAllInput
{ {
@ -11,12 +11,12 @@ public class SalesProductPriceSaveAllInput
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary> /// <summary>
/// 是否保存后立即发布。 /// 是否发布。
/// </summary> /// </summary>
public bool Publish { get; set; } public bool Publish { get; set; }
/// <summary> /// <summary>
/// 价格项列表。 /// 价格项集合。
/// </summary> /// </summary>
public List<SalesProductPriceSaveInput> Prices { get; set; } = []; public List<SalesProductPriceSaveInput> Prices { get; set; } = [];
} }

View File

@ -8,7 +8,7 @@ namespace Oms.Application.Dtos.Channels;
public class SalesProductPriceSaveInput public class SalesProductPriceSaveInput
{ {
/// <summary> /// <summary>
/// 价格项主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -18,12 +18,12 @@ public class SalesProductPriceSaveInput
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary> /// <summary>
/// 排序号。 /// 序号。
/// </summary> /// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary> /// <summary>
/// 价格项状态。 /// 状态。
/// </summary> /// </summary>
public EnableStatus Status { get; set; } public EnableStatus Status { get; set; }
@ -33,7 +33,7 @@ public class SalesProductPriceSaveInput
public string PriceName { get; set; } = string.Empty; public string PriceName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 费用项编码。 /// 费用项目。
/// </summary> /// </summary>
public string CostItem { get; set; } = string.Empty; public string CostItem { get; set; } = string.Empty;
@ -48,22 +48,22 @@ public class SalesProductPriceSaveInput
public string Currency { get; set; } = string.Empty; public string Currency { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 收费时机。 /// 计费时机。
/// </summary> /// </summary>
public string? ChargingTime { get; set; } public string? ChargingTime { get; set; }
/// <summary> /// <summary>
/// 收费条件。 /// 计费条件。
/// </summary> /// </summary>
public string? ChargingCondition { get; set; } public string? ChargingCondition { get; set; }
/// <summary> /// <summary>
/// 计费因子定义。 /// 价格因子集合。
/// </summary> /// </summary>
public List<ChannelPriceFactorInput> Factors { get; set; } = []; public List<ChannelPriceFactorInput> Factors { get; set; } = [];
/// <summary> /// <summary>
/// 价格明细行。 /// 价格明细集合。
/// </summary> /// </summary>
public List<ChannelPriceDetailInput> Details { get; set; } = []; public List<ChannelPriceDetailInput> Details { get; set; } = [];
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品配置发布入参。 /// 销售产品发布入参。
/// </summary> /// </summary>
public class SalesProductPublishInput public class SalesProductPublishInput
{ {
@ -11,12 +11,12 @@ public class SalesProductPublishInput
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary> /// <summary>
/// 发布类型,支持 price 或 rules。 /// 操作类型。
/// </summary> /// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 发布说明。 /// 描述。
/// </summary> /// </summary>
public string? Description { get; set; } public string? Description { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品发布记录分页查询入参。 /// 销售产品发布列表查询入参。
/// </summary> /// </summary>
public class SalesProductPublishListInput public class SalesProductPublishListInput
{ {

View File

@ -1,24 +1,57 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 销售产品发布记录出参。
/// </summary>
public class SalesProductPublishRecordOutput public class SalesProductPublishRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 销售产品主键。
/// </summary>
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary>
/// 版本号。
/// </summary>
public string Version { get; set; } = string.Empty; public string Version { get; set; } = string.Empty;
/// <summary>
/// 操作类型。
/// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty; public string Status { get; set; } = string.Empty;
/// <summary>
/// 发布人。
/// </summary>
public string PublishUser { get; set; } = string.Empty; public string PublishUser { get; set; } = string.Empty;
/// <summary>
/// 发布时间。
/// </summary>
public DateTime PublishTime { get; set; } public DateTime PublishTime { get; set; }
/// <summary>
/// 描述。
/// </summary>
public string? Description { get; set; } public string? Description { get; set; }
/// <summary>
/// 内容。
/// </summary>
public object? Content { get; set; } public object? Content { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 销售产品配置回滚入参。 /// 销售产品回滚入参。
/// </summary> /// </summary>
public class SalesProductRollbackInput public class SalesProductRollbackInput
{ {
@ -11,12 +11,12 @@ public class SalesProductRollbackInput
public long SalesProductId { get; set; } public long SalesProductId { get; set; }
/// <summary> /// <summary>
/// 发布记录主键。 /// 记录主键。
/// </summary> /// </summary>
public long RecordId { get; set; } public long RecordId { get; set; }
/// <summary> /// <summary>
/// 回滚类型,支持 price 或 rules。 /// 操作类型。
/// </summary> /// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
} }

View File

@ -8,7 +8,7 @@ namespace Oms.Application.Dtos.Channels;
public class SalesProductSaveInput public class SalesProductSaveInput
{ {
/// <summary> /// <summary>
/// 产品主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -58,7 +58,7 @@ public class SalesProductSaveInput
public long? WeightRuleId { get; set; } public long? WeightRuleId { get; set; }
/// <summary> /// <summary>
/// 计重进位主键。 /// 计重进位规则主键。
/// </summary> /// </summary>
public long? WeightRoundingId { get; set; } public long? WeightRoundingId { get; set; }
@ -78,7 +78,7 @@ public class SalesProductSaveInput
public EnableStatus IsActive { get; set; } public EnableStatus IsActive { get; set; }
/// <summary> /// <summary>
/// 排货方案编码。 /// 方案编码。
/// </summary> /// </summary>
public string Scheme { get; set; } = string.Empty; public string Scheme { get; set; } = string.Empty;
} }

View File

@ -1,36 +1,87 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 服务渠道详情出参。
/// </summary>
public class ServiceChannelDetailOutput public class ServiceChannelDetailOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 分组主键。
/// </summary>
public long? GroupId { get; set; } public long? GroupId { get; set; }
/// <summary>
/// 分组名称。
/// </summary>
public string? GroupName { get; set; } public string? GroupName { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string ChannelCode { get; set; } = string.Empty; public string ChannelCode { get; set; } = string.Empty;
/// <summary>
/// 渠道名称。
/// </summary>
public string ChannelName { get; set; } = string.Empty; public string ChannelName { get; set; } = string.Empty;
/// <summary>
/// 最小时间。
/// </summary>
public int? MinTime { get; set; } public int? MinTime { get; set; }
/// <summary>
/// 最大时间。
/// </summary>
public int? MaxTime { get; set; } public int? MaxTime { get; set; }
/// <summary>
/// 预报类型。
/// </summary>
public string? ForecastType { get; set; } public string? ForecastType { get; set; }
/// <summary>
/// 预报编码。
/// </summary>
public string? ForecastCode { get; set; } public string? ForecastCode { get; set; }
/// <summary>
/// 描述。
/// </summary>
public string? Description { get; set; } public string? Description { get; set; }
/// <summary>
/// 预处理脚本。
/// </summary>
public string? PreScript { get; set; } public string? PreScript { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public byte IsActive { get; set; } public byte IsActive { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; } public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; } public string? UpdateBy { get; set; }
} }

View File

@ -3,7 +3,7 @@ using Oms.Domain.Shared.Enums;
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道分页查询入参。 /// 服务渠道列表查询入参。
/// </summary> /// </summary>
public class ServiceChannelListInput public class ServiceChannelListInput
{ {
@ -18,17 +18,17 @@ public class ServiceChannelListInput
public int PageSize { get; set; } public int PageSize { get; set; }
/// <summary> /// <summary>
/// 渠道组主键。 /// 分组主键。
/// </summary> /// </summary>
public long? GroupId { get; set; } public long? GroupId { get; set; }
/// <summary> /// <summary>
/// 关键字,匹配渠道编码或名称。 /// 关键词。
/// </summary> /// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
/// <summary> /// <summary>
/// 启用状态。 /// 是否启用。
/// </summary> /// </summary>
public EnableStatus? IsActive { get; set; } public EnableStatus? IsActive { get; set; }
} }

View File

@ -1,30 +1,72 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 服务渠道List出参。
/// </summary>
public class ServiceChannelListOutput public class ServiceChannelListOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 分组主键。
/// </summary>
public long? GroupId { get; set; } public long? GroupId { get; set; }
/// <summary>
/// 分组名称。
/// </summary>
public string? GroupName { get; set; } public string? GroupName { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string ChannelCode { get; set; } = string.Empty; public string ChannelCode { get; set; } = string.Empty;
/// <summary>
/// 渠道名称。
/// </summary>
public string ChannelName { get; set; } = string.Empty; public string ChannelName { get; set; } = string.Empty;
/// <summary>
/// 最小时间。
/// </summary>
public int? MinTime { get; set; } public int? MinTime { get; set; }
/// <summary>
/// 最大时间。
/// </summary>
public int? MaxTime { get; set; } public int? MaxTime { get; set; }
/// <summary>
/// 预报类型。
/// </summary>
public string? ForecastType { get; set; } public string? ForecastType { get; set; }
/// <summary>
/// 预报编码。
/// </summary>
public string? ForecastCode { get; set; } public string? ForecastCode { get; set; }
/// <summary>
/// 描述。
/// </summary>
public string? Description { get; set; } public string? Description { get; set; }
/// <summary>
/// 是否启用。
/// </summary>
public byte IsActive { get; set; } public byte IsActive { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,32 +1,77 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 服务渠道价格List出参。
/// </summary>
public class ServiceChannelPriceListOutput public class ServiceChannelPriceListOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 服务渠道主键。
/// </summary>
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary>
/// 序号。
/// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary>
/// 状态。
/// </summary>
public byte Status { get; set; } public byte Status { get; set; }
/// <summary>
/// 价格项名称。
/// </summary>
public string PriceName { get; set; } = string.Empty; public string PriceName { get; set; } = string.Empty;
/// <summary>
/// 费用项目。
/// </summary>
public string CostItem { get; set; } = string.Empty; public string CostItem { get; set; } = string.Empty;
/// <summary>
/// 计费单位。
/// </summary>
public string CostUnit { get; set; } = string.Empty; public string CostUnit { get; set; } = string.Empty;
/// <summary>
/// 币种。
/// </summary>
public string Currency { get; set; } = string.Empty; public string Currency { get; set; } = string.Empty;
/// <summary>
/// 计费时机。
/// </summary>
public string? ChargingTime { get; set; } public string? ChargingTime { get; set; }
/// <summary>
/// 计费条件。
/// </summary>
public string? ChargingCondition { get; set; } public string? ChargingCondition { get; set; }
/// <summary>
/// 价格因子集合。
/// </summary>
public List<ChannelPriceFactorOutput> Factors { get; set; } = []; public List<ChannelPriceFactorOutput> Factors { get; set; } = [];
/// <summary>
/// 价格明细集合。
/// </summary>
public List<ChannelPriceDetailOutput> Details { get; set; } = []; public List<ChannelPriceDetailOutput> Details { get; set; } = [];
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道买价批量保存入参。 /// 服务渠道价格项批量保存入参。
/// </summary> /// </summary>
public class ServiceChannelPriceSaveAllInput public class ServiceChannelPriceSaveAllInput
{ {
@ -11,12 +11,12 @@ public class ServiceChannelPriceSaveAllInput
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary> /// <summary>
/// 是否保存后立即发布。 /// 是否发布。
/// </summary> /// </summary>
public bool Publish { get; set; } public bool Publish { get; set; }
/// <summary> /// <summary>
/// 买价项列表。 /// 价格项集合。
/// </summary> /// </summary>
public List<ServiceChannelPriceSaveInput> Prices { get; set; } = []; public List<ServiceChannelPriceSaveInput> Prices { get; set; } = [];
} }

View File

@ -3,12 +3,12 @@ using Oms.Domain.Shared.Enums;
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道买价项保存入参。 /// 服务渠道价格项保存入参。
/// </summary> /// </summary>
public class ServiceChannelPriceSaveInput public class ServiceChannelPriceSaveInput
{ {
/// <summary> /// <summary>
/// 买价项主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -18,22 +18,22 @@ public class ServiceChannelPriceSaveInput
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary> /// <summary>
/// 排序号。 /// 序号。
/// </summary> /// </summary>
public int SerialNumber { get; set; } public int SerialNumber { get; set; }
/// <summary> /// <summary>
/// 买价项状态。 /// 状态。
/// </summary> /// </summary>
public EnableStatus Status { get; set; } public EnableStatus Status { get; set; }
/// <summary> /// <summary>
/// 买价项名称。 /// 价格项名称。
/// </summary> /// </summary>
public string PriceName { get; set; } = string.Empty; public string PriceName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 费用项编码。 /// 费用项目。
/// </summary> /// </summary>
public string CostItem { get; set; } = string.Empty; public string CostItem { get; set; } = string.Empty;
@ -48,22 +48,22 @@ public class ServiceChannelPriceSaveInput
public string Currency { get; set; } = string.Empty; public string Currency { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 收费时机。 /// 计费时机。
/// </summary> /// </summary>
public string? ChargingTime { get; set; } public string? ChargingTime { get; set; }
/// <summary> /// <summary>
/// 收费条件。 /// 计费条件。
/// </summary> /// </summary>
public string? ChargingCondition { get; set; } public string? ChargingCondition { get; set; }
/// <summary> /// <summary>
/// 计费因子定义。 /// 价格因子集合。
/// </summary> /// </summary>
public List<ChannelPriceFactorInput> Factors { get; set; } = []; public List<ChannelPriceFactorInput> Factors { get; set; } = [];
/// <summary> /// <summary>
/// 价格明细行。 /// 价格明细集合。
/// </summary> /// </summary>
public List<ChannelPriceDetailInput> Details { get; set; } = []; public List<ChannelPriceDetailInput> Details { get; set; } = [];
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道配置发布入参。 /// 服务渠道发布入参。
/// </summary> /// </summary>
public class ServiceChannelPublishInput public class ServiceChannelPublishInput
{ {
@ -11,12 +11,12 @@ public class ServiceChannelPublishInput
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary> /// <summary>
/// 发布类型,支持 price 或 rules。 /// 操作类型。
/// </summary> /// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 发布说明。 /// 描述。
/// </summary> /// </summary>
public string? Description { get; set; } public string? Description { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道发布记录分页查询入参。 /// 服务渠道发布列表查询入参。
/// </summary> /// </summary>
public class ServiceChannelPublishListInput public class ServiceChannelPublishListInput
{ {

View File

@ -1,24 +1,57 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 服务渠道发布记录出参。
/// </summary>
public class ServiceChannelPublishRecordOutput public class ServiceChannelPublishRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 服务渠道主键。
/// </summary>
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary>
/// 版本号。
/// </summary>
public string Version { get; set; } = string.Empty; public string Version { get; set; } = string.Empty;
/// <summary>
/// 操作类型。
/// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty; public string Status { get; set; } = string.Empty;
/// <summary>
/// 发布人。
/// </summary>
public string PublishUser { get; set; } = string.Empty; public string PublishUser { get; set; } = string.Empty;
/// <summary>
/// 发布时间。
/// </summary>
public DateTime PublishTime { get; set; } public DateTime PublishTime { get; set; }
/// <summary>
/// 描述。
/// </summary>
public string? Description { get; set; } public string? Description { get; set; }
/// <summary>
/// 内容。
/// </summary>
public object? Content { get; set; } public object? Content { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 服务渠道配置回滚入参。 /// 服务渠道回滚入参。
/// </summary> /// </summary>
public class ServiceChannelRollbackInput public class ServiceChannelRollbackInput
{ {
@ -11,12 +11,12 @@ public class ServiceChannelRollbackInput
public long ServiceChannelId { get; set; } public long ServiceChannelId { get; set; }
/// <summary> /// <summary>
/// 发布记录主键。 /// 记录主键。
/// </summary> /// </summary>
public long RecordId { get; set; } public long RecordId { get; set; }
/// <summary> /// <summary>
/// 回滚类型,支持 price 或 rules。 /// 操作类型。
/// </summary> /// </summary>
public string OperatorType { get; set; } = string.Empty; public string OperatorType { get; set; } = string.Empty;
} }

View File

@ -8,12 +8,12 @@ namespace Oms.Application.Dtos.Channels;
public class ServiceChannelSaveInput public class ServiceChannelSaveInput
{ {
/// <summary> /// <summary>
/// 渠道主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 渠道组主键。 /// 分组主键。
/// </summary> /// </summary>
public long? GroupId { get; set; } public long? GroupId { get; set; }
@ -28,27 +28,27 @@ public class ServiceChannelSaveInput
public string ChannelName { get; set; } = string.Empty; public string ChannelName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 最小时效。 /// 最小时间。
/// </summary> /// </summary>
public int? MinTime { get; set; } public int? MinTime { get; set; }
/// <summary> /// <summary>
/// 最大时效。 /// 最大时间。
/// </summary> /// </summary>
public int? MaxTime { get; set; } public int? MaxTime { get; set; }
/// <summary> /// <summary>
/// 预报单号类型。 /// 预报类型。
/// </summary> /// </summary>
public string? ForecastType { get; set; } public string? ForecastType { get; set; }
/// <summary> /// <summary>
/// 预报编码或表达式。 /// 预报编码。
/// </summary> /// </summary>
public string? ForecastCode { get; set; } public string? ForecastCode { get; set; }
/// <summary> /// <summary>
/// 渠道描述。 /// 描述。
/// </summary> /// </summary>
public string? Description { get; set; } public string? Description { get; set; }

View File

@ -1,12 +1,12 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重进位明细分页查询入参。 /// 计重进位规则明细列表查询入参。
/// </summary> /// </summary>
public class WeightRoundingInfoListInput public class WeightRoundingInfoListInput
{ {
/// <summary> /// <summary>
/// 计重进位主键。 /// 进位主键。
/// </summary> /// </summary>
public long RoundingId { get; set; } public long RoundingId { get; set; }

View File

@ -1,22 +1,52 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 计重进位规则明细出参。
/// </summary>
public class WeightRoundingInfoOutput public class WeightRoundingInfoOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 进位主键。
/// </summary>
public long RoundingId { get; set; } public long RoundingId { get; set; }
/// <summary>
/// 起始值。
/// </summary>
public decimal StartValue { get; set; } public decimal StartValue { get; set; }
/// <summary>
/// 结束值。
/// </summary>
public decimal EndValue { get; set; } public decimal EndValue { get; set; }
/// <summary>
/// 是否公开。
/// </summary>
public string? Public { get; set; } public string? Public { get; set; }
/// <summary>
/// 客户分组一。
/// </summary>
public string? CustomerGroup1 { get; set; } public string? CustomerGroup1 { get; set; }
/// <summary>
/// 客户分组二。
/// </summary>
public string? CustomerGroup2 { get; set; } public string? CustomerGroup2 { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,42 +1,42 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重进位明细保存入参。 /// 计重进位规则明细保存入参。
/// </summary> /// </summary>
public class WeightRoundingInfoSaveInput public class WeightRoundingInfoSaveInput
{ {
/// <summary> /// <summary>
/// 明细主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 计重进位主键。 /// 进位主键。
/// </summary> /// </summary>
public long RoundingId { get; set; } public long RoundingId { get; set; }
/// <summary> /// <summary>
/// 起始重量。 /// 起始值。
/// </summary> /// </summary>
public decimal StartValue { get; set; } public decimal StartValue { get; set; }
/// <summary> /// <summary>
/// 结束重量。 /// 结束值。
/// </summary> /// </summary>
public decimal EndValue { get; set; } public decimal EndValue { get; set; }
/// <summary> /// <summary>
/// 公共进位值。 /// 是否公开。
/// </summary> /// </summary>
public string? Public { get; set; } public string? Public { get; set; }
/// <summary> /// <summary>
/// 客户组 1 进位值。 /// 客户分组一。
/// </summary> /// </summary>
public string? CustomerGroup1 { get; set; } public string? CustomerGroup1 { get; set; }
/// <summary> /// <summary>
/// 客户组 2 进位值。 /// 客户分组二。
/// </summary> /// </summary>
public string? CustomerGroup2 { get; set; } public string? CustomerGroup2 { get; set; }
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重进位分页查询入参。 /// 计重进位规则列表查询入参。
/// </summary> /// </summary>
public class WeightRoundingListInput public class WeightRoundingListInput
{ {

View File

@ -1,14 +1,32 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 计重进位规则出参。
/// </summary>
public class WeightRoundingOutput public class WeightRoundingOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 应用标识。
/// </summary>
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,12 +1,12 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重进位保存入参。 /// 计重进位规则保存入参。
/// </summary> /// </summary>
public class WeightRoundingSaveInput public class WeightRoundingSaveInput
{ {
/// <summary> /// <summary>
/// 计重进位主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -16,7 +16,7 @@ public class WeightRoundingSaveInput
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 规则名称。 /// 名称。
/// </summary> /// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
} }

View File

@ -1,12 +1,12 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重规则明细分页查询入参。 /// 计重规则明细列表查询入参。
/// </summary> /// </summary>
public class WeightRuleInfoListInput public class WeightRuleInfoListInput
{ {
/// <summary> /// <summary>
/// 计重规则主键。 /// 规则主键。
/// </summary> /// </summary>
public long RuleId { get; set; } public long RuleId { get; set; }

View File

@ -1,20 +1,47 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 计重规则明细出参。
/// </summary>
public class WeightRuleInfoOutput public class WeightRuleInfoOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 规则主键。
/// </summary>
public long RuleId { get; set; } public long RuleId { get; set; }
/// <summary>
/// Client。
/// </summary>
public string Client { get; set; } = string.Empty; public string Client { get; set; } = string.Empty;
/// <summary>
/// Condition。
/// </summary>
public string Condition { get; set; } = string.Empty; public string Condition { get; set; } = string.Empty;
/// <summary>
/// 计费重量。
/// </summary>
public string BillableWeight { get; set; } = string.Empty; public string BillableWeight { get; set; } = string.Empty;
/// <summary>
/// 体积系数。
/// </summary>
public string VolumetricFactor { get; set; } = string.Empty; public string VolumetricFactor { get; set; } = string.Empty;
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -6,32 +6,32 @@ namespace Oms.Application.Dtos.Channels;
public class WeightRuleInfoSaveInput public class WeightRuleInfoSaveInput
{ {
/// <summary> /// <summary>
/// 明细主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
/// <summary> /// <summary>
/// 计重规则主键。 /// 规则主键。
/// </summary> /// </summary>
public long RuleId { get; set; } public long RuleId { get; set; }
/// <summary> /// <summary>
/// 客户范围,例如公共、客户组1。 /// Client。
/// </summary> /// </summary>
public string Client { get; set; } = string.Empty; public string Client { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 条件表达式。 /// Condition。
/// </summary> /// </summary>
public string Condition { get; set; } = string.Empty; public string Condition { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 计费重取值表达式。 /// 计费重量。
/// </summary> /// </summary>
public string BillableWeight { get; set; } = string.Empty; public string BillableWeight { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 材积系数。 /// 体积系数。
/// </summary> /// </summary>
public string VolumetricFactor { get; set; } = string.Empty; public string VolumetricFactor { get; set; } = string.Empty;
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary> /// <summary>
/// 计重规则分页查询入参。 /// 计重规则列表查询入参。
/// </summary> /// </summary>
public class WeightRuleListInput public class WeightRuleListInput
{ {

View File

@ -1,14 +1,32 @@
namespace Oms.Application.Dtos.Channels; namespace Oms.Application.Dtos.Channels;
/// <summary>
/// 计重规则出参。
/// </summary>
public class WeightRuleOutput public class WeightRuleOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 应用标识。
/// </summary>
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -6,7 +6,7 @@ namespace Oms.Application.Dtos.Channels;
public class WeightRuleSaveInput public class WeightRuleSaveInput
{ {
/// <summary> /// <summary>
/// 计重规则主键,新增时可不传。 /// 主键。
/// </summary> /// </summary>
public long? Id { get; set; } public long? Id { get; set; }
@ -16,7 +16,7 @@ public class WeightRuleSaveInput
public string AppKey { get; set; } = string.Empty; public string AppKey { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 规则名称。 /// 名称。
/// </summary> /// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
} }

View File

@ -3,33 +3,63 @@ using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 创建客户入参。
/// </summary>
public class CreateCustomerInput public class CreateCustomerInput
{ {
[Required] [Required]
[StringLength(16)] [StringLength(16)]
/// <summary>
/// 手机号。
/// </summary>
public string Phone { get; set; } = string.Empty; public string Phone { get; set; } = string.Empty;
[EmailAddress] [EmailAddress]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
[Required] [Required]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 密码。
/// </summary>
public string Password { get; set; } = string.Empty; public string Password { get; set; } = string.Empty;
[Range(typeof(decimal), "0", "999999999999")] [Range(typeof(decimal), "0", "999999999999")]
/// <summary>
/// 总额度。
/// </summary>
public decimal TotalQuota { get; set; } public decimal TotalQuota { get; set; }
/// <summary>
/// 状态。
/// </summary>
public CustomerStatus Status { get; set; } = CustomerStatus.Normal; public CustomerStatus Status { get; set; } = CustomerStatus.Normal;
[StringLength(512)] [StringLength(512)]
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
[StringLength(32)] [StringLength(32)]
/// <summary>
/// 销售人员。
/// </summary>
public string? Salesman { get; set; } public string? Salesman { get; set; }
[StringLength(32)] [StringLength(32)]
/// <summary>
/// 客服人员。
/// </summary>
public string? CustomerService { get; set; } public string? CustomerService { get; set; }
/// <summary>
/// 客户分组。
/// </summary>
public CustomerGroup? CustomerGroup { get; set; } public CustomerGroup? CustomerGroup { get; set; }
} }

View File

@ -2,47 +2,113 @@ using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 客户出参。
/// </summary>
public class CustomerOutput public class CustomerOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 客户编码。
/// </summary>
public string CustomerCode { get; set; } = string.Empty; public string CustomerCode { get; set; } = string.Empty;
/// <summary>
/// WechatAvatar。
/// </summary>
public string? WechatAvatar { get; set; } public string? WechatAvatar { get; set; }
/// <summary>
/// WechatNickname。
/// </summary>
public string? WechatNickname { get; set; } public string? WechatNickname { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string Phone { get; set; } = string.Empty; public string Phone { get; set; } = string.Empty;
/// <summary>
/// 余额。
/// </summary>
public decimal Balance { get; set; } public decimal Balance { get; set; }
/// <summary>
/// 总额度。
/// </summary>
public decimal TotalQuota { get; set; } public decimal TotalQuota { get; set; }
/// <summary>
/// 已用额度。
/// </summary>
public decimal UsedQuota { get; set; } public decimal UsedQuota { get; set; }
/// <summary>
/// 状态。
/// </summary>
public CustomerStatus Status { get; set; } public CustomerStatus Status { get; set; }
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
/// <summary>
/// 销售人员。
/// </summary>
public string? Salesman { get; set; } public string? Salesman { get; set; }
/// <summary>
/// 客服人员。
/// </summary>
public string? CustomerService { get; set; } public string? CustomerService { get; set; }
/// <summary>
/// 客户分组。
/// </summary>
public CustomerGroup? CustomerGroup { get; set; } public CustomerGroup? CustomerGroup { get; set; }
/// <summary>
/// 角色。
/// </summary>
public string? Role { get; set; } public string? Role { get; set; }
/// <summary>
/// 最后登录 IP。
/// </summary>
public string? LastLoginIp { get; set; } public string? LastLoginIp { get; set; }
/// <summary>
/// 最后登录时间。
/// </summary>
public DateTime? LastLoginTime { get; set; } public DateTime? LastLoginTime { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; } public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; } public string? UpdateBy { get; set; }
} }

View File

@ -2,19 +2,43 @@ using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 客户分页查询入参。
/// </summary>
public class CustomerPaginatedInput public class CustomerPaginatedInput
{ {
/// <summary>
/// 页码,从 1 开始。
/// </summary>
public int Page { get; set; } = 1; public int Page { get; set; } = 1;
/// <summary>
/// 每页条数。
/// </summary>
public int PageSize { get; set; } = 20; public int PageSize { get; set; } = 20;
/// <summary>
/// 关键词。
/// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
/// <summary>
/// 状态。
/// </summary>
public CustomerStatus? Status { get; set; } public CustomerStatus? Status { get; set; }
/// <summary>
/// 客户分组。
/// </summary>
public CustomerGroup? CustomerGroup { get; set; } public CustomerGroup? CustomerGroup { get; set; }
/// <summary>
/// 销售人员。
/// </summary>
public string? Salesman { get; set; } public string? Salesman { get; set; }
/// <summary>
/// 客服人员。
/// </summary>
public string? CustomerService { get; set; } public string? CustomerService { get; set; }
} }

View File

@ -2,41 +2,98 @@ using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 客户分页列表项出参。
/// </summary>
public class CustomerPaginatedOutput public class CustomerPaginatedOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 客户编码。
/// </summary>
public string CustomerCode { get; set; } = string.Empty; public string CustomerCode { get; set; } = string.Empty;
/// <summary>
/// WechatAvatar。
/// </summary>
public string? WechatAvatar { get; set; } public string? WechatAvatar { get; set; }
/// <summary>
/// WechatNickname。
/// </summary>
public string? WechatNickname { get; set; } public string? WechatNickname { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string Phone { get; set; } = string.Empty; public string Phone { get; set; } = string.Empty;
/// <summary>
/// 余额。
/// </summary>
public decimal Balance { get; set; } public decimal Balance { get; set; }
/// <summary>
/// 总额度。
/// </summary>
public decimal TotalQuota { get; set; } public decimal TotalQuota { get; set; }
/// <summary>
/// 已用额度。
/// </summary>
public decimal UsedQuota { get; set; } public decimal UsedQuota { get; set; }
/// <summary>
/// 状态。
/// </summary>
public CustomerStatus Status { get; set; } public CustomerStatus Status { get; set; }
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
/// <summary>
/// 销售人员。
/// </summary>
public string? Salesman { get; set; } public string? Salesman { get; set; }
/// <summary>
/// 客服人员。
/// </summary>
public string? CustomerService { get; set; } public string? CustomerService { get; set; }
/// <summary>
/// 客户分组。
/// </summary>
public CustomerGroup? CustomerGroup { get; set; } public CustomerGroup? CustomerGroup { get; set; }
/// <summary>
/// 最后登录 IP。
/// </summary>
public string? LastLoginIp { get; set; } public string? LastLoginIp { get; set; }
/// <summary>
/// 最后登录时间。
/// </summary>
public DateTime? LastLoginTime { get; set; } public DateTime? LastLoginTime { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -2,12 +2,21 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 重置客户密码入参。
/// </summary>
public class ResetCustomerPasswordInput public class ResetCustomerPasswordInput
{ {
[Required] [Required]
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
[Required] [Required]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 新密码。
/// </summary>
public string NewPassword { get; set; } = string.Empty; public string NewPassword { get; set; } = string.Empty;
} }

View File

@ -3,28 +3,55 @@ using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers; namespace Oms.Application.Dtos.Customers;
/// <summary>
/// 更新客户入参。
/// </summary>
public class UpdateCustomerInput public class UpdateCustomerInput
{ {
[Required] [Required]
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
[EmailAddress] [EmailAddress]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
[Range(typeof(decimal), "0", "999999999999")] [Range(typeof(decimal), "0", "999999999999")]
/// <summary>
/// 总额度。
/// </summary>
public decimal TotalQuota { get; set; } public decimal TotalQuota { get; set; }
/// <summary>
/// 状态。
/// </summary>
public CustomerStatus Status { get; set; } = CustomerStatus.Normal; public CustomerStatus Status { get; set; } = CustomerStatus.Normal;
[StringLength(512)] [StringLength(512)]
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
[StringLength(32)] [StringLength(32)]
/// <summary>
/// 销售人员。
/// </summary>
public string? Salesman { get; set; } public string? Salesman { get; set; }
[StringLength(32)] [StringLength(32)]
/// <summary>
/// 客服人员。
/// </summary>
public string? CustomerService { get; set; } public string? CustomerService { get; set; }
/// <summary>
/// 客户分组。
/// </summary>
public CustomerGroup? CustomerGroup { get; set; } public CustomerGroup? CustomerGroup { get; set; }
} }

View File

@ -2,24 +2,51 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 创建入库记录入参。
/// </summary>
public class CreateInboundRecordInput public class CreateInboundRecordInput
{ {
[Required] [Required]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 运单号。
/// </summary>
public string WaybillNo { get; set; } = string.Empty; public string WaybillNo { get; set; } = string.Empty;
/// <summary>
/// 重量。
/// </summary>
public decimal? Weight { get; set; } public decimal? Weight { get; set; }
/// <summary>
/// 长度。
/// </summary>
public decimal? Length { get; set; } public decimal? Length { get; set; }
/// <summary>
/// 宽度。
/// </summary>
public decimal? Width { get; set; } public decimal? Width { get; set; }
/// <summary>
/// 高度。
/// </summary>
public decimal? Height { get; set; } public decimal? Height { get; set; }
/// <summary>
/// 销售产品主键。
/// </summary>
public long? SalesProductId { get; set; } public long? SalesProductId { get; set; }
[StringLength(8)] [StringLength(8)]
/// <summary>
/// 目的国家/地区。
/// </summary>
public string? DestinationCountry { get; set; } public string? DestinationCountry { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
} }

View File

@ -2,11 +2,20 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 创建出库记录入参。
/// </summary>
public class CreateOutboundRecordInput public class CreateOutboundRecordInput
{ {
[Required] [Required]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 运单号。
/// </summary>
public string WaybillNo { get; set; } = string.Empty; public string WaybillNo { get; set; } = string.Empty;
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
} }

View File

@ -1,34 +1,82 @@
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 入库记录出参。
/// </summary>
public class InboundRecordOutput public class InboundRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 运单号。
/// </summary>
public string WaybillNo { get; set; } = string.Empty; public string WaybillNo { get; set; } = string.Empty;
/// <summary>
/// 重量。
/// </summary>
public decimal? Weight { get; set; } public decimal? Weight { get; set; }
/// <summary>
/// 长度。
/// </summary>
public decimal? Length { get; set; } public decimal? Length { get; set; }
/// <summary>
/// 宽度。
/// </summary>
public decimal? Width { get; set; } public decimal? Width { get; set; }
/// <summary>
/// 高度。
/// </summary>
public decimal? Height { get; set; } public decimal? Height { get; set; }
/// <summary>
/// 销售产品主键。
/// </summary>
public long? SalesProductId { get; set; } public long? SalesProductId { get; set; }
/// <summary>
/// 销售产品名称。
/// </summary>
public string? SalesProductName { get; set; } public string? SalesProductName { get; set; }
/// <summary>
/// 目的国家/地区。
/// </summary>
public string? DestinationCountry { get; set; } public string? DestinationCountry { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? WarehouseName { get; set; } public string? WarehouseName { get; set; }
/// <summary>
/// 操作时间。
/// </summary>
public DateTime OperateTime { get; set; } public DateTime OperateTime { get; set; }
/// <summary>
/// 操作人主键。
/// </summary>
public long? OperatorId { get; set; } public long? OperatorId { get; set; }
/// <summary>
/// 操作人名称。
/// </summary>
public string? OperatorName { get; set; } public string? OperatorName { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -2,29 +2,68 @@ using Oms.Domain.Shared.Enums;
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 面单打印记录出参。
/// </summary>
public class LabelPrintRecordOutput public class LabelPrintRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 运单号。
/// </summary>
public string WaybillNo { get; set; } = string.Empty; public string WaybillNo { get; set; } = string.Empty;
/// <summary>
/// 客户订单号。
/// </summary>
public string? CustomerOrderNo { get; set; } public string? CustomerOrderNo { get; set; }
/// <summary>
/// 追踪号。
/// </summary>
public string? TrackingNo { get; set; } public string? TrackingNo { get; set; }
/// <summary>
/// 其他号码。
/// </summary>
public string? OtherNumber { get; set; } public string? OtherNumber { get; set; }
/// <summary>
/// 标签模板主键。
/// </summary>
public long? LabelTemplateId { get; set; } public long? LabelTemplateId { get; set; }
/// <summary>
/// 标签模板名称。
/// </summary>
public string? LabelTemplateName { get; set; } public string? LabelTemplateName { get; set; }
/// <summary>
/// 打印是否成功。
/// </summary>
public EnableStatus PrintSuccess { get; set; } public EnableStatus PrintSuccess { get; set; }
/// <summary>
/// 打印时间。
/// </summary>
public DateTime PrintTime { get; set; } public DateTime PrintTime { get; set; }
/// <summary>
/// 操作人主键。
/// </summary>
public long? OperatorId { get; set; } public long? OperatorId { get; set; }
/// <summary>
/// 操作人名称。
/// </summary>
public string? OperatorName { get; set; } public string? OperatorName { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -1,16 +1,37 @@
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 标签模板出参。
/// </summary>
public class LabelTemplateDropdownOutput public class LabelTemplateDropdownOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 模板类型。
/// </summary>
public string? TemplateType { get; set; } public string? TemplateType { get; set; }
/// <summary>
/// 模板 JSON。
/// </summary>
public object? TemplateJson { get; set; } public object? TemplateJson { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,20 +1,47 @@
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 出库记录出参。
/// </summary>
public class OutboundRecordOutput public class OutboundRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 运单号。
/// </summary>
public string WaybillNo { get; set; } = string.Empty; public string WaybillNo { get; set; } = string.Empty;
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? WarehouseName { get; set; } public string? WarehouseName { get; set; }
/// <summary>
/// 操作时间。
/// </summary>
public DateTime OperateTime { get; set; } public DateTime OperateTime { get; set; }
/// <summary>
/// 操作人主键。
/// </summary>
public long? OperatorId { get; set; } public long? OperatorId { get; set; }
/// <summary>
/// 操作人名称。
/// </summary>
public string? OperatorName { get; set; } public string? OperatorName { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -2,17 +2,32 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Operations; namespace Oms.Application.Dtos.Operations;
/// <summary>
/// 面单打印入参。
/// </summary>
public class PrintLabelInput public class PrintLabelInput
{ {
[Required] [Required]
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 单号值。
/// </summary>
public string Number { get; set; } = string.Empty; public string Number { get; set; } = string.Empty;
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 单号类型。
/// </summary>
public string? NumberType { get; set; } public string? NumberType { get; set; }
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 模板类型。
/// </summary>
public string? TemplateType { get; set; } public string? TemplateType { get; set; }
/// <summary>
/// 标签模板主键。
/// </summary>
public long? LabelTemplateId { get; set; } public long? LabelTemplateId { get; set; }
} }

View File

@ -2,11 +2,20 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单入参。
/// </summary>
public class OrderActionInput public class OrderActionInput
{ {
[Required] [Required]
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
[StringLength(64)] [StringLength(64)]
/// <summary>
/// 请求标识。
/// </summary>
public string? RequestId { get; set; } public string? RequestId { get; set; }
} }

View File

@ -6,22 +6,22 @@ namespace Oms.Application.Dtos.Orders;
public class OrderExportInput public class OrderExportInput
{ {
/// <summary> /// <summary>
/// 订单状态,传 <c>all</c> 或空值时表示不过滤。 /// 状态。
/// </summary> /// </summary>
public string? Status { get; set; } public string? Status { get; set; }
/// <summary> /// <summary>
/// 关键词,可匹配运单号、客户单号、跟踪号。 /// 关键词。
/// </summary> /// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
/// <summary> /// <summary>
/// 创建时间起始值。 /// 创建TimeStart。
/// </summary> /// </summary>
public DateTime? CreateTimeStart { get; set; } public DateTime? CreateTimeStart { get; set; }
/// <summary> /// <summary>
/// 创建时间结束值。 /// 创建TimeEnd。
/// </summary> /// </summary>
public DateTime? CreateTimeEnd { get; set; } public DateTime? CreateTimeEnd { get; set; }
} }

View File

@ -1,8 +1,17 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单导出结果出参。
/// </summary>
public class OrderExportOutput public class OrderExportOutput
{ {
/// <summary>
/// 下载地址。
/// </summary>
public string DownloadUrl { get; set; } = string.Empty; public string DownloadUrl { get; set; } = string.Empty;
/// <summary>
/// 过期时间。
/// </summary>
public DateTime ExpireAt { get; set; } public DateTime ExpireAt { get; set; }
} }

View File

@ -1,54 +1,132 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单内件出参。
/// </summary>
public class OrderItemOutput public class OrderItemOutput
{ {
/// <summary>
/// 中文名称。
/// </summary>
public string? CnName { get; set; } public string? CnName { get; set; }
/// <summary>
/// 英文名称。
/// </summary>
public string? EnName { get; set; } public string? EnName { get; set; }
/// <summary>
/// SKU。
/// </summary>
public string? Sku { get; set; } public string? Sku { get; set; }
/// <summary>
/// 单位。
/// </summary>
public string? Unit { get; set; } public string? Unit { get; set; }
/// <summary>
/// 单价。
/// </summary>
public decimal? UnitPrice { get; set; } public decimal? UnitPrice { get; set; }
/// <summary>
/// 单件重量。
/// </summary>
public decimal? UnitWeight { get; set; } public decimal? UnitWeight { get; set; }
/// <summary>
/// 数量。
/// </summary>
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary>
/// 金额。
/// </summary>
public decimal? Amount { get; set; } public decimal? Amount { get; set; }
/// <summary>
/// 重量。
/// </summary>
public decimal? Weight { get; set; } public decimal? Weight { get; set; }
/// <summary>
/// HS 编码。
/// </summary>
public string? HsCode { get; set; } public string? HsCode { get; set; }
/// <summary>
/// SKU 图片。
/// </summary>
public string? SkuImage { get; set; } public string? SkuImage { get; set; }
/// <summary>
/// 品类。
/// </summary>
public string? Category { get; set; } public string? Category { get; set; }
/// <summary>
/// 品牌。
/// </summary>
public string? Brand { get; set; } public string? Brand { get; set; }
/// <summary>
/// 品牌类型。
/// </summary>
public string? BrandType { get; set; } public string? BrandType { get; set; }
/// <summary>
/// 是否带磁。
/// </summary>
public bool IsMagnetic { get; set; } public bool IsMagnetic { get; set; }
/// <summary>
/// 配货方式。
/// </summary>
public string? Distribution { get; set; } public string? Distribution { get; set; }
/// <summary>
/// 材质。
/// </summary>
public string? Material { get; set; } public string? Material { get; set; }
/// <summary>
/// 英文材质。
/// </summary>
public string? EnMaterial { get; set; } public string? EnMaterial { get; set; }
/// <summary>
/// 用途。
/// </summary>
public string? Purpose { get; set; } public string? Purpose { get; set; }
/// <summary>
/// 属性集合。
/// </summary>
public string? Attributes { get; set; } public string? Attributes { get; set; }
/// <summary>
/// 原产国。
/// </summary>
public string? OriginCountry { get; set; } public string? OriginCountry { get; set; }
/// <summary>
/// 销售链接。
/// </summary>
public string? SalesLink { get; set; } public string? SalesLink { get; set; }
/// <summary>
/// 型号。
/// </summary>
public string? Model { get; set; } public string? Model { get; set; }
/// <summary>
/// 规格。
/// </summary>
public string? Specifications { get; set; } public string? Specifications { get; set; }
/// <summary>
/// 备注说明。
/// </summary>
public string? Comment { get; set; } public string? Comment { get; set; }
} }

View File

@ -1,62 +1,152 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单出参。
/// </summary>
public class OrderOutput public class OrderOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; } public string? ClientNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; } public string? TrackNo { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string ServiceNo { get; set; } = string.Empty; public string ServiceNo { get; set; } = string.Empty;
/// <summary>
/// 产品编码。
/// </summary>
public string? ProductCode { get; set; } public string? ProductCode { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string? ChannelCode { get; set; } public string? ChannelCode { get; set; }
/// <summary>
/// 货物属性。
/// </summary>
public string? CargoAttribute { get; set; } public string? CargoAttribute { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? Warehouse { get; set; } public string? Warehouse { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary>
/// 是否 COD。
/// </summary>
public bool IsCod { get; set; } public bool IsCod { get; set; }
/// <summary>
/// COD 币种。
/// </summary>
public string? CodCurrency { get; set; } public string? CodCurrency { get; set; }
/// <summary>
/// COD 金额。
/// </summary>
public decimal? CodSum { get; set; } public decimal? CodSum { get; set; }
/// <summary>
/// 订单状态名称。
/// </summary>
public string? OrderStatus { get; set; } public string? OrderStatus { get; set; }
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty; public string Status { get; set; } = string.Empty;
/// <summary>
/// 收货时间。
/// </summary>
public DateTime? ReceiveTime { get; set; } public DateTime? ReceiveTime { get; set; }
/// <summary>
/// 发货时间。
/// </summary>
public DateTime? ShipTime { get; set; } public DateTime? ShipTime { get; set; }
/// <summary>
/// 支付时间。
/// </summary>
public DateTime? PayTime { get; set; } public DateTime? PayTime { get; set; }
/// <summary>
/// 签收时间。
/// </summary>
public DateTime? SignTime { get; set; } public DateTime? SignTime { get; set; }
/// <summary>
/// 是否拦截。
/// </summary>
public bool IsIntercept { get; set; } public bool IsIntercept { get; set; }
/// <summary>
/// 是否偏远。
/// </summary>
public bool IsRemote { get; set; } public bool IsRemote { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
/// <summary>
/// 创建人。
/// </summary>
public string? CreateBy { get; set; } public string? CreateBy { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary>
/// 更新人。
/// </summary>
public string? UpdateBy { get; set; } public string? UpdateBy { get; set; }
/// <summary>
/// 寄件人信息。
/// </summary>
public OrderSenderOutput? Sender { get; set; } public OrderSenderOutput? Sender { get; set; }
/// <summary>
/// 收件人信息。
/// </summary>
public OrderReceiverOutput? Receiver { get; set; } public OrderReceiverOutput? Receiver { get; set; }
/// <summary>
/// 订单内件集合。
/// </summary>
public List<OrderItemOutput> Items { get; set; } = []; public List<OrderItemOutput> Items { get; set; } = [];
/// <summary>
/// 重量明细集合。
/// </summary>
public List<OrderWeightOutput> WeightList { get; set; } = []; public List<OrderWeightOutput> WeightList { get; set; } = [];
} }

View File

@ -1,7 +1,7 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary> /// <summary>
/// 订单列表分页查询入参。 /// 订单分页查询入参。
/// </summary> /// </summary>
public class OrderPaginatedInput public class OrderPaginatedInput
{ {
@ -16,22 +16,22 @@ public class OrderPaginatedInput
public int PageSize { get; set; } = 20; public int PageSize { get; set; } = 20;
/// <summary> /// <summary>
/// 订单状态,传 <c>all</c> 或空值时表示不过滤。 /// 状态。
/// </summary> /// </summary>
public string? Status { get; set; } public string? Status { get; set; }
/// <summary> /// <summary>
/// 关键词,可匹配运单号、客户单号、跟踪号。 /// 关键词。
/// </summary> /// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
/// <summary> /// <summary>
/// 创建时间起始值。 /// 创建TimeStart。
/// </summary> /// </summary>
public DateTime? CreateTimeStart { get; set; } public DateTime? CreateTimeStart { get; set; }
/// <summary> /// <summary>
/// 创建时间结束值。 /// 创建TimeEnd。
/// </summary> /// </summary>
public DateTime? CreateTimeEnd { get; set; } public DateTime? CreateTimeEnd { get; set; }
} }

View File

@ -1,50 +1,122 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单分页列表项出参。
/// </summary>
public class OrderPaginatedOutput public class OrderPaginatedOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string ServiceNo { get; set; } = string.Empty; public string ServiceNo { get; set; } = string.Empty;
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; } public string? ClientNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; } public string? TrackNo { get; set; }
/// <summary>
/// 产品编码。
/// </summary>
public string? ProductCode { get; set; } public string? ProductCode { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string? ChannelCode { get; set; } public string? ChannelCode { get; set; }
/// <summary>
/// 收件国家/地区。
/// </summary>
public string? ConsigneeCountry { get; set; } public string? ConsigneeCountry { get; set; }
/// <summary>
/// 货物属性。
/// </summary>
public string? CargoAttribute { get; set; } public string? CargoAttribute { get; set; }
/// <summary>
/// 订单状态名称。
/// </summary>
public string OrderStatus { get; set; } = string.Empty; public string OrderStatus { get; set; } = string.Empty;
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
/// <summary>
/// 仓库名称。
/// </summary>
public string? WarehouseName { get; set; } public string? WarehouseName { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary>
/// 收货时间。
/// </summary>
public DateTime? ReceiveTime { get; set; } public DateTime? ReceiveTime { get; set; }
/// <summary>
/// 发货时间。
/// </summary>
public DateTime? ShipTime { get; set; } public DateTime? ShipTime { get; set; }
/// <summary>
/// 支付时间。
/// </summary>
public DateTime? PayTime { get; set; } public DateTime? PayTime { get; set; }
/// <summary>
/// 签收时间。
/// </summary>
public DateTime? SignTime { get; set; } public DateTime? SignTime { get; set; }
/// <summary>
/// 是否 COD。
/// </summary>
public byte IsCod { get; set; } public byte IsCod { get; set; }
/// <summary>
/// COD 币种。
/// </summary>
public string? CodCurrency { get; set; } public string? CodCurrency { get; set; }
/// <summary>
/// COD 金额。
/// </summary>
public decimal? CodSum { get; set; } public decimal? CodSum { get; set; }
/// <summary>
/// 是否拦截。
/// </summary>
public byte IsIntercept { get; set; } public byte IsIntercept { get; set; }
/// <summary>
/// 是否偏远。
/// </summary>
public byte IsRemote { get; set; } public byte IsRemote { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,54 +1,132 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单包裹入参。
/// </summary>
public class OrderParcelCreateInput public class OrderParcelCreateInput
{ {
/// <summary>
/// 请求标识。
/// </summary>
public string? RequestId { get; set; } public string? RequestId { get; set; }
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; } public string? ClientNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; } public string? TrackNo { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string? ServiceNo { get; set; } public string? ServiceNo { get; set; }
/// <summary>
/// 产品编码。
/// </summary>
public string? ProductCode { get; set; } public string? ProductCode { get; set; }
/// <summary>
/// 渠道编码。
/// </summary>
public string? ChannelCode { get; set; } public string? ChannelCode { get; set; }
/// <summary>
/// 货物属性。
/// </summary>
public string? CargoAttribute { get; set; } public string? CargoAttribute { get; set; }
/// <summary>
/// 仓库主键。
/// </summary>
public long? WarehouseId { get; set; } public long? WarehouseId { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary>
/// 长度。
/// </summary>
public decimal? Length { get; set; } public decimal? Length { get; set; }
/// <summary>
/// 宽度。
/// </summary>
public decimal? Width { get; set; } public decimal? Width { get; set; }
/// <summary>
/// 高度。
/// </summary>
public decimal? Height { get; set; } public decimal? Height { get; set; }
/// <summary>
/// 实际重量。
/// </summary>
public decimal? ActualWeight { get; set; } public decimal? ActualWeight { get; set; }
/// <summary>
/// 体积重量。
/// </summary>
public decimal? VolumetricWeight { get; set; } public decimal? VolumetricWeight { get; set; }
/// <summary>
/// 计费重量。
/// </summary>
public decimal? ChargeableWeight { get; set; } public decimal? ChargeableWeight { get; set; }
/// <summary>
/// 体积。
/// </summary>
public decimal? Cubic { get; set; } public decimal? Cubic { get; set; }
/// <summary>
/// 是否 COD。
/// </summary>
public bool IsCod { get; set; } public bool IsCod { get; set; }
/// <summary>
/// COD 币种。
/// </summary>
public string? CodCurrency { get; set; } public string? CodCurrency { get; set; }
/// <summary>
/// COD 金额。
/// </summary>
public decimal? CodSum { get; set; } public decimal? CodSum { get; set; }
/// <summary>
/// 申报币种。
/// </summary>
public string? DeclaredCurrency { get; set; } public string? DeclaredCurrency { get; set; }
/// <summary>
/// 申报金额。
/// </summary>
public decimal? DeclaredSum { get; set; } public decimal? DeclaredSum { get; set; }
/// <summary>
/// 数量。
/// </summary>
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary>
/// 收件人信息。
/// </summary>
public OrderParcelReceiverInput? Receiver { get; set; } public OrderParcelReceiverInput? Receiver { get; set; }
/// <summary>
/// 寄件人信息。
/// </summary>
public OrderParcelSenderInput? Sender { get; set; } public OrderParcelSenderInput? Sender { get; set; }
/// <summary>
/// 包裹内件集合。
/// </summary>
public List<OrderParcelItemInput> Items { get; set; } = []; public List<OrderParcelItemInput> Items { get; set; } = [];
} }

View File

@ -1,12 +1,27 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单包裹创建结果出参。
/// </summary>
public class OrderParcelCreateOutput public class OrderParcelCreateOutput
{ {
/// <summary>
/// 客户单号。
/// </summary>
public string? ClientNo { get; set; } public string? ClientNo { get; set; }
/// <summary>
/// 服务单号。
/// </summary>
public string? ServiceNo { get; set; } public string? ServiceNo { get; set; }
/// <summary>
/// 跟踪号。
/// </summary>
public string? TrackNo { get; set; } public string? TrackNo { get; set; }
/// <summary>
/// 面单地址。
/// </summary>
public string LabelUrl { get; set; } = string.Empty; public string LabelUrl { get; set; } = string.Empty;
} }

View File

@ -1,56 +1,137 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单包裹内件入参。
/// </summary>
public class OrderParcelItemInput public class OrderParcelItemInput
{ {
/// <summary>
/// 中文名称。
/// </summary>
public string? CnName { get; set; } public string? CnName { get; set; }
/// <summary>
/// 英文名称。
/// </summary>
public string? EnName { get; set; } public string? EnName { get; set; }
/// <summary>
/// SKU。
/// </summary>
public string? Sku { get; set; } public string? Sku { get; set; }
/// <summary>
/// 单位。
/// </summary>
public string? Unit { get; set; } public string? Unit { get; set; }
/// <summary>
/// 单价。
/// </summary>
public decimal? UnitPrice { get; set; } public decimal? UnitPrice { get; set; }
/// <summary>
/// 单件重量。
/// </summary>
public decimal? UnitWeight { get; set; } public decimal? UnitWeight { get; set; }
/// <summary>
/// 数量。
/// </summary>
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary>
/// 金额。
/// </summary>
public decimal? Amount { get; set; } public decimal? Amount { get; set; }
/// <summary>
/// 重量。
/// </summary>
public decimal? Weight { get; set; } public decimal? Weight { get; set; }
/// <summary>
/// 进口 HS 编码。
/// </summary>
public string? ImHsCode { get; set; } public string? ImHsCode { get; set; }
/// <summary>
/// 出口 HS 编码。
/// </summary>
public string? ExHsCode { get; set; } public string? ExHsCode { get; set; }
/// <summary>
/// SKU 图片。
/// </summary>
public string? SkuImage { get; set; } public string? SkuImage { get; set; }
/// <summary>
/// 品类。
/// </summary>
public string? Category { get; set; } public string? Category { get; set; }
/// <summary>
/// 品牌。
/// </summary>
public string? Brand { get; set; } public string? Brand { get; set; }
/// <summary>
/// 品牌类型。
/// </summary>
public string? BrandType { get; set; } public string? BrandType { get; set; }
/// <summary>
/// 是否带磁。
/// </summary>
public bool IsMagnetic { get; set; } public bool IsMagnetic { get; set; }
/// <summary>
/// 配货方式。
/// </summary>
public string? Distribution { get; set; } public string? Distribution { get; set; }
/// <summary>
/// 材质。
/// </summary>
public string? Material { get; set; } public string? Material { get; set; }
/// <summary>
/// 英文材质。
/// </summary>
public string? EnMaterial { get; set; } public string? EnMaterial { get; set; }
/// <summary>
/// 用途。
/// </summary>
public string? Purpose { get; set; } public string? Purpose { get; set; }
/// <summary>
/// 属性集合。
/// </summary>
public string? Attributes { get; set; } public string? Attributes { get; set; }
/// <summary>
/// 原产国。
/// </summary>
public string? OriginCountry { get; set; } public string? OriginCountry { get; set; }
/// <summary>
/// 销售链接。
/// </summary>
public string? SalesLink { get; set; } public string? SalesLink { get; set; }
/// <summary>
/// 型号。
/// </summary>
public string? Model { get; set; } public string? Model { get; set; }
/// <summary>
/// 规格。
/// </summary>
public string? Specifications { get; set; } public string? Specifications { get; set; }
/// <summary>
/// 备注说明。
/// </summary>
public string? Comment { get; set; } public string? Comment { get; set; }
} }

View File

@ -1,42 +1,102 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单包裹收件人入参。
/// </summary>
public class OrderParcelReceiverInput public class OrderParcelReceiverInput
{ {
/// <summary>
/// 收件人姓名。
/// </summary>
public string? RecipientsName { get; set; } public string? RecipientsName { get; set; }
/// <summary>
/// 公司名称。
/// </summary>
public string? CompanyName { get; set; } public string? CompanyName { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string? Phone { get; set; } public string? Phone { get; set; }
/// <summary>
/// 固定电话。
/// </summary>
public string? TelePhone { get; set; } public string? TelePhone { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 国家/地区代码。
/// </summary>
public int? CountryCode { get; set; } public int? CountryCode { get; set; }
/// <summary>
/// 省份。
/// </summary>
public string? Province { get; set; } public string? Province { get; set; }
/// <summary>
/// 城市。
/// </summary>
public string? City { get; set; } public string? City { get; set; }
/// <summary>
/// 门牌号。
/// </summary>
public string? StreetNumber { get; set; } public string? StreetNumber { get; set; }
/// <summary>
/// 地址第一行。
/// </summary>
public string? StreetAddress1 { get; set; } public string? StreetAddress1 { get; set; }
/// <summary>
/// 地址第二行。
/// </summary>
public string? StreetAddress2 { get; set; } public string? StreetAddress2 { get; set; }
/// <summary>
/// 地址第三行。
/// </summary>
public string? StreetAddress3 { get; set; } public string? StreetAddress3 { get; set; }
/// <summary>
/// 邮编。
/// </summary>
public string? ZipCode { get; set; } public string? ZipCode { get; set; }
/// <summary>
/// 税号类型。
/// </summary>
public int? TaxType { get; set; } public int? TaxType { get; set; }
/// <summary>
/// 税号。
/// </summary>
public string? TaxNo { get; set; } public string? TaxNo { get; set; }
/// <summary>
/// 证件类型。
/// </summary>
public int? CertificateType { get; set; } public int? CertificateType { get; set; }
/// <summary>
/// 证件号码。
/// </summary>
public string? CertificateNo { get; set; } public string? CertificateNo { get; set; }
/// <summary>
/// EORI 编号。
/// </summary>
public string? Eori { get; set; } public string? Eori { get; set; }
/// <summary>
/// VAT 编号。
/// </summary>
public string? Vat { get; set; } public string? Vat { get; set; }
} }

View File

@ -1,30 +1,72 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单包裹寄件人入参。
/// </summary>
public class OrderParcelSenderInput public class OrderParcelSenderInput
{ {
/// <summary>
/// 寄件人姓名。
/// </summary>
public string? SenderName { get; set; } public string? SenderName { get; set; }
/// <summary>
/// 公司。
/// </summary>
public string? Company { get; set; } public string? Company { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string? Phone { get; set; } public string? Phone { get; set; }
/// <summary>
/// 固定电话。
/// </summary>
public string? TelePhone { get; set; } public string? TelePhone { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 国家/地区代码。
/// </summary>
public int? CountryCode { get; set; } public int? CountryCode { get; set; }
/// <summary>
/// 省份。
/// </summary>
public string? Province { get; set; } public string? Province { get; set; }
/// <summary>
/// 城市。
/// </summary>
public string? City { get; set; } public string? City { get; set; }
/// <summary>
/// 邮编。
/// </summary>
public string? ZipCode { get; set; } public string? ZipCode { get; set; }
/// <summary>
/// 地址第一行。
/// </summary>
public string? StreetAddress1 { get; set; } public string? StreetAddress1 { get; set; }
/// <summary>
/// 地址第二行。
/// </summary>
public string? StreetAddress2 { get; set; } public string? StreetAddress2 { get; set; }
/// <summary>
/// 地址第三行。
/// </summary>
public string? StreetAddress3 { get; set; } public string? StreetAddress3 { get; set; }
/// <summary>
/// 门牌号。
/// </summary>
public string? HouseNumber { get; set; } public string? HouseNumber { get; set; }
} }

View File

@ -1,22 +1,52 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单入参。
/// </summary>
public class OrderPriceCheckInput public class OrderPriceCheckInput
{ {
/// <summary>
/// 目的国家/地区。
/// </summary>
public string DestinationCountry { get; set; } = string.Empty; public string DestinationCountry { get; set; } = string.Empty;
/// <summary>
/// 运输方式。
/// </summary>
public string? ShippingMethod { get; set; } public string? ShippingMethod { get; set; }
/// <summary>
/// 货物重量。
/// </summary>
public decimal? CargoWeight { get; set; } public decimal? CargoWeight { get; set; }
/// <summary>
/// 长度。
/// </summary>
public decimal? Length { get; set; } public decimal? Length { get; set; }
/// <summary>
/// 宽度。
/// </summary>
public decimal? Width { get; set; } public decimal? Width { get; set; }
/// <summary>
/// 高度。
/// </summary>
public decimal? Height { get; set; } public decimal? Height { get; set; }
/// <summary>
/// 货物类型。
/// </summary>
public string? CargoType { get; set; } public string? CargoType { get; set; }
/// <summary>
/// 目的省份。
/// </summary>
public string? DestinationProvince { get; set; } public string? DestinationProvince { get; set; }
/// <summary>
/// 邮编。
/// </summary>
public string? PostalCode { get; set; } public string? PostalCode { get; set; }
} }

View File

@ -1,28 +1,67 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单运费试算结果出参。
/// </summary>
public class OrderPriceCheckOutput public class OrderPriceCheckOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 运输方式。
/// </summary>
public string ShippingMethod { get; set; } = string.Empty; public string ShippingMethod { get; set; } = string.Empty;
/// <summary>
/// 仓库名称。
/// </summary>
public string? Warehouse { get; set; } public string? Warehouse { get; set; }
/// <summary>
/// 派送时效。
/// </summary>
public string DeliveryTime { get; set; } = string.Empty; public string DeliveryTime { get; set; } = string.Empty;
/// <summary>
/// 体积重量。
/// </summary>
public decimal? VolumetricWeight { get; set; } public decimal? VolumetricWeight { get; set; }
/// <summary>
/// 计费重量。
/// </summary>
public decimal? ChargeableWeight { get; set; } public decimal? ChargeableWeight { get; set; }
/// <summary>
/// 成本公式。
/// </summary>
public string CostFormula { get; set; } = string.Empty; public string CostFormula { get; set; } = string.Empty;
/// <summary>
/// 运费。
/// </summary>
public decimal Freight { get; set; } public decimal Freight { get; set; }
/// <summary>
/// 其他费用。
/// </summary>
public decimal OtherFees { get; set; } public decimal OtherFees { get; set; }
/// <summary>
/// 总成本。
/// </summary>
public decimal TotalCost { get; set; } public decimal TotalCost { get; set; }
/// <summary>
/// 最大派送天数。
/// </summary>
public int? MaxDeliveryDays { get; set; } public int? MaxDeliveryDays { get; set; }
/// <summary>
/// 总成本数值。
/// </summary>
public decimal TotalCostNum { get; set; } public decimal TotalCostNum { get; set; }
} }

View File

@ -1,6 +1,12 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单打印出参。
/// </summary>
public class OrderPrintOutput public class OrderPrintOutput
{ {
/// <summary>
/// 打印地址。
/// </summary>
public string PrintUrl { get; set; } = string.Empty; public string PrintUrl { get; set; } = string.Empty;
} }

View File

@ -1,42 +1,102 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单收件人出参。
/// </summary>
public class OrderReceiverOutput public class OrderReceiverOutput
{ {
/// <summary>
/// 收件人姓名。
/// </summary>
public string? RecipientsName { get; set; } public string? RecipientsName { get; set; }
/// <summary>
/// 公司名称。
/// </summary>
public string? CompanyName { get; set; } public string? CompanyName { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string? Phone { get; set; } public string? Phone { get; set; }
/// <summary>
/// 固定电话。
/// </summary>
public string? TelePhone { get; set; } public string? TelePhone { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 国家/地区代码。
/// </summary>
public int? CountryCode { get; set; } public int? CountryCode { get; set; }
/// <summary>
/// 省份。
/// </summary>
public string? Province { get; set; } public string? Province { get; set; }
/// <summary>
/// 城市。
/// </summary>
public string? City { get; set; } public string? City { get; set; }
/// <summary>
/// 门牌号。
/// </summary>
public string? StreetNumber { get; set; } public string? StreetNumber { get; set; }
/// <summary>
/// 地址第一行。
/// </summary>
public string? StreetAddress1 { get; set; } public string? StreetAddress1 { get; set; }
/// <summary>
/// 地址第二行。
/// </summary>
public string? StreetAddress2 { get; set; } public string? StreetAddress2 { get; set; }
/// <summary>
/// 地址第三行。
/// </summary>
public string? StreetAddress3 { get; set; } public string? StreetAddress3 { get; set; }
/// <summary>
/// 邮编。
/// </summary>
public string? ZipCode { get; set; } public string? ZipCode { get; set; }
/// <summary>
/// 税号类型。
/// </summary>
public int? TaxType { get; set; } public int? TaxType { get; set; }
/// <summary>
/// 税号。
/// </summary>
public string? TaxNo { get; set; } public string? TaxNo { get; set; }
/// <summary>
/// 证件类型。
/// </summary>
public int? CertificateType { get; set; } public int? CertificateType { get; set; }
/// <summary>
/// 证件号码。
/// </summary>
public string? CertificateNo { get; set; } public string? CertificateNo { get; set; }
/// <summary>
/// EORI 编号。
/// </summary>
public string? Eori { get; set; } public string? Eori { get; set; }
/// <summary>
/// VAT 编号。
/// </summary>
public string? Vat { get; set; } public string? Vat { get; set; }
} }

View File

@ -1,30 +1,72 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单寄件人出参。
/// </summary>
public class OrderSenderOutput public class OrderSenderOutput
{ {
/// <summary>
/// 寄件人姓名。
/// </summary>
public string? SenderName { get; set; } public string? SenderName { get; set; }
/// <summary>
/// 公司。
/// </summary>
public string? Company { get; set; } public string? Company { get; set; }
/// <summary>
/// 手机号。
/// </summary>
public string? Phone { get; set; } public string? Phone { get; set; }
/// <summary>
/// 固定电话。
/// </summary>
public string? TelePhone { get; set; } public string? TelePhone { get; set; }
/// <summary>
/// 邮箱。
/// </summary>
public string? Email { get; set; } public string? Email { get; set; }
/// <summary>
/// 国家/地区代码。
/// </summary>
public int? CountryCode { get; set; } public int? CountryCode { get; set; }
/// <summary>
/// 省份。
/// </summary>
public string? Province { get; set; } public string? Province { get; set; }
/// <summary>
/// 城市。
/// </summary>
public string? City { get; set; } public string? City { get; set; }
/// <summary>
/// 邮编。
/// </summary>
public string? ZipCode { get; set; } public string? ZipCode { get; set; }
/// <summary>
/// 地址第一行。
/// </summary>
public string? StreetAddress1 { get; set; } public string? StreetAddress1 { get; set; }
/// <summary>
/// 地址第二行。
/// </summary>
public string? StreetAddress2 { get; set; } public string? StreetAddress2 { get; set; }
/// <summary>
/// 地址第三行。
/// </summary>
public string? StreetAddress3 { get; set; } public string? StreetAddress3 { get; set; }
/// <summary>
/// 门牌号。
/// </summary>
public string? HouseNumber { get; set; } public string? HouseNumber { get; set; }
} }

View File

@ -1,24 +1,57 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单任务详情出参。
/// </summary>
public class OrderTaskDetailOutput public class OrderTaskDetailOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 任务名称。
/// </summary>
public string TaskName { get; set; } = string.Empty; public string TaskName { get; set; } = string.Empty;
/// <summary>
/// 数量。
/// </summary>
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary>
/// 成功数量。
/// </summary>
public int? SuccessCount { get; set; } public int? SuccessCount { get; set; }
/// <summary>
/// 失败数量。
/// </summary>
public int? FailCount { get; set; } public int? FailCount { get; set; }
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty; public string Status { get; set; } = string.Empty;
/// <summary>
/// 模板主键。
/// </summary>
public long? TemplateId { get; set; } public long? TemplateId { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary>
/// 失败明细集合。
/// </summary>
public List<OrderTaskFailOutput> FailList { get; set; } = []; public List<OrderTaskFailOutput> FailList { get; set; } = [];
} }

View File

@ -1,14 +1,32 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单任务失败项出参。
/// </summary>
public class OrderTaskFailOutput public class OrderTaskFailOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 任务主键。
/// </summary>
public long TaskId { get; set; } public long TaskId { get; set; }
/// <summary>
/// 行号。
/// </summary>
public int RowNumber { get; set; } public int RowNumber { get; set; }
/// <summary>
/// 失败原因。
/// </summary>
public string Reason { get; set; } = string.Empty; public string Reason { get; set; } = string.Empty;
/// <summary>
/// 原始数据 JSON。
/// </summary>
public object? RawDataJson { get; set; } public object? RawDataJson { get; set; }
} }

View File

@ -1,12 +1,27 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单任务列表查询入参。
/// </summary>
public class OrderTaskListInput public class OrderTaskListInput
{ {
/// <summary>
/// 页码,从 1 开始。
/// </summary>
public int Page { get; set; } = 1; public int Page { get; set; } = 1;
/// <summary>
/// 每页条数。
/// </summary>
public int PageSize { get; set; } = 20; public int PageSize { get; set; } = 20;
/// <summary>
/// 状态。
/// </summary>
public string? Status { get; set; } public string? Status { get; set; }
/// <summary>
/// 关键词。
/// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
} }

View File

@ -1,18 +1,42 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单任务出参。
/// </summary>
public class OrderTaskOutput public class OrderTaskOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 任务名称。
/// </summary>
public string TaskName { get; set; } = string.Empty; public string TaskName { get; set; } = string.Empty;
/// <summary>
/// 数量。
/// </summary>
public int? Quantity { get; set; } public int? Quantity { get; set; }
/// <summary>
/// 状态。
/// </summary>
public string Status { get; set; } = string.Empty; public string Status { get; set; } = string.Empty;
/// <summary>
/// 模板主键。
/// </summary>
public long? TemplateId { get; set; } public long? TemplateId { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -1,12 +1,27 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单模板列表查询入参。
/// </summary>
public class OrderTemplateListInput public class OrderTemplateListInput
{ {
/// <summary>
/// 页码,从 1 开始。
/// </summary>
public int Page { get; set; } = 1; public int Page { get; set; } = 1;
/// <summary>
/// 每页条数。
/// </summary>
public int PageSize { get; set; } = 20; public int PageSize { get; set; } = 20;
/// <summary>
/// 类型。
/// </summary>
public string? Type { get; set; } public string? Type { get; set; }
/// <summary>
/// 关键词。
/// </summary>
public string? Keyword { get; set; } public string? Keyword { get; set; }
} }

View File

@ -1,18 +1,42 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单模板出参。
/// </summary>
public class OrderTemplateOutput public class OrderTemplateOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 名称。
/// </summary>
public string Name { get; set; } = string.Empty; public string Name { get; set; } = string.Empty;
/// <summary>
/// 类型。
/// </summary>
public string Type { get; set; } = string.Empty; public string Type { get; set; } = string.Empty;
/// <summary>
/// 模板标识。
/// </summary>
public string? TemplateKey { get; set; } public string? TemplateKey { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -2,9 +2,18 @@ using Microsoft.AspNetCore.Http;
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单入参。
/// </summary>
public class OrderUploadInput public class OrderUploadInput
{ {
/// <summary>
/// 上传文件。
/// </summary>
public IFormFile File { get; set; } = null!; public IFormFile File { get; set; } = null!;
/// <summary>
/// 模板主键。
/// </summary>
public long TemplateId { get; set; } public long TemplateId { get; set; }
} }

View File

@ -1,6 +1,12 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单结果出参。
/// </summary>
public class OrderUploadOutput public class OrderUploadOutput
{ {
/// <summary>
/// 任务主键。
/// </summary>
public long TaskId { get; set; } public long TaskId { get; set; }
} }

View File

@ -1,20 +1,47 @@
namespace Oms.Application.Dtos.Orders; namespace Oms.Application.Dtos.Orders;
/// <summary>
/// 订单重量明细出参。
/// </summary>
public class OrderWeightOutput public class OrderWeightOutput
{ {
/// <summary>
/// 类型。
/// </summary>
public string Type { get; set; } = string.Empty; public string Type { get; set; } = string.Empty;
/// <summary>
/// 长度。
/// </summary>
public decimal? Length { get; set; } public decimal? Length { get; set; }
/// <summary>
/// 宽度。
/// </summary>
public decimal? Width { get; set; } public decimal? Width { get; set; }
/// <summary>
/// 高度。
/// </summary>
public decimal? Height { get; set; } public decimal? Height { get; set; }
/// <summary>
/// 实际重量。
/// </summary>
public decimal? ActualWeight { get; set; } public decimal? ActualWeight { get; set; }
/// <summary>
/// 体积重量。
/// </summary>
public decimal? VolumetricWeight { get; set; } public decimal? VolumetricWeight { get; set; }
/// <summary>
/// 计费重量。
/// </summary>
public decimal? ChargeableWeight { get; set; } public decimal? ChargeableWeight { get; set; }
/// <summary>
/// 体积。
/// </summary>
public decimal? Cubic { get; set; } public decimal? Cubic { get; set; }
} }

View File

@ -2,11 +2,20 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary>
/// 充值审核通过入参。
/// </summary>
public class ApproveRechargeInput public class ApproveRechargeInput
{ {
[Required] [Required]
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
[StringLength(512)] [StringLength(512)]
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
} }

View File

@ -1,22 +1,22 @@
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary> /// <summary>
/// 充值记录导出入参。 /// 充值导出入参。
/// </summary> /// </summary>
public class RechargeExportInput public class RechargeExportInput
{ {
/// <summary> /// <summary>
/// 客户 ID,空值表示不过滤。 /// 客户主键。
/// </summary> /// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary> /// <summary>
/// 充值时间起始值。 /// 开始时间。
/// </summary> /// </summary>
public DateTime? StartTime { get; set; } public DateTime? StartTime { get; set; }
/// <summary> /// <summary>
/// 充值时间结束值。 /// 结束时间。
/// </summary> /// </summary>
public DateTime? EndTime { get; set; } public DateTime? EndTime { get; set; }
} }

View File

@ -2,25 +2,58 @@ using Oms.Domain.RechargeAggregate.Enums;
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary>
/// 充值记录出参。
/// </summary>
public class RechargeRecordOutput public class RechargeRecordOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 序号。
/// </summary>
public string SerialNumber { get; set; } = string.Empty; public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 客户主键。
/// </summary>
public long CustomerId { get; set; } public long CustomerId { get; set; }
/// <summary>
/// 充值金额。
/// </summary>
public decimal RechargeAmount { get; set; } public decimal RechargeAmount { get; set; }
/// <summary>
/// 支付方式。
/// </summary>
public PayType PayType { get; set; } public PayType PayType { get; set; }
/// <summary>
/// 充值截图。
/// </summary>
public string? RechargeScreenshot { get; set; } public string? RechargeScreenshot { get; set; }
/// <summary>
/// 充值状态。
/// </summary>
public RechargeStatus RechargeStatus { get; set; } public RechargeStatus RechargeStatus { get; set; }
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
/// <summary>
/// 充值时间。
/// </summary>
public DateTime RechargeTime { get; set; } public DateTime RechargeTime { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
} }

View File

@ -18,27 +18,27 @@ public class RechargeRecordPaginatedInput
public int PageSize { get; set; } = 20; public int PageSize { get; set; } = 20;
/// <summary> /// <summary>
/// 客户 ID,空值表示不过滤。 /// 客户主键。
/// </summary> /// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
/// <summary> /// <summary>
/// 充值流水号,支持模糊匹配。 /// 序号。
/// </summary> /// </summary>
public string? SerialNumber { get; set; } public string? SerialNumber { get; set; }
/// <summary> /// <summary>
/// 充值审核状态,空值表示不过滤。 /// 充值状态。
/// </summary> /// </summary>
public RechargeStatus? RechargeStatus { get; set; } public RechargeStatus? RechargeStatus { get; set; }
/// <summary> /// <summary>
/// 充值时间起始值。 /// 开始时间。
/// </summary> /// </summary>
public DateTime? StartTime { get; set; } public DateTime? StartTime { get; set; }
/// <summary> /// <summary>
/// 充值时间结束值。 /// 结束时间。
/// </summary> /// </summary>
public DateTime? EndTime { get; set; } public DateTime? EndTime { get; set; }
} }

View File

@ -2,39 +2,93 @@ using Oms.Domain.RechargeAggregate.Enums;
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary>
/// 充值记录分页列表项出参。
/// </summary>
public class RechargeRecordPaginatedOutput public class RechargeRecordPaginatedOutput
{ {
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
/// <summary>
/// 客户主键。
/// </summary>
public long CustomerId { get; set; } public long CustomerId { get; set; }
/// <summary>
/// 客户编码。
/// </summary>
public string? CustomerCode { get; set; } public string? CustomerCode { get; set; }
/// <summary>
/// 客户手机号。
/// </summary>
public string? CustomerPhone { get; set; } public string? CustomerPhone { get; set; }
/// <summary>
/// 序号。
/// </summary>
public string SerialNumber { get; set; } = string.Empty; public string SerialNumber { get; set; } = string.Empty;
/// <summary>
/// 充值时间。
/// </summary>
public DateTime RechargeTime { get; set; } public DateTime RechargeTime { get; set; }
/// <summary>
/// 支付方式。
/// </summary>
public PayType PayType { get; set; } public PayType PayType { get; set; }
/// <summary>
/// 支付方式名称。
/// </summary>
public string PayTypeName { get; set; } = string.Empty; public string PayTypeName { get; set; } = string.Empty;
/// <summary>
/// 充值金额。
/// </summary>
public decimal RechargeAmount { get; set; } public decimal RechargeAmount { get; set; }
/// <summary>
/// 充值截图。
/// </summary>
public string? RechargeScreenshot { get; set; } public string? RechargeScreenshot { get; set; }
/// <summary>
/// 充值状态。
/// </summary>
public RechargeStatus RechargeStatus { get; set; } public RechargeStatus RechargeStatus { get; set; }
/// <summary>
/// 充值状态名称。
/// </summary>
public string RechargeStatusName { get; set; } = string.Empty; public string RechargeStatusName { get; set; } = string.Empty;
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
/// <summary>
/// 审核时间。
/// </summary>
public DateTime? AuditTime { get; set; } public DateTime? AuditTime { get; set; }
/// <summary>
/// 审核人。
/// </summary>
public string? AuditBy { get; set; } public string? AuditBy { get; set; }
/// <summary>
/// 创建时间。
/// </summary>
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间。
/// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
} }

View File

@ -2,11 +2,20 @@ using System.ComponentModel.DataAnnotations;
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary>
/// 充值审核驳回入参。
/// </summary>
public class RejectRechargeInput public class RejectRechargeInput
{ {
[Required] [Required]
/// <summary>
/// 主键。
/// </summary>
public long Id { get; set; } public long Id { get; set; }
[StringLength(512)] [StringLength(512)]
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
} }

View File

@ -3,19 +3,37 @@ using Oms.Domain.RechargeAggregate.Enums;
namespace Oms.Application.Dtos.Recharge; namespace Oms.Application.Dtos.Recharge;
/// <summary>
/// 充值提交入参。
/// </summary>
public class SubmitRechargeInput public class SubmitRechargeInput
{ {
/// <summary>
/// 客户主键。
/// </summary>
public long? CustomerId { get; set; } public long? CustomerId { get; set; }
[Range(typeof(decimal), "0.01", "999999999999")] [Range(typeof(decimal), "0.01", "999999999999")]
/// <summary>
/// 充值金额。
/// </summary>
public decimal RechargeAmount { get; set; } public decimal RechargeAmount { get; set; }
[Required] [Required]
/// <summary>
/// 支付方式。
/// </summary>
public PayType PayType { get; set; } public PayType PayType { get; set; }
[StringLength(255)] [StringLength(255)]
/// <summary>
/// 充值截图。
/// </summary>
public string? RechargeScreenshot { get; set; } public string? RechargeScreenshot { get; set; }
[StringLength(512)] [StringLength(512)]
/// <summary>
/// 备注。
/// </summary>
public string? Remark { get; set; } public string? Remark { get; set; }
} }

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