using Store.Framework.Base; using Store.Framework.Models; 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(string orderId) { try { var result = _logisticsService.Buy(orderId, ""); return Ok(ApiResult.Success(result)); } catch (Exception ex) { return Ok(ApiResult.Fail(ex.Message)); } } /// /// 上传取件码 /// [HttpPost] public IHttpActionResult UploadPickup(List data) { try { var result = _logisticsService.UploadPickup(data); return Ok(result.Success ? ApiResult>.Success(result.Data, result.Msg) : ApiResult>.Fail(result.Msg, ResultCode.BusinessError, result.Data)); } 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)); } } }