diff --git a/BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs b/BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs index 2e7c3e23..c03b1f40 100644 --- a/BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PurchaseSchemeResponse.cs @@ -17,6 +17,10 @@ namespace BBWY.Client.Models public string PurchaserId { get; set; } public string PurchaserName { get; set; } /// + /// 发货地 + /// + public string PurchaserLocation { get; set; } + /// /// 采购实际成本 /// public decimal? RealCost { get; set; } diff --git a/BBWY.Client/Models/Product/PurchaseScheme.cs b/BBWY.Client/Models/Product/PurchaseScheme.cs index cf36c023..46a34d68 100644 --- a/BBWY.Client/Models/Product/PurchaseScheme.cs +++ b/BBWY.Client/Models/Product/PurchaseScheme.cs @@ -21,6 +21,7 @@ namespace BBWY.Client.Models public string PurchaserId { get; set; } public string PurchaserName { get; set; } + public string PurchaserLocation { get; set; } public string PurchaseProductId1 { get; set; } public int PurchaseProductSkuCount1 { get; set; } public string PurchaseProductId2 { get; set; } @@ -40,6 +41,12 @@ namespace BBWY.Client.Models PurchaseSchemeProductList = new ObservableCollection(); } + /// + /// 是否转换方案中已选中的sku + /// + /// + /// + /// public static PurchaseScheme Convert(PurchaseSchemeResponse apiModel) { var model = new PurchaseScheme() @@ -50,7 +57,8 @@ namespace BBWY.Client.Models DefaultCost = apiModel.DefaultCost ?? 0, RealCost = apiModel.RealCost ?? 0, PurchaserId = apiModel.PurchaserId, - PurchaserName = apiModel.PurchaserName + PurchaserName = apiModel.PurchaserName, + PurchaserLocation = apiModel.PurchaserLocation }; foreach (var apiProduct in apiModel.PurchaseSchemeProductList) diff --git a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs index 29d05303..08701acf 100644 --- a/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs +++ b/BBWY.Client/Models/Product/PurchaseSchemeProduct.cs @@ -48,6 +48,12 @@ namespace BBWY.Client.Models SelectedSkuIdList = new List(); } + /// + /// + /// + /// + /// 是否转换方案中已选的sku + /// public static PurchaseSchemeProduct Convert(PurchaseSchemeProductResponse apiModel) { var model = new PurchaseSchemeProduct() diff --git a/BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs b/BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs index ab101a94..b10ecd14 100644 --- a/BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs +++ b/BBWY.Client/Models/Product/PurchaseSchemeProductSku.cs @@ -13,7 +13,7 @@ private bool isSelected; public bool IsSelected { get => isSelected; set { Set(ref isSelected, value); } } - public double Price { get; set; } + public decimal Price { get; set; } /// /// Sku标题 diff --git a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs index cf7f7058..041ad975 100644 --- a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs +++ b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs @@ -28,6 +28,7 @@ namespace BBWY.Client.ViewModels public Product Product { get; set; } public string PurchaserId { get; set; } public string PurchaserName { get => purchaserName; set { Set(ref purchaserName, value); } } + public string PurchaserLocation { get; set; } public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } #endregion @@ -113,9 +114,9 @@ namespace BBWY.Client.ViewModels ewh.Set(); ewh.Dispose(); }); - WaitHandle.WaitAll(waitList.ToArray()); - IsLoading = false; } + WaitHandle.WaitAll(waitList.ToArray()); + IsLoading = false; }); } } @@ -129,7 +130,7 @@ namespace BBWY.Client.ViewModels }); if (skuList == null) - skuList = LoadPurchaseProductCore(purchaseSchemeProduct.PurchaseProductId, out _, out _, out _, null); + skuList = LoadPurchaseProductCore(purchaseSchemeProduct.PurchaseProductId, out _, out _, out _, out _, null); if (skuList == null) return; @@ -151,11 +152,13 @@ namespace BBWY.Client.ViewModels out string errorMsg, out string purchaserId, out string purchaserName, + out string purchaserLocation, Func checkPurchaserFunc) { errorMsg = string.Empty; purchaserId = string.Empty; purchaserName = string.Empty; + purchaserLocation = string.Empty; //1688商品详情接口 var response = oneBoundAPIService.GetProductInfo("1688", purchseProductId); if (!response.Success) @@ -168,7 +171,7 @@ namespace BBWY.Client.ViewModels var jobject = response.Data; purchaserId = jobject["item"]["seller_info"].Value("user_num_id"); purchaserName = jobject["item"]["seller_info"].Value("title"); - + purchaserLocation = jobject["item"].Value("location"); if (checkPurchaserFunc != null) { errorMsg = checkPurchaserFunc(purchaserId); @@ -193,7 +196,7 @@ namespace BBWY.Client.ViewModels //ProductId = Product.Id, //SkuId = purchaseSchemeProduct.SkuId, PurchaseProductId = purchseProductId, - Price = j.Value("price"), + Price = j.Value("price"), PurchaseSkuId = j.Value("sku_id"), PurchaseSkuSpecId = j.Value("spec_id"), Title = j.Value("properties_name"), @@ -289,6 +292,7 @@ namespace BBWY.Client.ViewModels out string errorMsg, out string purchaserId, out string purchaserName, + out string purchaserLocation, (p) => { if (sku.PurchaseSchemeList.Any(s => s.PurchaserId == p)) @@ -311,7 +315,7 @@ namespace BBWY.Client.ViewModels PurchaserId = purchaserId; PurchaserName = purchaserName; - + PurchaserLocation = purchaserLocation; purchaseSchemeProduct.PurchaseUrl = purchaseUrl; purchaseSchemeProduct.PurchaseProductId = purchaseProductId; @@ -341,6 +345,9 @@ namespace BBWY.Client.ViewModels var productSku = Product.SkuList.FirstOrDefault(sku => sku.Id == purchaseSchemeProduct.SkuId); productSku.SelectedPurchaseScheme.PurchaserId = PurchaserId; productSku.SelectedPurchaseScheme.PurchaserName = PurchaserName; + productSku.SelectedPurchaseScheme.PurchaserLocation = PurchaserLocation; + productSku.SelectedPurchaseScheme.DefaultCost = productSku.SelectedPurchaseScheme.PurchaseSchemeProductList.Sum(p => p.PurchaseSchemeProductSkuList.Count() == 0 ? 0 : p.PurchaseSchemeProductSkuList.Sum(s => s.Price)); + } private void EditPurchaseProduct(PurchaseSchemeProduct purchaseSchemeProduct) diff --git a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 4f6ccd49..50e2cca0 100644 --- a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -21,7 +21,7 @@ namespace BBWY.Server.Business foreach (var scheme in purchaserSchemeList) { if (newPurchaserIdList.Any(p => p == scheme.PurchaserId) && !addPurchaserList.Any(p => p.Id == scheme.PurchaserId)) - addPurchaserList.Add(new Purchaser() { Id = scheme.PurchaserId, Name = scheme.PurchaserName }); + addPurchaserList.Add(new Purchaser() { Id = scheme.PurchaserId, Name = scheme.PurchaserName, Location = scheme.PurchaserLocation }); } } @@ -131,6 +131,7 @@ namespace BBWY.Server.Business ShopId = ps.ShopId, PurchaserId = p.Id, PurchaserName = p.Name, + PurchaserLocation = p.Location, DefaultCost = ps.DefaultCost, RealCost = ps.RealCost, CreateTime = ps.CreateTime diff --git a/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs b/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs index 83c0bb4b..6040c374 100644 --- a/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs +++ b/BBWY.Server.Model/Db/PurchaseScheme/Purchaser.cs @@ -7,20 +7,27 @@ namespace BBWY.Server.Model.Db /// 采购商表 /// [Table(Name = "purchaser", DisableSyncStructure = true)] - public partial class Purchaser { + public partial class Purchaser + { - /// - /// 采购商Id - /// - [Column(StringLength = 20, IsPrimary = true, IsNullable = false)] - public string Id { get; set; } + /// + /// 采购商Id + /// + [Column(StringLength = 20, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } - /// - /// 采购商名称 - /// - [Column(StringLength = 50)] - public string Name { get; set; } + /// + /// 采购商名称 + /// + [Column(StringLength = 50)] + public string Name { get; set; } - } + /// + /// 发货地 + /// + [Column(StringLength = 50)] + public string Location { get; set; } + + } } diff --git a/BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs index 2dd0cf59..fa7b3df8 100644 --- a/BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs +++ b/BBWY.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs @@ -20,6 +20,10 @@ namespace BBWY.Server.Model.Dto /// public string PurchaserId { get; set; } public string PurchaserName { get; set; } + /// + /// 采购商发货地 + /// + public string PurchaserLocation { get; set; } public IList PurchaseSchemeProductList { get; set; } } } diff --git a/BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs index 2970e871..c3e963d5 100644 --- a/BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs +++ b/BBWY.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeResponse.cs @@ -6,6 +6,8 @@ namespace BBWY.Server.Model.Dto { public string PurchaserName { get; set; } + public string PurchaserLocation { get; set; } + public new List PurchaseSchemeProductList { get; set; } public PurchaseSchemeResponse()