Browse Source

B端 订单Sku层保存来源Sku

updatebug
shanji 2 years ago
parent
commit
2bcc0d93d6
  1. 4
      BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
  2. 5
      BBWYB.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs
  3. 2
      BBWYB.Client/Views/MainWindow.xaml
  4. 24
      BBWYB.Client/Views/Order/OrderList.xaml
  5. 10
      BBWYB.Server.Business/Order/OrderBusiness.cs
  6. 9
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
  7. 10
      BBWYB.Server.Model/Db/Order/Order.cs
  8. 6
      BBWYB.Server.Model/Db/Order/OrderSku.cs

4
BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs

@ -102,10 +102,6 @@ namespace BBWYB.Client.Models
///// </summary>
//public string ExpressName { get; set; }
/// <summary>
/// 来源Sku
/// </summary>
public string SourceSku { get; set; }
/// <summary>
/// 来源店铺名

5
BBWYB.Client/Models/APIModel/Response/Order/OrderSkuResponse.cs

@ -38,5 +38,10 @@ namespace BBWYB.Client.Models
/// Sku标题
/// </summary>
public string Title { get; set; }
/// <summary>
/// 来源Sku
/// </summary>
public string BelongSkuId { get; set; }
}
}

2
BBWYB.Client/Views/MainWindow.xaml

@ -24,7 +24,7 @@
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0">
<TextBlock Text="{Binding GlobalContext.User.Name}"/>
<TextBlock Text="{Binding GlobalContext.User.Shop.ShopName}" Margin="5,0,0,0"/>
<TextBlock Text="v10011" Margin="5,0,0,0"/>
<TextBlock Text="v10012" Margin="5,0,0,0"/>
</StackPanel>
</Border>
<Grid Grid.Row="1">

24
BBWYB.Client/Views/Order/OrderList.xaml

@ -428,6 +428,28 @@
<Run Text="{Binding ItemTotal}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock Text="SPU:"/>
<c:BButton Content="{Binding ProductId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding ProductId}"
Margin=" 5,0,0,0"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal">
<TextBlock Text="QTSKU:"/>
<c:BButton Content="{Binding SkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding SkuId}"
Margin=" 5,0,0,0"/>
<TextBlock Text="JDSKU:" Margin="5,0,0,0"/>
<c:BButton Content="{Binding BelongSkuId}" Style="{StaticResource LinkButton}"
Command="{Binding DataContext.CopyTextCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Page}}}"
CommandParameter="{Binding BelongSkuId}"
Margin=" 5,0,0,0"/>
</StackPanel>
</StackPanel>
<!--<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock Text="SPU:"/>
@ -444,7 +466,7 @@
Margin=" 5,0,0,0"/>
</StackPanel>
</StackPanel>
</StackPanel>
</StackPanel>-->
</StackPanel>
<Border Grid.ColumnSpan="2" VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}"
DataContext="{Binding DataContext,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}}}"

