using BBWY.Server.Model;
using BBWY.Server.Model.Dto;
using Microsoft.Extensions.Caching.Memory;
using Newtonsoft.Json.Linq;
using NLog;
using System;
using System.Collections.Generic;

namespace BBWY.Server.Business
{
    public class PlatformSDKBusiness
    {
        protected IMemoryCache memoryCache;

        protected TimeSpan expirationTimeSpan;

        /// <summary>
        /// 产品平台
        /// </summary>
        public virtual Enums.Platform Platform { get; }

        protected NLogManager nLogManager;

        public PlatformSDKBusiness(IMemoryCache memoryCache, NLogManager nLogManager)
        {
            this.memoryCache = memoryCache;
            this.nLogManager = nLogManager;
            this.expirationTimeSpan = TimeSpan.FromMinutes(60);
        }

        public virtual ProductListResponse GetProductList(SearchProductRequest searchProductRequest)
        {
            throw new NotImplementedException();
        }

        public virtual IList<ProductSkuResponse> GetProductSkuList(SearchProductSkuRequest searchProductSkuRequest)
        {
            throw new NotImplementedException();
        }

        public virtual IList<SimpleProductSkuResponse> GetSimpleProductSkuList(SearchProductSkuRequest searchProductSkuRequest)
        {
            throw new NotImplementedException();
        }

        public virtual ProductCategoryResponse GetCategoryInfo(JDQueryCategoryRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual IList<JToken> GetOrderList(SearchPlatformOrderRequest searchOrderRequest)
        {
            throw new NotImplementedException();
        }

        public virtual VenderResponse GetVenderInfo(PlatformRequest platformRequest)
        {
            throw new NotImplementedException();
        }

        public virtual ConsigneeSimpleResponse DecryptConsignee(DecryptConsigneeRequest decryptConsigneeRequest)
        {
            throw new NotImplementedException();
        }

        public virtual void EditVenderRemark(EditVenderRemarkRequest editVenderRemarkRequest)
        {
            throw new NotImplementedException();
        }

        public virtual IList<LogisticsResponse> GetLogisticsList(PlatformRequest platformRequest)
        {
            throw new NotImplementedException();
        }

        public virtual WayBillNoResponse GetWayBillNoByOrderId(QueryOrderWayBillNoRequest queryOrderWayBillNoRequest)
        {
            throw new NotImplementedException();
        }

        public virtual void OutStock(OutStockRequest outStockRequest)
        {
            throw new NotImplementedException();
        }

        public virtual PreviewOrderResponse PreviewOrder(PreviewOrderReuqest previewOrderReuqest)
        {
            throw new NotImplementedException();
        }

        public virtual PayPurchaseOrderResponse PayPurchaseOrder(PayPurchaseOrderRequest payPurchaseOrderRequest)
        {
            throw new NotImplementedException();
        }
        public virtual CancelPurchaseOrderResponse CancelPurchaseOrder(CancelPurchaseOrderRequest request)
        {
            throw new NotImplementedException();
        }
        public virtual CreateOnlinePurchaseOrderResponse FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// 获取订单简单信息
        /// </summary>
        /// <param name="getOrderInfoRequest"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public virtual OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetRefundList(SearchRefundPlatformOrderRequest searchRefundPlatformOrderRequest) { throw new NotImplementedException(); }

        public virtual JArray GetAfterOrderList(SyncAfterOrderRequest syncAfterOrderRequest) { throw new NotImplementedException(); }

        public virtual JToken GetNoPayOrder(SearchPlatformOrderRequest searchOrderRequest)
        {
            throw new NotImplementedException();
        }



        public virtual JArray GetJDShopSopularizeRecordList(SyncShopPopularizeRequest syncShopPopularizeRequest)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetJDSopularizeReportFormBySkuLevel(SyncJDPopularizeReportFormRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetJDSopularizeReportFormByAdLevel(SyncJDPopularizeReportFormRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetJDSopularizeReportFormByCampaignLevel(SyncJDPopularizeReportFormRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetJDSopularizeReportFormByAdGroupLevel(SyncJDPopularizeReportFormRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetJDSopularizeReportFormByOrderLevel(SyncJDPopularizeReportFormRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetStoreHouseList(PlatformRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray JDQueryWareHouse(JDQueryWareHouseRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetStockNumBySku(SearchProductSkuRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual StartPromotionTaskResponse StartJDPromotionTask(StartPromotionTaskRequest2 request)
        {
            throw new NotImplementedException();
        }

        public virtual void StartJDPromotionDelayTask(StartPromotionTaskDelayRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual void DeleteSku(DeleteSkuRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual void DeleteSkuList(DeleteSkuListRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual void DeleteJDPromotionTask(DeleteJDPromotionTaskRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual void DeleteJDPromotionTaskSku(DeleteJDPromotionTaskSkuRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual void SuspendJDPromotionTask(SuspendDPromotionTaskRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual IList<WaiterResponse> GetServiceGroupList(PlatformRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JArray GetServiceOrderList(QueryServiceOrderRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JToken GetServiceOrderDetail(QueryServiceOrderDetailRequest request)
        {
            throw new NotImplementedException();
        }

        public virtual JToken GetServiceOrderDeliveryDetail(QueryServiceOrderDetailRequest request)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// 获取京东入库采购单详情
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public virtual JToken GetJDInStorePurchaseOrderDetail(GetJDInStorePurchaseOrderDetailRequest request)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// 获取京东供应商信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public virtual JToken GetJDSupplierDetail(GetJDSupplierDetailRequest request)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// 获取入库采购单列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public virtual IList<JDInStoreOrderDetail> GetJDInStorePurchaseOrderList(GetJDInStorePurchaseOrderListRequest request)
        {
            throw new NotImplementedException();
        }
    }
}