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.

151 lines
5.2 KiB

using BBWYB.Client.Models;
using BBWYB.Client.Models.APIModel;
using BBWYB.Client.Models.APIModel.Response.PackPurchaseTask;
using BBWYB.Common.Http;
using BBWYB.Common.Models;
using Microsoft.Extensions.Logging.Abstractions;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace BBWYB.Client.APIServices
{
public class PackPurchaseTaskService : BaseApiService, IDenpendency
{
public PackPurchaseTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext)
{
}
/// <summary>
///
/// </summary>
/// <param name="shopId">店铺Id(采购方)</param>
/// <param name="skuId">来源店铺的skuid</param>
/// <param name="originShopName">店铺来源</param>
/// <param name="skuCount">下单数量</param>
/// <param name="userName">下单人</param>
/// <param name="orderId">订单id</param>
/// <param name="Platform">采购平台</param>
/// <param name="WareHourses">分箱明细</param>
/// <param name="MarkMessage"></param>
/// <returns></returns>
public ApiResponse<long> PublicPurchaseTask(string shopId,string skuId, string originShopName,
int skuCount, string userName, string orderId, Platform Platform,
WareHourseDTO[] WareHourses,
string MarkMessage)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/PublicPurchaseTask", new
{
shopId,
skuId,
originShopName,
skuCount,
userName,
orderId,
Platform,
WareHourses,
MarkMessage
}, null, HttpMethod.Post);
}
public ApiResponse<long> UpdatePurchaseTask(UpdatePurchaseTaskRequest updatePurchaseTaskRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", updatePurchaseTaskRequest, null, HttpMethod.Post);
}
public ApiResponse<ConfigPackResponse> GetConfigPack(string skuId, string skuPurchaseSchemeId,string orderId)
{
return SendRequest<ConfigPackResponse>(globalContext.QKApiHost, "api/PackPurchaseTask/GetConfigPack", new {
skuId,
skuPurchaseSchemeId,
orderId
}
, null, HttpMethod.Post);
}
/// <summary>
///
/// </summary>
/// <param name="orderId"></param>
/// <param name="skuId"></param>
/// <param name="availability">到货情况(物流状态)(已到货 = 0,部分到货 = 1,未到货 = 2)</param>
/// <returns></returns>
public ApiResponse<long> UpdateAvailabilityState(string orderId, string skuId, int availability)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackPurchaseTask/UpdatePurchaseTask", new {
orderId,
skuId,
availability
}, null, HttpMethod.Post);
}
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
{
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel
, null, HttpMethod.Post);
}
public ApiResponse<long> SaveCer(CerRequest cerRequest)
{
return SendRequest<long>(globalContext.QKApiHost, "api/Certificate/CommitSkuCer", cerRequest
, null, HttpMethod.Post);
}
public ApiResponse<ProductSkuResponse> GetProductSku(string skuId)
{
return SendRequest<ProductSkuResponse>(globalContext.QKApiHost, $"api/PackTask/SearchProduct?skuId={skuId}&ShopId={globalContext.User.Shop.ShopId}", null, null, HttpMethod.Get);
}
public ApiResponse<bool> UpdateOrderPackState(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/UpdateOrderPackState", new {
skuId,
orderId
}, null, HttpMethod.Post);
}
public ApiResponse<bool> IsExitQikuTask(string skuId, string orderId)
{
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackPurchaseTask/IsExitQikuTask", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
public ApiResponse<PackTaskResponse> GetOrderTask(string skuId, string orderId)
{
return SendRequest<PackTaskResponse>(globalContext.QKApiHost, $"api/PackPurchaseTask/GetOrderTask", new
{
skuId,
orderId
}, null, HttpMethod.Post);
}
}
public class WareHourseDTO
{
public string WareId { get; set; }
/// <summary>
/// 仓库名称
/// </summary>
public string WareName { get; set; }
/// <summary>
/// 数量
/// </summary>
public int Count { get; set; }
}
}