|
|
|
using BBWYB.Common.Models;
|
|
|
|
using BBWYB.Server.API.Filters;
|
|
|
|
using BBWYB.Server.Business;
|
|
|
|
using BBWYB.Server.Model.Dto;
|
|
|
|
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
|
|
namespace BBWYB.Server.API.Controllers
|
|
|
|
{
|
|
|
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
|
|
|
public class PurchaseOrderController : BaseApiController
|
|
|
|
{
|
|
|
|
private PurchaseOrderBusiness purchaseOrderBusiness;
|
|
|
|
|
|
|
|
public PurchaseOrderController(IHttpContextAccessor httpContextAccessor, PurchaseOrderBusiness purchaseOrderBusiness) : base(httpContextAccessor)
|
|
|
|
{
|
|
|
|
this.purchaseOrderBusiness = purchaseOrderBusiness;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 预览订单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost]
|
|
|
|
public PreviewOrderResponse PreviewPurchaseOrder([FromBody] PreviewOrderRequest request)
|
|
|
|
{
|
|
|
|
return purchaseOrderBusiness.PreviewPurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 创建采购单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void CreatePurchaseOrder([FromBody] CreateOrderRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.CreatePurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取关联采购单列表
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderId"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet("{orderId}")]
|
|
|
|
public IList<AssociationPurchaseOrderResponse> GetAssociationPurchaseOrderList([FromRoute] string orderId)
|
|
|
|
{
|
|
|
|
return purchaseOrderBusiness.GetAssociationPurchaseOrderList(orderId);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 关联采购单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void AssociatePurchaseOrder([FromBody] AssociationOrderRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.AssociatePurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 预览关联采购单 (自动匹配订单sku与采购金额) (不支持关联预览的采购平台将返回null)
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost]
|
|
|
|
public AssociationPurchaseOrderResponse PreviewAssocationPurchaseOrder([FromBody] AssocationPurchaseOrderPreviewRequest request)
|
|
|
|
{
|
|
|
|
return purchaseOrderBusiness.PreviewAssocationPurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 修改采购快递单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void EditPurchaseExpressOrder([FromBody] EditPurchaseExpressOrderRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.EditPurchaseExpressOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 设置历史采购单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void SetHistoryPurchaseOrder([FromBody] SetHistoryPurchaseOrderRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.SetHistoryPurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 删除历史采购单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpDelete]
|
|
|
|
public void DeletePurchaseOrder([FromBody] DeletePurchaseOrderRequest request)
|
|
|
|
{
|
|
|
|
request.IsDelete = true;
|
|
|
|
purchaseOrderBusiness.SetHistoryPurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 手动签收采购单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void SignPurchaseOrder([FromBody] SignPurchaseOrderRequest request)
|
|
|
|
{
|
|
|
|
throw new BusinessException("SignPurchaseOrder接口已经停用");
|
|
|
|
//purchaseOrderBusiness.SignPurchaseOrder(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 手动发货
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void ManualDelivery([FromBody] ManualDeliveryRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.ManualDelivery(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 设置快递单和入仓采购单(厂商代发入仓订单专用)
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void PurchaserDelivery([FromBody] PurchaserDeliveryRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.PurchaserDelivery(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 手动收货
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void ManualSign([FromBody] ManualSignRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.ManualSign(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 批量手动收货
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="request"></param>
|
|
|
|
[HttpPost]
|
|
|
|
public void BatchManualSign([FromBody] BatchManualSignRequest request)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.BatchManualSign(request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 1688回调
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="message"></param>
|
|
|
|
/// <param name="_aop_signature"></param>
|
|
|
|
[HttpPost]
|
|
|
|
[AllowAnonymous]
|
|
|
|
public void CallbackFrom1688([FromForm] string message, [FromForm] string _aop_signature)
|
|
|
|
{
|
|
|
|
purchaseOrderBusiness.CallbackFrom1688(message);
|
|
|
|
}
|
|
|
|
|
|
|
|
[Consumes("application/x-www-form-urlencoded")]
|
|
|
|
[HttpPost]
|
|
|
|
[AllowAnonymous]
|
|
|
|
public IActionResult KuaiDi100Publish([FromForm] string sign, [FromForm] string param)
|
|
|
|
{
|
|
|
|
#region 去掉本次请求的DTO格式
|
|
|
|
var filters = ControllerContext.ActionDescriptor.FilterDescriptors;
|
|
|
|
var filterToRemove = filters.FirstOrDefault(f => f.Filter.GetType() == typeof(ResultFilter));
|
|
|
|
if (filterToRemove != null)
|
|
|
|
filters.Remove(filterToRemove);
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
purchaseOrderBusiness.KuaiDi100Publish(param);
|
|
|
|
return new JsonResult(new
|
|
|
|
{
|
|
|
|
result = true,
|
|
|
|
returnCode = "200",
|
|
|
|
message = "成功"
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|