using BBWY.Server.Business; using BBWY.Server.Model; using BBWY.Server.Model.Dto; using JD.API.Filters; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Linq; namespace JD.API.API.Controllers { /// <summary> /// 平台SDK控制器,只能在对应的(云鼎/聚石塔等)服务器调用 /// </summary> [Produces("application/json")] [Route("Api/[Controller]/[Action]")] [ApiController] //[ServiceFilter(typeof(YunDingFilter))] public class PlatformSDKController : ControllerBase { private IEnumerable<PlatformSDKBusiness> platformSDKBusinessList; public PlatformSDKController(IEnumerable<PlatformSDKBusiness> platformSDKBusinessList) { this.platformSDKBusinessList = platformSDKBusinessList; } /// <summary> /// 获取商家信息 /// </summary> /// <param name="platformRequest"></param> /// <returns></returns> [HttpPost] public VenderResponse GetVenderInfo([FromBody] PlatformRequest platformRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == platformRequest.Platform).GetVenderInfo(platformRequest); } /// <summary> /// 获取商品列表 /// </summary> /// <param name="searchProductRequest"></param> /// <returns></returns> [HttpPost] public ProductListResponse GetProductList([FromBody] SearchProductRequest searchProductRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductRequest.Platform).GetProductList(searchProductRequest); } /// <summary> /// 获取Sku列表 /// </summary> /// <param name="searchProductSkuRequest"></param> /// <returns></returns> [HttpPost] public IList<ProductSkuResponse> GetProductSkuList([FromBody] SearchProductSkuRequest searchProductSkuRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductSkuRequest.Platform).GetProductSkuList(searchProductSkuRequest); } /// <summary> /// 获取简单Sku列表 只包含SkuId和图片 /// </summary> /// <param name="searchProductSkuRequest"></param> /// <returns></returns> [HttpPost] public IList<SimpleProductSkuResponse> GetSimpleProductSkuList([FromBody] SearchProductSkuRequest searchProductSkuRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductSkuRequest.Platform).GetSimpleProductSkuList(searchProductSkuRequest); } /// <summary> /// 获取订单列表 /// </summary> /// <param name="searchOrderRequest"></param> /// <returns></returns> [HttpPost] public IList<JToken> GetOrderList([FromBody] SearchPlatformOrderRequest searchOrderRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchOrderRequest.Platform).GetOrderList(searchOrderRequest); } /// <summary> /// 解密订单收货人信息 /// </summary> /// <param name="decryptConsigneeRequest"></param> /// <returns></returns> [HttpPost] public ConsigneeSimpleResponse DecryptConsignee([FromBody] DecryptConsigneeRequest decryptConsigneeRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == decryptConsigneeRequest.Platform).DecryptConsignee(decryptConsigneeRequest); } /// <summary> /// 修改订单备注 /// </summary> /// <param name="editVenderRemarkRequest"></param> [HttpPost] public void EditVenderRemark([FromBody] EditVenderRemarkRequest editVenderRemarkRequest) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == editVenderRemarkRequest.Platform).EditVenderRemark(editVenderRemarkRequest); } /// <summary> /// 获取物流公司列表 /// </summary> /// <param name="platformRequest"></param> /// <returns></returns> [HttpPost] public IList<LogisticsResponse> GetLogisticsList([FromBody] PlatformRequest platformRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == platformRequest.Platform).GetLogisticsList(platformRequest); } /// <summary> /// 获取物流单号 /// </summary> /// <param name="queryOrderWayBillNoRequest"></param> /// <returns></returns> [HttpPost] public WayBillNoResponse GetWayBillNoByOrderId(QueryOrderWayBillNoRequest queryOrderWayBillNoRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == queryOrderWayBillNoRequest.Platform).GetWayBillNoByOrderId(queryOrderWayBillNoRequest); } /// <summary> /// 出库发货 /// </summary> /// <param name="outStockRequest"></param> [HttpPost] public void OutStock([FromBody] OutStockRequest outStockRequest) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest); } /// <summary> /// 订单预览 /// </summary> /// <param name="previewOrderReuqest"></param> /// <returns></returns> [HttpPost] public PreviewOrderResponse PreviewOrder([FromBody] PreviewOrderReuqest previewOrderReuqest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest); } /// <summary> /// 获取订单简单信息 /// </summary> /// <param name="getOrderInfoRequest"></param> /// <returns></returns> [HttpPost] public OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo([FromBody] GetOrderInfoRequest getOrderInfoRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == getOrderInfoRequest.Platform).GetOrderSimpleInfo(getOrderInfoRequest); } /// <summary> /// 获取退款单列表 /// </summary> /// <param name="searchRefundPlatformOrderRequest"></param> /// <returns></returns> [HttpPost] public JArray GetRefundList([FromBody] SearchRefundPlatformOrderRequest searchRefundPlatformOrderRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchRefundPlatformOrderRequest.Platform).GetRefundList(searchRefundPlatformOrderRequest); } /// <summary> /// 获取售后订单 /// </summary> /// <param name="syncAfterOrderRequest"></param> /// <returns></returns> [HttpPost] public JArray GetAfterOrderList([FromBody] SyncAfterOrderRequest syncAfterOrderRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == syncAfterOrderRequest.Platform).GetAfterOrderList(syncAfterOrderRequest); } /// <summary> /// 获取未付款订单 /// </summary> /// <param name="searchOrderRequest"></param> /// <returns></returns> [HttpPost] public JToken GetNoPayOrder([FromBody] SearchPlatformOrderRequest searchOrderRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchOrderRequest.Platform).GetNoPayOrder(searchOrderRequest); } /// <summary> /// 查询京东推广费用 /// </summary> /// <param name="syncShopPopularizeRequest"></param> /// <returns></returns> [HttpPost] public JArray GetJDShopSopularizeRecordList([FromBody] SyncShopPopularizeRequest syncShopPopularizeRequest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == syncShopPopularizeRequest.Platform).GetJDShopSopularizeRecordList(syncShopPopularizeRequest); } /// <summary> /// 查询JD推广报表-Sku维度 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetJDSopularizeReportFormBySkuLevel([FromBody] SyncJDPopularizeReportFormRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormBySkuLevel(request); } /// <summary> /// 查询JD推广报表-创意维度 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetJDSopularizeReportFormByAdLevel([FromBody] SyncJDPopularizeReportFormRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByAdLevel(request); } /// <summary> /// 查询JD推广报表-计划维度 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetJDSopularizeReportFormByCampaignLevel([FromBody] SyncJDPopularizeReportFormRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByCampaignLevel(request); } /// <summary> /// 查询JD推广报表-单元维度 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetJDSopularizeReportFormByAdGroupLevel([FromBody] SyncJDPopularizeReportFormRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByAdGroupLevel(request); } /// <summary> /// 查询JD推广报表-订单维度 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetJDSopularizeReportFormByOrderLevel([FromBody] SyncJDPopularizeReportFormRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSopularizeReportFormByOrderLevel(request); } /// <summary> /// 获取仓库列表 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetStoreHouseList([FromBody] PlatformRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetStoreHouseList(request); } /// <summary> /// 查询单个sku库存 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetStockNumBySku([FromBody] SearchProductSkuRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetStockNumBySku(request); } /// <summary> /// 开始促销活动任务 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public StartPromotionTaskResponse StartJDPromotionTask([FromBody] StartPromotionTaskRequest2 request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).StartJDPromotionTask(request); } [HttpPost] public void StartJDPromotionDelayTask([FromBody] StartPromotionTaskDelayRequest request) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).StartJDPromotionDelayTask(request); } /// <summary> /// 删除京东活动 /// </summary> /// <param name="request"></param> [HttpPost] public void DeleteJDPromotionTask([FromBody] DeleteJDPromotionTaskRequest request) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).DeleteJDPromotionTask(request); } /// <summary> /// 删除京东活动SKU /// </summary> /// <param name="request"></param> [HttpPost] public void DeleteJDPromotionTaskSku([FromBody] DeleteJDPromotionTaskSkuRequest request) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).DeleteJDPromotionTaskSku(request); } /// <summary> /// 暂停京东活动 /// </summary> /// <param name="request"></param> [HttpPost] public void SuspendJDPromotionTask([FromBody] SuspendDPromotionTaskRequest request) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).SuspendJDPromotionTask(request); } /// <summary> /// 查询店铺客服组 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public IList<WaiterResponse> GetServiceGroupList([FromBody] PlatformRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetServiceGroupList(request); } /// <summary> /// 增量同步服务单(新) /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JArray GetServiceOrderList([FromBody] BBWY.Server.Model.Dto.QueryServiceOrderRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetServiceOrderList(request); } /// <summary> /// 查询服务单详情 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JToken GetServiceOrderDetail([FromBody] QueryServiceOrderDetailRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetServiceOrderDetail(request); } /// <summary> /// 查询服务单运单详情 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JToken GetServiceOrderDeliveryDetail([FromBody] QueryServiceOrderDetailRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetServiceOrderDeliveryDetail(request); } /// <summary> /// 获取京东入库采购单详情 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JToken GetJDInStorePurchaseOrderDetail([FromBody] GetJDInStorePurchaseOrderDetailRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDInStorePurchaseOrderDetail(request); } /// <summary> /// 获取京东供应商详情 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public JToken GetJDSupplierDetail([FromBody] GetJDSupplierDetailRequest request) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSupplierDetail(request); } } }