using BBWY.Server.Business; using BBWY.Server.Model.Dto; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; namespace BBWY.Server.API.Controllers { public class OrderController : BaseApiController { private OrderBusiness orderBusiness; private TaskSchedulerManager taskSchedulerManager; public OrderController(IHttpContextAccessor httpContextAccessor, OrderBusiness orderBusiness, TaskSchedulerManager taskSchedulerManager) : base(httpContextAccessor) { this.orderBusiness = orderBusiness; this.taskSchedulerManager = taskSchedulerManager; } /// /// 获取订单列表 /// /// /// [HttpPost] public OrderListResponse GetOrderList([FromBody] SearchOrderRequest searchOrderRequest) { return orderBusiness.GetOrderList(searchOrderRequest); } /// /// 解密收货人信息 /// /// /// [HttpPost] public ConsigneeSimpleResponse DecryptConsignee([FromBody] DecryptConsigneeRequest decryptConsigneeRequest) { return orderBusiness.DecryptConsignee(decryptConsigneeRequest); } /// /// 自动计算成本 /// /// [HttpPost] public void AutoCalculationCost([FromBody] AutoCalculationCostRequest autoCalculationCostRequest) { orderBusiness.AutoCalculationCost(autoCalculationCostRequest); } /// /// 手动计算成本 /// /// [HttpPost] public void ManualCalculationCost([FromBody] ManualCalculationCostRequest manualCalculationCostRequest) { orderBusiness.ManualCalculationCost(manualCalculationCostRequest); } /// /// 设置刷单成本 /// /// [HttpPost] public void SDCalculationCost([FromBody] SDCalculationCostRequest sdCalculationCostRequest) { orderBusiness.SDCalculationCost(sdCalculationCostRequest); } /// /// 关联采购单 /// /// [HttpPost] public void RelationPurchaseOrder([FromBody] RelationPurchaseOrderRequest relationPurchaseOrderRequest) { orderBusiness.RelationPurchaseOrder(relationPurchaseOrderRequest); } /// /// 出库 /// /// [HttpPost] public void OutStock([FromBody] OutStockRequest outStockRequest) { orderBusiness.OutStock(outStockRequest); } /// /// 指定时间范围的订单同步 /// /// [HttpPost] public void SyncOrderByDate([FromBody] SyncOrderByDateRequest syncOrderByDateRequest) { orderBusiness.SyncOrderByDate(syncOrderByDateRequest); } /// /// 订单同步 /// /// [HttpPost("{shopId}")] public void SyncOrder([FromRoute] long shopId) { Task.Factory.StartNew(() => orderBusiness.SyncOrder(shopId, string.Empty), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); } /// /// 订单同步 /// /// /// [HttpPost("{shopId}/{orderId}")] public void SyncOrder([FromRoute] long shopId, [FromRoute] string orderId) { Task.Factory.StartNew(() => orderBusiness.SyncOrder(shopId, orderId), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler); } } }