using BBWY.Common.Models; using BBWY.Server.Business; using BBWY.Server.Model.Dto; using Jd.Api.Request; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using System; using System.Collections.Generic; namespace BBWY.Server.API.Controllers { [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] public class BatchPurchaseController : BaseApiController { private BatchPurchaseBusiness batchPurchaseBusiness; public BatchPurchaseController(IHttpContextAccessor httpContextAccessor, BatchPurchaseBusiness batchPurchaseBusiness) : base(httpContextAccessor) { this.batchPurchaseBusiness = batchPurchaseBusiness; } /// /// 获取包含采购方案的sku列表 /// /// /// [HttpPost] public IList GetProductSkuAndSchemeList([FromBody] SearchProductSkuAndSchemeRequest request) { return batchPurchaseBusiness.GetProductSkuAndSchemeList(request); } /// /// 预览订单价格 /// /// /// [HttpPost] public PreviewOrderResponse PreviewOrder([FromBody] BatchPurchasePreviewOrderRequest request) { return batchPurchaseBusiness.PreviewOrder(request); } /// /// 批量创建采购单 /// /// /// [HttpPost] public BatchCreareOrderResponse BatchCreateOrder([FromBody] BatchPurchaseCreateOrderRequest request) { return batchPurchaseBusiness.BatchCreateOrder(request); } /// /// 预览订单价格V2 /// /// /// [HttpPost] public PreviewOrderResponse PreviewOrderV2([FromBody] BatchPurchasePreviewOrderRequestV2 request) { return batchPurchaseBusiness.PreviewOrderV2(request); } /// /// 批量创建采购单V2 /// /// /// [HttpPost] public BatchCreareOrderResponse BatchCreateOrderV2(BatchPurchaseCreateOrderRequestV2 request) { var userId = GetUserId(); return batchPurchaseBusiness.BatchCreateOrderV2(request, userId); } /// /// 获取采购单列表 /// /// /// [HttpPost] public PurchaseOrderV2ListResponse GetPurchaseOrderList([FromBody] SearchPurchaseOrderV2Request request) { if (!httpContextAccessor.HttpContext.Request.Headers.TryGetValue("Authorization", out StringValues token)) throw new BusinessException("未获取到token"); return batchPurchaseBusiness.GetPurchaseOrderList(request, token); } /// /// 支付订单 /// /// /// [HttpPost] public void PayPurchaseOrder([FromBody] PayPurchaseOrderRequest request) { batchPurchaseBusiness.PayPurchaseOrder(request); } /// /// 取消订单 /// /// /// [HttpPost] public void CancelPurchaseOrder([FromBody] CancelPurchaseOrderRequest request) { batchPurchaseBusiness.CancelPurchaseOrder(request); } /// /// 修改采购单状态 /// /// /// [HttpPost] [AllowAnonymous] public UpdatePackStateResponse UpdatePurchaseOrderState([FromBody] UpdatePurchaseOrderStateRequest request) { return batchPurchaseBusiness.UpdatePurchaseOrderState(request); } /// /// 修改打包状态 /// /// /// [HttpPost] public UpdatePackStateResponse UpdatePackState([FromBody] UpdatePackStateRequest request) { return batchPurchaseBusiness.UpdatePackState(request); } } }