diff --git a/BBWY.Client/APIServices/PurchaseOrderService.cs b/BBWY.Client/APIServices/PurchaseOrderService.cs
index 6e323e9e..cfda899b 100644
--- a/BBWY.Client/APIServices/PurchaseOrderService.cs
+++ b/BBWY.Client/APIServices/PurchaseOrderService.cs
@@ -124,12 +124,13 @@ namespace BBWY.Client.APIServices
SkuId = sku.PurchaseSkuId,
SpecId = sku.PurchaseSkuSpecId,
Quantity = sku.ItemTotal,
- BelongSkuId = sku.SkuId
+ BelongSkuId = sku.SkuId,
+ SchemeId = sku.SkuPurchaseSchemeId
}),
Platform = purchasePlatform,
- AppKey = purchaseAccount.AppKey,
- AppSecret = purchaseAccount.AppSecret,
- AppToken = purchaseAccount.AppToken,
+ purchaseAccount.AppKey,
+ purchaseAccount.AppSecret,
+ purchaseAccount.AppToken,
SaveResponseLog = true,
tradeMode,
remark,
diff --git a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs
index 212e8e4c..c83a6db6 100644
--- a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs
+++ b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs
@@ -17,6 +17,8 @@ namespace BBWY.Client.Models
private bool isEditing;
private string searchPurchaseSkuName;
+ public long SkuPurchaseSchemeId { get; set; }
+
///
/// 采购商品和采购方案的关系Id
///
@@ -80,7 +82,8 @@ namespace BBWY.Client.Models
ProductId = apiModel.ProductId,
SkuId = apiModel.SkuId,
PurchaseProductId = apiModel.PurchaseProductId,
- PurchaseUrl = apiModel.PurchaseUrl
+ PurchaseUrl = apiModel.PurchaseUrl,
+ SkuPurchaseSchemeId = apiModel.SkuPurchaseSchemeId
};
model.SelectedSkuIdList.AddRange(apiModel.PurchaseSchemeProductSkuList.Select(s => s.PurchaseSkuId));
return model;
diff --git a/BBWY.Client/Models/Product/Purchaser.cs b/BBWY.Client/Models/Product/Purchaser.cs
index 5f766231..7c8e4580 100644
--- a/BBWY.Client/Models/Product/Purchaser.cs
+++ b/BBWY.Client/Models/Product/Purchaser.cs
@@ -25,6 +25,10 @@ namespace BBWY.Client.Models
public string Location { get; set; }
public Platform Platform { get; set; }
+
+ public decimal DefaultCost { get; set; }
+
+ public DateTime? LastPurchaseTime { get; set; }
}
public class PurchaserComparer : IEqualityComparer
diff --git a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs
index eb7321e4..fef1fb33 100644
--- a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs
+++ b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs
@@ -182,6 +182,7 @@ namespace BBWY.Client.ViewModels
{
foreach (var purchaseSchemeProductSku in data.Value.purchaseSchemeProductSkus)
{
+ purchaseSchemeProductSku.SkuPurchaseSchemeId = purchaseSchemeProduct.SkuPurchaseSchemeId;
if (purchaseSchemeProduct.SelectedSkuIdList.Any(s => s == purchaseSchemeProductSku.PurchaseSkuId))
{
PurchaseSchemeProductSkuList.Add(purchaseSchemeProductSku);
diff --git a/BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml b/BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml
index 8cc31e9a..ab0b91b6 100644
--- a/BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml
+++ b/BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml
@@ -7,7 +7,7 @@
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
- Title="ChoosePurchaseScheme" Height="200" Width="600"
+ Title="ChoosePurchaseScheme" Height="200" Width="800"
Style="{StaticResource bwstyle}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed"
@@ -39,6 +39,11 @@
ElementStyle="{StaticResource middleTextBlock}"/>
+
+
diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index c2ba10c9..8b0dadaa 100644
--- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -138,6 +138,8 @@ namespace BBWY.Server.Business
var deletePurchaseOrder = fsql.Delete().Where(po => oldPourchaseIdList.Contains(po.Id));
var deleteOrderCostDetail = fsql.Delete().Where(ocd => ocd.OrderId == dbOrder.Id);
var isRepurchase = fsql.Select(dbOrder.Id).Any();
+ var orderSkus = fsql.Select().Where(osku => osku.Price != 0 && osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList();
+ var orderSkuIds = orderSkus.Select(osku => osku.Id).ToList();
#region 合并重复的采购sku
var repeatPurchaseSkuGroups = createOnlinePurchaseOrderRequest.CargoParamList.GroupBy(p => p.SkuId).ToList();
@@ -160,8 +162,9 @@ namespace BBWY.Server.Business
}
#endregion
- var orderSkus = fsql.Select().Where(osku => osku.Price != 0 && osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList();
- var orderSkuIds = orderSkus.Select(osku => osku.Id).ToList();
+
+ List updatePurchaseTimeSchemeIdList = new List();
+ updatePurchaseTimeSchemeIdList.AddRange(createOnlinePurchaseOrderRequest.CargoParamList.Select(p => p.SchemeId).Distinct());
var createOrderResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == createOnlinePurchaseOrderRequest.Platform)
.FastCreateOrder(createOnlinePurchaseOrderRequest);
@@ -332,6 +335,8 @@ namespace BBWY.Server.Business
fsql.Update().Set(osku => osku.OrderDropShippingId, orderDropShipping.Id)
.Where(osku => orderSkuIds.Contains(osku.Id))
.ExecuteAffrows();
+ if (updatePurchaseTimeSchemeIdList.Count() > 0)
+ fsql.Update(updatePurchaseTimeSchemeIdList).Set(p => p.LastPurchaseTime, DateTime.Now).ExecuteAffrows();
});
}
diff --git a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
index df803f71..0ffc722f 100644
--- a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
+++ b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
@@ -271,7 +271,7 @@ namespace BBWY.Server.Business
Platform = purchasePlatform
});
-
+ List updatePurchaseTimeSchemeIdList = productParamList.Select(p => p.BelongPurchaseSchemeId).Distinct().ToList();
List insertPurchaseOrderSkuList = new List();
foreach (var belongSkuGroup in belongSkuGroups)
@@ -337,6 +337,7 @@ namespace BBWY.Server.Business
fsql.Insert(purchaseOrderV2).ExecuteAffrows();
//fsql.Insert(purchaseOrderSku).ExecuteAffrows();
fsql.Insert(insertPurchaseOrderSkuList).ExecuteAffrows();
+ fsql.Update(updatePurchaseTimeSchemeIdList).Set(p => p.LastPurchaseTime, DateTime.Now).ExecuteAffrows();
});
successSkuIdList.AddRange(belongSkuGroups.Select(g => g.Key));
}
diff --git a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
index eaf0dcfc..5633fc6b 100644
--- a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
+++ b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
@@ -161,7 +161,8 @@ namespace BBWY.Server.Business
DefaultCost = ps.DefaultCost,
RealCost = ps.RealCost,
CreateTime = ps.CreateTime,
- PurchasePlatform = ps.PurchasePlatform
+ PurchasePlatform = ps.PurchasePlatform,
+ LastPurchaseTime = ps.LastPurchaseTime
});
if (purchaseSchemeList.Count > 0)
@@ -219,7 +220,17 @@ namespace BBWY.Server.Business
if (sharePurchaserIdList.Count == 0)
return null;
- return fsql.Select().Where(p => sharePurchaserIdList.Contains(p.Id)).ToList();
+ var purchaserList = fsql.Select().Where(p => sharePurchaserIdList.Contains(p.Id)).ToList();
+ foreach (var p in purchaserList)
+ {
+ var scheme = purchaseSchemeList.FirstOrDefault(ps=>ps.PurchaserId == p.Id);
+ if (scheme != null)
+ {
+ p.DefaultCost = scheme.DefaultCost;
+ p.LastPurchaseTime = scheme.LastPurchaseTime;
+ }
+ }
+ return purchaserList;
}
public void DeletePurchaser(DeletePurchaseSchemeRequest deletePurchaseSchemeRequest)
diff --git a/BBWY.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs b/BBWY.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
index e4514feb..904fd071 100644
--- a/BBWY.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
+++ b/BBWY.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs
@@ -49,6 +49,11 @@ namespace BBWY.Server.Model.Db
[Column(MapType = typeof(int), DbType = "int(1)")]
public Enums.Platform PurchasePlatform { get; set; }
+ ///
+ /// 最后采购时间
+ ///
+ public DateTime? LastPurchaseTime { get; set; }
+
[Column(IsIgnore = true)]
public List PurchaseSchemeProductList { get; set; }
}
diff --git a/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs b/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs
index 88fb9cbf..28f6b5bc 100644
--- a/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs
+++ b/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs
@@ -1,4 +1,5 @@
using FreeSql.DataAnnotations;
+using System;
namespace BBWY.Server.Model.Db
{
@@ -34,6 +35,11 @@ namespace BBWY.Server.Model.Db
[Column(MapType = typeof(int?))]
public Enums.Platform? Platform { get; set; }
+ [Column(IsIgnore = true)]
+ public decimal DefaultCost { get; set; }
+
+ [Column(IsIgnore = true)]
+ public DateTime? LastPurchaseTime { get; set; }
}
}
diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrder/OnlinePurchase/CargoParamRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrder/OnlinePurchase/CargoParamRequest.cs
index 1327199a..174f0b0d 100644
--- a/BBWY.Server.Model/Dto/Request/PurchaseOrder/OnlinePurchase/CargoParamRequest.cs
+++ b/BBWY.Server.Model/Dto/Request/PurchaseOrder/OnlinePurchase/CargoParamRequest.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace BBWY.Server.Model.Dto
+namespace BBWY.Server.Model.Dto
{
public class CargoParamRequest
{
@@ -21,5 +17,10 @@ namespace BBWY.Server.Model.Dto
/// 订单SkuId
///
public string BelongSkuId { get; set; }
+
+ ///
+ /// 采购方案Id
+ ///
+ public long SchemeId { get; set; }
}
}