步步为盈
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.

123 lines
4.3 KiB

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;
}
/// <summary>
/// 获取订单列表
/// </summary>
/// <param name="searchOrderRequest"></param>
/// <returns></returns>
[HttpPost]
public OrderListResponse GetOrderList([FromBody] SearchOrderRequest searchOrderRequest)
{
return orderBusiness.GetOrderList(searchOrderRequest);
}
/// <summary>
/// 解密收货人信息
/// </summary>
/// <param name="decryptConsigneeRequest"></param>
/// <returns></returns>
[HttpPost]
public ConsigneeSimpleResponse DecryptConsignee([FromBody] DecryptConsigneeRequest decryptConsigneeRequest)
{
return orderBusiness.DecryptConsignee(decryptConsigneeRequest);
}
/// <summary>
/// 自动计算成本
/// </summary>
/// <param name="autoCalculationCostRequest"></param>
[HttpPost]
public void AutoCalculationCost([FromBody] AutoCalculationCostRequest autoCalculationCostRequest)
{
orderBusiness.AutoCalculationCost(autoCalculationCostRequest);
}
/// <summary>
/// 手动计算成本
/// </summary>
/// <param name="manualCalculationCostRequest"></param>
[HttpPost]
public void ManualCalculationCost([FromBody] ManualCalculationCostRequest manualCalculationCostRequest)
{
orderBusiness.ManualCalculationCost(manualCalculationCostRequest);
}
/// <summary>
/// 设置刷单成本
/// </summary>
/// <param name="sdCalculationCostRequest"></param>
[HttpPost]
public void SDCalculationCost([FromBody] SDCalculationCostRequest sdCalculationCostRequest)
{
orderBusiness.SDCalculationCost(sdCalculationCostRequest);
}
/// <summary>
/// 关联采购单
/// </summary>
/// <param name="relationPurchaseOrderRequest"></param>
[HttpPost]
public void RelationPurchaseOrder([FromBody] RelationPurchaseOrderRequest relationPurchaseOrderRequest)
{
orderBusiness.RelationPurchaseOrder(relationPurchaseOrderRequest);
}
/// <summary>
/// 出库
/// </summary>
/// <param name="outStockRequest"></param>
[HttpPost]
public void OutStock([FromBody] OutStockRequest outStockRequest)
{
orderBusiness.OutStock(outStockRequest);
}
/// <summary>
/// 指定时间范围的订单同步
/// </summary>
/// <param name="syncOrderByDateRequest"></param>
[HttpPost]
public void SyncOrderByDate([FromBody] SyncOrderByDateRequest syncOrderByDateRequest)
{
orderBusiness.SyncOrderByDate(syncOrderByDateRequest);
}
/// <summary>
/// 订单同步
/// </summary>
/// <param name="shopId"></param>
[HttpPost("{shopId}")]
public void SyncOrder([FromRoute] long shopId)
{
Task.Factory.StartNew(() => orderBusiness.SyncOrder(shopId, string.Empty), System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler);
}
/// <summary>
/// 订单同步
/// </summary>
/// <param name="shopId"></param>
/// <param name="orderId"></param>
[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);
}
}
}