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.
166 lines
7.2 KiB
166 lines
7.2 KiB
using BBWYB.Client.Models;
|
|
using BBWYB.Common.Http;
|
|
using BBWYB.Common.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net.Http;
|
|
|
|
namespace BBWYB.Client.APIServices
|
|
{
|
|
public class PurchaseOrderService : BaseApiService, IDenpendency
|
|
{
|
|
public PurchaseOrderService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
|
|
{
|
|
|
|
}
|
|
|
|
public ApiResponse<object> AddPurchaseOrder(PurchaseOrder purchaseOrder)
|
|
{
|
|
return SendRequest<object>(globalContext.BBYWApiHost,
|
|
"api/PurchaseOrder/AddPurchaseOrder",
|
|
purchaseOrder,
|
|
null,
|
|
HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<object> EditPurchaseOrder(PurchaseOrder purchaseOrder)
|
|
{
|
|
return SendRequest<object>(globalContext.BBYWApiHost,
|
|
"api/PurchaseOrder/EditPurchaseOrder",
|
|
purchaseOrder,
|
|
null,
|
|
HttpMethod.Put);
|
|
}
|
|
|
|
public ApiResponse<IList<PurchaseOrderResponse>> GetList(IList<string> skuIdList, StorageType storageType, long shopId)
|
|
{
|
|
return SendRequest<IList<PurchaseOrderResponse>>(globalContext.BBYWApiHost,
|
|
"api/PurchaseOrder/GetList",
|
|
new { SkuIdList = skuIdList, StorageType = storageType, ShopId = shopId },
|
|
null,
|
|
HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<object> DeletePurchaseOrder(long id)
|
|
{
|
|
return SendRequest<object>(globalContext.BBYWApiHost,
|
|
$"api/purchaseOrder/deletePurchaseOrder/{id}",
|
|
null,
|
|
null,
|
|
HttpMethod.Delete);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 预览订单
|
|
/// </summary>
|
|
/// <param name="consignee"></param>
|
|
/// <param name="purchaseSchemeProductSkuList"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<PreviewOrderResponse> PreviewPurchaseOrder(Consignee consignee, IList<PurchaseSchemeProductSku> purchaseSchemeProductSkuList, Platform purchasePlatform, PurchaseAccount purchaseAccount, PurchaseOrderMode purchaseOrderMode)
|
|
{
|
|
return SendRequest<PreviewOrderResponse>(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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建采购单
|
|
/// </summary>
|
|
/// <param name="consignee"></param>
|
|
/// <param name="purchaseSchemeProductSkuList"></param>
|
|
/// <param name="purchasePlatform"></param>
|
|
/// <param name="purchaseAccount"></param>
|
|
/// <param name="purchaseOrderMode"></param>
|
|
/// <param name="tradeMode"></param>
|
|
/// <param name="remark"></param>
|
|
/// <param name="orderId"></param>
|
|
/// <param name="shopId"></param>
|
|
/// <param name="purchaseAccountId"></param>
|
|
/// <param name="buyerAccount"></param>
|
|
/// <param name="sellerAccount"></param>
|
|
/// <param name="purchaserId"></param>
|
|
/// <param name="platformCommissionRatio"></param>
|
|
/// <param name="extensions"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<object> FastCreateOrder(Consignee consignee,
|
|
IList<PurchaseSchemeProductSku> 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<object>(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);
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 查询审核采购单
|
|
/// </summary>
|
|
/// <param name="shopIdList"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<IList<AuditPurchaseOrderResponse>> GetAuditPurchaseOrderList(IList<long> shopIdList, DateTime startDate, DateTime endDate)
|
|
{
|
|
return SendRequest<IList<AuditPurchaseOrderResponse>>(globalContext.BBYWApiHost, "Api/PurchaseOrder/GetAuditPurchaseOrderList", new
|
|
{
|
|
startDate,
|
|
endDate,
|
|
shopIdList
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
}
|
|
}
|
|
|