|
|
|
using BBWY.Client.Models;
|
|
|
|
using BBWY.Common.Http;
|
|
|
|
using BBWY.Common.Models;
|
|
|
|
using System;
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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,
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
string autoPay = "fail";
|
|
|
|
return SendRequest<BatchCreareOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/BatchCreateOrder", new
|
|
|
|
{
|
|
|
|
consignee,
|
|
|
|
purchaseOrderMode,
|
|
|
|
purchaseAccountList,
|
|
|
|
productParamList,
|
|
|
|
extensions,
|
|
|
|
remark,
|
|
|
|
autoPay,
|
|
|
|
globalContext.User.Shop.ShopId,
|
|
|
|
globalContext.User.Shop.ShopName
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
public ApiResponse<PurchaseOrderV2ListResponse> GetPurchaseOrderList(string spu,
|
|
|
|
string sku,
|
|
|
|
string purchaserName,
|
|
|
|
string purchaseOrderId,
|
|
|
|
int pageIndex,
|
|
|
|
int pageSize,
|
|
|
|
DateTime startDate,
|
|
|
|
DateTime endDate,
|
|
|
|
PurchaseOrderState? purchaseOrderState)
|
|
|
|
{
|
|
|
|
return SendRequest<PurchaseOrderV2ListResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/GetPurchaseOrderList", new
|
|
|
|
{
|
|
|
|
sku,
|
|
|
|
spu,
|
|
|
|
purchaseOrderId,
|
|
|
|
globalContext.User.Shop.ShopId,
|
|
|
|
purchaserName,
|
|
|
|
purchaseOrderState,
|
|
|
|
pageIndex,
|
|
|
|
pageSize,
|
|
|
|
startDate,
|
|
|
|
endDate
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public ApiResponse<PayPurchaseOrderResponse> PayOrder(string orderId, Platform PurchasePlatform, PurchaseAccount purchaseAccount)
|
|
|
|
{
|
|
|
|
return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/PayPurchaseOrder", new
|
|
|
|
{
|
|
|
|
orderId,
|
|
|
|
Platform = purchaseAccount.PurchasePlatformId,
|
|
|
|
purchaseAccount.AppKey,
|
|
|
|
purchaseAccount.AppSecret,
|
|
|
|
purchaseAccount.AppToken,
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
public ApiResponse<PayPurchaseOrderResponse> CancelOrder(string orderId, PurchaseAccount purchaseAccount, string remark="")
|
|
|
|
{
|
|
|
|
return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/CancelPurchaseOrder", new
|
|
|
|
{
|
|
|
|
|
|
|
|
orderId,
|
|
|
|
Platform = purchaseAccount.PurchasePlatformId,
|
|
|
|
purchaseAccount.AppKey,
|
|
|
|
purchaseAccount.AppSecret,
|
|
|
|
purchaseAccount.AppToken,
|
|
|
|
remark,
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 修改打包状态
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderId"></param>
|
|
|
|
/// <param name="PackState"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public ApiResponse<PayPurchaseOrderResponse> UpdatePackMoney(string orderId, decimal PackMoney)
|
|
|
|
{
|
|
|
|
return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/UpdatePackMoney", new
|
|
|
|
{
|
|
|
|
orderId,
|
|
|
|
PackMoney
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 修改采购单状态
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderId"></param>
|
|
|
|
/// <param name="PackState"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public ApiResponse<PayPurchaseOrderResponse> UpdatePurchaseOrderState(string orderId, PurchaseOrderState PurchaseOrderState)
|
|
|
|
{
|
|
|
|
return SendRequest<PayPurchaseOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/UpdatePurchaseOrderState", new
|
|
|
|
{
|
|
|
|
orderId,
|
|
|
|
PurchaseOrderState
|
|
|
|
}, null, HttpMethod.Post);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|