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; } } }