You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
5.6 KiB
131 lines
5.6 KiB
using BBWY.Client.Models;
|
|
using BBWY.Common.Http;
|
|
using BBWY.Common.Models;
|
|
using System.Collections.Generic;
|
|
using System.Net.Http;
|
|
|
|
namespace BBWY.Client.APIServices
|
|
{
|
|
public class BatchPurchaseService : BaseApiService, IDenpendency
|
|
{
|
|
public BatchPurchaseService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取包含对应平台采购方案的sku列表
|
|
/// </summary>
|
|
/// <param name="sku"></param>
|
|
/// <param name="spu"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<IList<ProductSkuWithSchemeResponse>> GetProductSkuAndSchemeList(string sku, string spu)
|
|
{
|
|
return SendRequest<IList<ProductSkuWithSchemeResponse>>(globalContext.BBYWApiHost, "api/BatchPurchase/GetProductSkuAndSchemeList", new
|
|
{
|
|
globalContext.User.Shop.Platform,
|
|
globalContext.User.Shop.AppKey,
|
|
globalContext.User.Shop.AppSecret,
|
|
globalContext.User.Shop.AppToken,
|
|
globalContext.User.Shop.ShopId,
|
|
sku,
|
|
spu
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<PreviewOrderResponse> PreviewOrder(IList<ProductSkuWithScheme> productSkuWithSchemeList,
|
|
Consignee consignee,
|
|
PurchaseOrderMode purchaseOrderMode,
|
|
IList<PurchaseAccount> purchaseAccountList)
|
|
{
|
|
var productParamList = new List<object>();
|
|
foreach (var productSkuWithScheme in productSkuWithSchemeList)
|
|
{
|
|
foreach (var purchaseSchemeProductSku in productSkuWithScheme.PurchaseSchemeProductSkuList)
|
|
{
|
|
productParamList.Add(new
|
|
{
|
|
purchaseSchemeProductSku.PurchaseProductId,
|
|
purchaseSchemeProductSku.PurchaseSkuId,
|
|
PurchaseSpecId = purchaseSchemeProductSku.PurchaseSkuSpecId,
|
|
Quantity = purchaseSchemeProductSku.ItemTotal,
|
|
productSkuWithScheme.PurchaserId,
|
|
productSkuWithScheme.PurchaserName,
|
|
productSkuWithScheme.PurchasePlatform,
|
|
BelongSkuId = productSkuWithScheme.SkuId
|
|
});
|
|
}
|
|
}
|
|
|
|
return SendRequest<PreviewOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/PreviewOrder", new
|
|
{
|
|
consignee,
|
|
purchaseOrderMode,
|
|
purchaseAccountList,
|
|
productParamList
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<BatchCreareOrderResponse> CreateOrder(IList<ProductSkuWithScheme> productSkuWithSchemeList,
|
|
Consignee consignee,
|
|
PurchaseOrderMode purchaseOrderMode,
|
|
IList<PurchaseAccount> purchaseAccountList,
|
|
string extensions,
|
|
string remark)
|
|
{
|
|
|
|
/*
|
|
public string BelongSkuId { get; set; }
|
|
|
|
public string BelongProductId { get; set; }
|
|
|
|
public decimal BelongPrice { get; set; }
|
|
|
|
public string BelongSkuTitle { get; set; }
|
|
|
|
public string BelongLogo { get; set; }
|
|
|
|
public int BelongQuantity { get; set; }
|
|
|
|
public long BelongPurchaseSchemeId { get; set; }
|
|
*/
|
|
|
|
|
|
var productParamList = new List<object>();
|
|
foreach (var productSkuWithScheme in productSkuWithSchemeList)
|
|
{
|
|
foreach (var purchaseSchemeProductSku in productSkuWithScheme.PurchaseSchemeProductSkuList)
|
|
{
|
|
productParamList.Add(new
|
|
{
|
|
purchaseSchemeProductSku.PurchaseProductId,
|
|
purchaseSchemeProductSku.PurchaseSkuId,
|
|
PurchaseSpecId = purchaseSchemeProductSku.PurchaseSkuSpecId,
|
|
Quantity = purchaseSchemeProductSku.ItemTotal,
|
|
productSkuWithScheme.PurchaserId,
|
|
productSkuWithScheme.PurchaserName,
|
|
productSkuWithScheme.PurchasePlatform,
|
|
BelongSkuId = productSkuWithScheme.SkuId,
|
|
BelongProductId = productSkuWithScheme.ProductId,
|
|
BelongPrice = productSkuWithScheme.Price,
|
|
BelongSkuTitle = productSkuWithScheme.Title,
|
|
BelongLogo = productSkuWithScheme.Logo,
|
|
BelongQuantity = productSkuWithScheme.Quantity,
|
|
BelongPurchaseSchemeId = productSkuWithScheme.PurchaseSchemeId
|
|
});
|
|
}
|
|
}
|
|
|
|
return SendRequest<BatchCreareOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/BatchCreateOrder", new
|
|
{
|
|
consignee,
|
|
purchaseOrderMode,
|
|
purchaseAccountList,
|
|
productParamList,
|
|
extensions,
|
|
remark,
|
|
globalContext.User.Shop.ShopId,
|
|
globalContext.User.Shop.ShopName
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
}
|
|
}
|
|
|