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
{
///
/// 平台SDK控制器,只能在对应的(云鼎/聚石塔等)服务器调用
///
[Produces("application/json")]
[Route("Api/[Controller]/[Action]")]
[ApiController]
public class PlatformSDKController : ControllerBase
{
private IEnumerable platformSDKBusinessList;
public PlatformSDKController(IEnumerable platformSDKBusinessList)
{
this.platformSDKBusinessList = platformSDKBusinessList;
}
///
/// 获取商家信息
///
///
///
[HttpPost]
public VenderResponse GetVenderInfo([FromBody] PlatformRequest platformRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == platformRequest.Platform).GetVenderInfo(platformRequest);
}
///
/// 获取商品列表
///
///
///
[HttpPost]
public ProductListResponse GetProductList([FromBody] SearchProductRequest searchProductRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductRequest.Platform).GetProductList(searchProductRequest);
}
///
/// 获取Sku列表
///
///
///
[HttpPost]
public IList GetProductSkuList([FromBody] SearchProductSkuRequest searchProductSkuRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductSkuRequest.Platform).GetProductSkuList(searchProductSkuRequest);
}
///
/// 获取简单Sku列表 只包含SkuId和图片
///
///
///
[HttpPost]
public IList GetSimpleProductSkuList([FromBody] SearchProductSkuRequest searchProductSkuRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchProductSkuRequest.Platform).GetSimpleProductSkuList(searchProductSkuRequest);
}
///
/// 获取订单列表
///
///
///
[HttpPost]
public IList GetOrderList([FromBody] SearchPlatformOrderRequest searchOrderRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == searchOrderRequest.Platform).GetOrderList(searchOrderRequest);
}
///
/// 解密订单收货人信息
///
///
///
[HttpPost]
public ConsigneeSimpleResponse DecryptConsignee([FromBody] DecryptConsigneeRequest decryptConsigneeRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == decryptConsigneeRequest.Platform).DecryptConsignee(decryptConsigneeRequest);
}
///
/// 修改订单备注
///
///
[HttpPost]
public void EditVenderRemark([FromBody] EditVenderRemarkRequest editVenderRemarkRequest)
{
platformSDKBusinessList.FirstOrDefault(p => p.Platform == editVenderRemarkRequest.Platform).EditVenderRemark(editVenderRemarkRequest);
}
///
/// 获取物流公司列表
///
///
///
[HttpPost]
public IList GetLogisticsList([FromBody] PlatformRequest platformRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == platformRequest.Platform).GetLogisticsList(platformRequest);
}
///
/// 出库发货
///
///
[HttpPost]
public void OutStock([FromBody]OutStockRequest outStockRequest)
{
platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest);
}
///
/// 订单预览
///
///
///
[HttpPost]
public PreviewOrderResponse PreviewOrder([FromBody]PreviewOrderReuqest previewOrderReuqest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest);
}
}
}