using BBWYB.Client.Models; using BBWY.Common.Http; using BBWY.Common.Models; using System; 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, BelongSkuId = sku.SkuId }), 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, long purchaseAccountId, string buyerAccount, string sellerAccount, string purchaserId, decimal platformCommissionRatio, string extensions) { return SendRequest(globalContext.BBYWApiHost, "api/purchaseOrder/NewFastCreateOrder", new { purchaseOrderMode, consignee, CargoParamList = purchaseSchemeProductSkuList.Select(sku => new { ProductId = sku.PurchaseProductId, SkuId = sku.PurchaseSkuId, SpecId = sku.PurchaseSkuSpecId, Quantity = sku.ItemTotal, BelongSkuId = sku.SkuId }), Platform = purchasePlatform, AppKey = purchaseAccount.AppKey, AppSecret = purchaseAccount.AppSecret, AppToken = purchaseAccount.AppToken, SaveResponseLog = true, tradeMode, remark, orderId, shopId, purchaseAccountId, buyerAccount, sellerAccount, purchaserId, platformCommissionRatio, extensions }, null, HttpMethod.Post); } /// /// 查询审核采购单 /// /// /// /// /// public ApiResponse> GetAuditPurchaseOrderList(IList shopIdList, DateTime startDate, DateTime endDate) { return SendRequest>(globalContext.BBYWApiHost, "Api/PurchaseOrder/GetAuditPurchaseOrderList", new { startDate, endDate, shopIdList }, null, HttpMethod.Post); } } }