using BBWY.Server.Business; using BBWY.Server.Model.Dto; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System.Collections.Generic; using System.Linq; namespace BBWY.Server.API.Controllers { /// <summary> /// 平台SDK控制器,只能在对应的(云鼎/聚石塔等)服务器调用 /// </summary> [Produces("application/json")] [Route("Api/[Controller]/[Action]")] [ApiController] 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="outStockRequest"></param> [HttpPost] public void OutStock(OutStockRequest outStockRequest) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest); } } }