using BBWY.Client.Models; using BBWY.Common.Http; using BBWY.Common.Models; using System.Collections.Generic; using System.Linq; using System.Net.Http; namespace BBWY.Client.APIServices { public class PurchaseOrderService : BaseApiService, IDenpendency { public PurchaseOrderService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) { } public ApiResponse AddPurchaseOrder(PurchaseOrder purchaseOrder) { return SendRequest(globalContext.BBYWApiHost, "api/PurchaseOrder/AddPurchaseOrder", purchaseOrder, null, HttpMethod.Post); } public ApiResponse EditPurchaseOrder(PurchaseOrder purchaseOrder) { return SendRequest(globalContext.BBYWApiHost, "api/PurchaseOrder/EditPurchaseOrder", purchaseOrder, null, HttpMethod.Put); } public ApiResponse> GetList(IList skuIdList, StorageType storageType, long shopId) { return SendRequest>(globalContext.BBYWApiHost, "api/PurchaseOrder/GetList", new { SkuIdList = skuIdList, StorageType = storageType, ShopId = shopId }, null, HttpMethod.Post); } public ApiResponse DeletePurchaseOrder(long id) { return SendRequest(globalContext.BBYWApiHost, $"api/purchaseOrder/deletePurchaseOrder/{id}", null, null, HttpMethod.Delete); } /// /// 预览订单 /// /// /// /// public ApiResponse PreviewPurchaseOrder(Consignee consignee, IList purchaseSchemeProductSkuList, Platform purchasePlatform, PurchaseAccount purchaseAccount, PurchaseOrderMode purchaseOrderMode) { return SendRequest(globalContext.BBYWApiHost, "api/purchaseOrder/PreviewPurchaseOrder", new { purchaseOrderMode, consignee, CargoParamList = purchaseSchemeProductSkuList.Select(sku => new { ProductId = sku.PurchaseProductId, SkuId = sku.PurchaseSkuId, SpecId = sku.PurchaseSkuSpecId, Quantity = sku.ItemTotal }), Platform = purchasePlatform, AppKey = purchaseAccount.AppKey, AppSecret = purchaseAccount.AppSecret, AppToken = purchaseAccount.AppToken, SaveResponseLog = true }, null, HttpMethod.Post); } /// /// 创建采购单 /// /// /// /// /// /// /// /// /// /// /// /// public ApiResponse FastCreateOrder(Consignee consignee, IList purchaseSchemeProductSkuList, Platform purchasePlatform, PurchaseAccount purchaseAccount, PurchaseOrderMode purchaseOrderMode, string tradeMode, string remark, string orderId, long shopId, string buyerAccount, string sellerAccount) { return SendRequest(globalContext.BBYWApiHost, "api/purchaseOrder/FastCreateOrder", new { purchaseOrderMode, consignee, CargoParamList = purchaseSchemeProductSkuList.Select(sku => new { ProductId = sku.PurchaseProductId, SkuId = sku.PurchaseSkuId, SpecId = sku.PurchaseSkuSpecId, Quantity = sku.ItemTotal }), Platform = purchasePlatform, AppKey = purchaseAccount.AppKey, AppSecret = purchaseAccount.AppSecret, AppToken = purchaseAccount.AppToken, SaveResponseLog = true, tradeMode, remark, orderId, shopId, buyerAccount, sellerAccount }, null, HttpMethod.Post); } } }