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
oms表结构与接口设计2026040802.md = oms表结构与接口设计2026040802.md
.gitignore = .gitignore
.dockerignore = .dockerignore
EndProjectSection
EndProject
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;
/// <summary>
/// 自动触发分页查询入参。
/// 自动触发规则列表查询入参。
/// </summary>
public class AutoTriggerListInput
{
@ -16,7 +16,7 @@ public class AutoTriggerListInput
public int PageSize { get; set; }
/// <summary>
/// 触发操作类型。
/// 操作类型。
/// </summary>
public string? Operation { get; set; }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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