using Oms.Application.Dtos.Channels; using Oms.Application.Dtos.Orders; using Oms.Domain.ChannelsAggregate.Entities; namespace Oms.Application.Shared; /// /// 发布快照瘦身:去掉审计时间等计费无用字段。 /// public static class PublishSnapshotSlimmer { public static SalesProductPriceSnapshotItemDto SlimPrice(SalesProductPriceListOutput price) => new() { Id = price.Id, SerialNumber = price.SerialNumber, Status = price.Status, PriceName = price.PriceName, CostItem = price.CostItem, CostUnit = price.CostUnit, Currency = price.Currency, ChargingCondition = price.ChargingCondition, Factors = price.Factors, Details = price.Details }; public static ServiceChannelPriceSnapshotItemDto SlimChannelPrice(ServiceChannelPriceListOutput price) => new() { Id = price.Id, ServiceChannelId = price.ServiceChannelId, SerialNumber = price.SerialNumber, Status = price.Status, PriceName = price.PriceName, CostItem = price.CostItem, CostUnit = price.CostUnit, Currency = price.Currency, ChargingCondition = price.ChargingCondition, Factors = price.Factors, Details = price.Details }; public static ServiceChannelPriceListOutput ToChannelPriceListOutput(ServiceChannelPriceSnapshotItemDto price) => new() { Id = price.Id, ServiceChannelId = price.ServiceChannelId, SerialNumber = price.SerialNumber, Status = price.Status, PriceName = price.PriceName, CostItem = price.CostItem, CostUnit = price.CostUnit, Currency = price.Currency, ChargingCondition = price.ChargingCondition, Factors = price.Factors, Details = price.Details }; public static SalesProductAllocationProviderSnapshotDto SlimAllocationProvider( SalesProductAllocationProviderOutput provider) => new() { Id = provider.Id, SalesProductId = provider.SalesProductId, SerialNumber = provider.SerialNumber, ProviderName = provider.ProviderName, ServiceChannelId = provider.ServiceChannelId, ServiceChannelName = provider.ServiceChannelName, Weight = provider.Weight, CustomerIds = provider.CustomerIds }; public static WeightRuleSnapshotRuleDto SlimWeightRule(WeightRuleInfo entity) => new() { Id = entity.Id, Condition = entity.Condition, BillableWeight = entity.BillableWeight, VolumetricFactor = entity.VolumetricFactor }; public static WeightRoundingSnapshotRangeDto SlimWeightRounding(WeightRoundingInfo entity) => new() { Id = entity.Id, Start = entity.StartValue, End = entity.EndValue, Public = entity.Public }; public static WeightRuleInfo ToWeightRuleEntity(WeightRuleSnapshotRuleDto rule) => new() { Id = rule.Id, Condition = rule.Condition, BillableWeight = rule.BillableWeight, VolumetricFactor = rule.VolumetricFactor }; public static WeightRoundingInfo ToWeightRoundingEntity(WeightRoundingSnapshotRangeDto range) => new() { Id = range.Id, StartValue = range.Start, EndValue = range.End, Public = range.Public }; }