using Store.Framework.Base;
using Store.Framework.Models;
using Store.SyncLogistics.Dtos;
using Store.VirtualLogistics.Apis;
using Store.VirtualLogistics.Entitys;
using Store.VirtualLogistics.Models;
using Store.VirtualLogistics.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
namespace Store.VirtualLogistics.Controllers;
[RoutePrefix("wxxd_vlc")]
[Route("{action}")]
public class LogisticsController : ApiControllerBase
{
private readonly VirtualLogisticsService _logisticsService;
public LogisticsController(VirtualLogisticsService logisticsService)
{
_logisticsService = logisticsService;
}
///
/// 获取账户余额
///
[HttpPost]
[HttpGet]
public IHttpActionResult GetUserMoney()
{
ApiResultBase ret = ApiResult.Fail();
try
{
var money = _logisticsService.GetUserMoney();
ret = ApiResult.Success(money);
}
catch (Exception ex)
{
ret = ApiResult.Fail(ex.Message);
}
return Ok(ret);
}
///
/// 获取快递列表
///
[HttpPost]
public IHttpActionResult GetExpressList()
{
try
{
var list = _logisticsService.GetExpressList();
return Ok(ApiResult.Success(list));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
///
/// 获取仓库列表及价格
///
[HttpPost]
public IHttpActionResult GetCangList()
{
try
{
var list = _logisticsService.GetCangList();
return Ok(ApiResult.Success(list));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
///
/// 获取礼品列表及价格
///
[HttpPost]
public IHttpActionResult GetGoodsList(string kuaidiId = null)
{
try
{
var list = _logisticsService.GetGoodsList(kuaidiId);
return Ok(ApiResult.Success(list));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
///
/// 购买快递
///
[HttpPost]
public IHttpActionResult Buy(BuyLogisticsRequest request)
{
try
{
string orderId = request.OrderId;
string agentOrderId = request.AgentOrderId;
var result = _logisticsService.Buy(request.UserName, orderId, agentOrderId);
return Ok(ApiResult.Success(result));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
///
/// 上传取件码
///
[HttpPost]
public IHttpActionResult UploadPickup(PickupRequest request)
{
try
{
var result = _logisticsService.UploadPickup(request.UserName, request.OrderId, request.PickupCode);
return Ok(ApiResult.Success(result));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
[HttpPost]
public IHttpActionResult GetSyncLogistics(string orderId)
{
try
{
var result = _logisticsService.GetSyncLogistics(orderId);
return Ok(ApiResult.Success(result));
}
catch (Exception ex)
{
return Ok(ApiResult.Fail(ex.Message));
}
}
}