10
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -37,10 +37,11 @@ namespace BBWYB.Server.Business
}
else
{
if (!string.IsNullOrEmpty(request.Sku) || !string.IsNullOrEmpty(request.ProductId))
if (!string.IsNullOrEmpty(request.Sku) || !string.IsNullOrEmpty(request.SourceSku) || !string.IsNullOrEmpty(request.ProductId))
{
var childSelect = fsql.Select<OrderSku>().As("osku")
.WhereIf(!string.IsNullOrEmpty(request.Sku), osku => osku.SkuId == request.Sku)
.WhereIf(!string.IsNullOrEmpty(request.SourceSku), osku => osku.BelongSkuId == request.SourceSku)
.WhereIf(!string.IsNullOrEmpty(request.ProductId), osku => osku.ProductId == request.ProductId);
select = select.Where((o, ocs, oct) => childSelect.Where(osku => osku.OrderId == o.Id).Any());
}
@ -56,8 +57,7 @@ namespace BBWYB.Server.Business
.WhereIf(request.StartDate != null, (o, ocs, oct) => o.StartTime >= request.StartDate)
.WhereIf(request.EndDate != null, (o, ocs, oct) => o.StartTime <= request.EndDate)
.WhereIf(!string.IsNullOrEmpty(request.ClientOrderId), (o, ocs, oct) => o.ClientOrderId == request.ClientOrderId)
.WhereIf(!string.IsNullOrEmpty(request.SourceShopName), (o, ocs, oct) => o.SourceShopName == request.SourceShopName)
.WhereIf(!string.IsNullOrEmpty(request.SourceSku), (o, ocs, oct) => o.SourceSku.Contains(request.SourceSku));
.WhereIf(!string.IsNullOrEmpty(request.SourceShopName), (o, ocs, oct) => o.SourceShopName == request.SourceShopName);
}
select = select.WhereIf(request.ShopId != null, (o, ocs, oct) => o.ShopId == request.ShopId);
@ -92,7 +92,7 @@ namespace BBWYB.Server.Business
PreferentialAmount = o.PreferentialAmount,
ClientOrderId = o.ClientOrderId,
SourceShopName = o.SourceShopName,
SourceSku = o.SourceSku,
//SourceSku = o.SourceSku,
//ExpressName = o.ExpressName,
IsPurchased = o.IsPurchased,
BuyerAccount = o.BuyerAccount,
@ -154,7 +154,7 @@ namespace BBWYB.Server.Business
order.OrderPurchaseInfoList = orderPurchaseInfoList.Where(op => op.OrderId == order.Id).ToList();
foreach (var purchaseOrder in order.OrderPurchaseInfoList)
{
purchaseOrder.ExpressState = orderPurchaseSkuInfoList.FirstOrDefault(x => !string.IsNullOrEmpty(x.ExpressState) &&
purchaseOrder.ExpressState = orderPurchaseSkuInfoList.FirstOrDefault(x => !string.IsNullOrEmpty(x.ExpressState) &&
x.PurchaseOrderId == purchaseOrder.PurchaseOrderId)?.ExpressState;
}
}

9
BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

@ -113,13 +113,17 @@ namespace BBWYB.Server.Business.Sync
ClientOrderId = qtOrder.ClientOrderId,
BuyerAccount = qtOrder.UserAccount
};
JArray belongSkus = null;
if (!string.IsNullOrEmpty(qtOrder.Extended))
{
try
{
var jobject = JObject.Parse(qtOrder.Extended);
dbOrder.SourceSku = jobject.Value<string>("SourceSku");
//dbOrder.SourceSku = jobject.Value<string>("SourceSku");
dbOrder.SourceShopName = jobject.Value<string>("SourceShopName");
if (jobject.ContainsKey("BelongSkus"))
belongSkus = jobject["BelongSkus"] as JArray;
}
catch (Exception ex)
{
@ -145,7 +149,8 @@ namespace BBWYB.Server.Business.Sync
Price = qtOrderSku.SkuPrice,
Title = qtOrderSku.SkuTitle,
ShopId = shopId,
ProductId = qtOrderSku.ProductId
ProductId = qtOrderSku.ProductId,
BelongSkuId = belongSkus?.FirstOrDefault(j=>j.Value<string>("SkuId") == qtOrderSku.SkuId)?.Value<string>("BelongSkuId") ?? string.Empty
});
}

10
BBWYB.Server.Model/Db/Order/Order.cs

@ -135,11 +135,11 @@ namespace BBWYB.Server.Model.Db
//[Column(StringLength = 100)]
//public string ExpressName { get; set; }
/// <summary>
/// 来源Sku
/// </summary>
[Column(StringLength = 500)]
public string SourceSku { get; set; }
///// <summary>
///// 来源Sku
///// </summary>
//[Column(StringLength = 500)]
//public string SourceSku { get; set; }
/// <summary>
/// 来源店铺名

6
BBWYB.Server.Model/Db/Order/OrderSku.cs

@ -57,6 +57,12 @@ namespace BBWYB.Server.Model.Db
[Column(StringLength = 50, IsNullable = false)]
public string SkuId { get; set; }
/// <summary>
/// 归属SkuId
/// </summary>
[Column(StringLength = 50)]
public string BelongSkuId { get; set; }
/// <summary>
/// Sku标题
/// </summary>

Loading…
Cancel
Save