using BBWYB.Server.Business;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace BBWYB.Server.API.Controllers
{

    public class DataRepairController : BaseApiController
    {
        private DataRepairBusiness dataRepairBusiness;

        public DataRepairController(IHttpContextAccessor httpContextAccessor, DataRepairBusiness dataRepairBusiness) : base(httpContextAccessor)
        {
            this.dataRepairBusiness = dataRepairBusiness;
        }

        [HttpPost]
        public void RepairPurchaseExpressOrder()
        {
            dataRepairBusiness.RepairPurchaseExpressOrder();
        }

        [HttpPost]
        public void ClearCancelOrderData()
        {
            dataRepairBusiness.ClearCancelOrderData();
        }

        /// <summary>
        /// 手动订阅快递100
        /// </summary>
        /// <param name="waybillNo"></param>
        /// <param name="targetCompanyCode"></param>
        [HttpPost("{waybillNo}/{targetCompanyCode}")]
        public void SubscribeKD100([FromRoute] string waybillNo, [FromRoute] string targetCompanyCode)
        {
            dataRepairBusiness.SubscribeKD100(waybillNo, targetCompanyCode);
        }

        /// <summary>
        /// 修复订单状态
        /// </summary>
        /// <param name="orderId"></param>
        [HttpPost("{orderId}")]
        public void RepairOrderState([FromRoute] string orderId)
        {
            dataRepairBusiness.RepairOrderState(orderId);
        }

        /// <summary>
        /// 修复订单状态
        /// </summary>
        /// <param name="orderId"></param>
        [HttpPost]
        public void BatchRepairOrderState([FromBody] IList<string> orderIds)
        {
            foreach (var orderId in orderIds)
                dataRepairBusiness.RepairOrderState(orderId);
        }
    }
}