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; } /// /// 预览订单 /// /// /// [HttpPost] public PreviewOrderResponse PreviewPurchaseOrder([FromBody] PreviewOrderRequest request) { return purchaseOrderBusiness.PreviewPurchaseOrder(request); } /// /// 创建采购单 /// /// [HttpPost] public void CreatePurchaseOrder([FromBody] CreateOrderRequest request) { purchaseOrderBusiness.CreatePurchaseOrder(request); } /// /// 获取关联采购单列表 /// /// /// [HttpGet("{orderId}")] public IList GetAssociationPurchaseOrderList([FromRoute] string orderId) { return purchaseOrderBusiness.GetAssociationPurchaseOrderList(orderId); } /// /// 关联采购单 /// /// [HttpPost] public void AssociatePurchaseOrder([FromBody] AssociationOrderRequest request) { purchaseOrderBusiness.AssociatePurchaseOrder(request); } /// /// 设置历史采购单 /// /// [HttpPost] public void SetHistoryPurchaseOrder([FromBody] SetHistoryPurchaseOrderRequest request) { purchaseOrderBusiness.SetHistoryPurchaseOrder(request); } /// /// 手动签收采购单 /// /// [HttpPost] public void SignPurchaseOrder([FromBody] SignPurchaseOrderRequest request) { throw new BusinessException("SignPurchaseOrder接口已经停用"); //purchaseOrderBusiness.SignPurchaseOrder(request); } /// /// 手动发货 /// /// [HttpPost] public void ManualDelivery([FromBody] ManualDeliveryRequest request) { purchaseOrderBusiness.ManualDelivery(request); } /// /// 手动收货 /// /// [HttpPost] public void ManualSign([FromBody] ManualSignRequest request) { purchaseOrderBusiness.ManualSign(request); } /// /// 1688回调 /// /// /// [HttpPost] [AllowAnonymous] public void CallbackFrom1688([FromForm] string message, [FromForm] string _aop_signature) { purchaseOrderBusiness.CallbackFrom1688(message); } [Consumes("application/x-www-form-urlencoded")] [HttpPost] 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 = "成功" }); } } }