xcx_temp_api/ARW.WebApi/Controllers/Api/OrderManage/Orders/OrderApiController.cs
2023-10-20 00:09:32 +08:00

158 lines
5.0 KiB
C#

using Infrastructure;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Model;
using Mapster;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using ARW.Admin.WebApi.Extensions;
using ARW.Admin.WebApi.Filters;
using ARW.Common;
using ARW.Admin.WebApi.Controllers;
using ARW.Model.Dto.Api.OrderManage.Orders;
using ARW.Service.Api.IBusinessService.OrderManage.Orders;
using ARW.Model.Models.Business.OrderManage.Orders;
using ARW.Model.Vo.Api.OrderManage.Orders;
using Microsoft.AspNetCore.Authorization;
using Geocoding;
using ARW.Model.Dto.Api.Carts;
using ARW.Service.Api.IBusinessService.Carts;
using ARW.Model.Models.Business.GoodsManager.GoodsComments;
using ARW.Admin.WebApi.Framework;
using ARW.Service.Business.IBusinessService.ShopManager.Shops;
using ARW.Model.Vo.Api.GoodsManager.Goodss;
namespace ARW.WebApi.Controllers.Api.OrderManage.Orders
{
/// <summary>
/// 订单控制器Api
///
/// @author lwh
/// @date 2023-09-01
/// </summary>
[Verify]
[Route("api/[controller]")]
public class OrderApiController : BaseController
{
private readonly IOrderServiceApi _OrderServiceApi;
/// <summary>
/// 依赖注入
/// </summary>
/// <param name="OrderServiceApi">订单订单Api服务</param>
public OrderApiController(IOrderServiceApi OrderServiceApi)
{
_OrderServiceApi = OrderServiceApi;
}
/// <summary>
/// 获取订单列表(Api)
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns></returns>
[HttpGet("getOrderList")]
public async Task<IActionResult> GetOrderListApi([FromQuery] OrderQueryDtoApi parm)
{
var user = JwtUtil.GetLoginUser(App.HttpContext);
parm.CustomerGuid = user.UserId;
var res = await _OrderServiceApi.GetOrderListApi(parm);
return SUCCESS(res);
}
/// <summary>
/// 待付款取消订单
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("waitPayCancelOrder")]
[Log(Title = "待付款取消订单", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> WaitPayCancelOrder([FromBody] OrderDtoApi parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderServiceApi.WaitPayCancelOrder(parm);
return SUCCESS(res);
}
/// <summary>
/// 已付款取消订单
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("payCancelOrder")]
[Log(Title = "已付款取消订单", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> PayCancelOrder([FromBody] OrderDtoApi parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderServiceApi.PayCancelOrder(parm);
return SUCCESS(res);
}
/// <summary>
/// 确认收货
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("confirmReceipt")]
[Log(Title = "确认收货", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> ConfirmReceipt([FromBody] OrderDtoApi parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var res = await _OrderServiceApi.ConfirmReceipt(parm);
return SUCCESS(res);
}
/// <summary>
/// 评价
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("addComment")]
[Log(Title = "评价", BusinessType = BusinessType.UPDATE)]
public async Task<IActionResult> AddComment([FromBody] AddCommentDto parm)
{
if (parm == null) { throw new CustomException("请求参数错误"); }
var user = JwtUtil.GetLoginUser(App.HttpContext);
parm.CustomerGuid = user.UserId;
var modal = parm.Adapt<GoodsComment>().ToCreate(HttpContext);
var res = await _OrderServiceApi.AddComment(modal);
return SUCCESS(res);
}
/// <summary>
/// 获取Order详情(Api)
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns></returns>
[HttpGet("getOrderDetails")]
public async Task<IActionResult> GetOrderDetails([FromQuery] OrderDtoApi parm)
{
if (parm == null) throw new CustomException("参数错误!");
var res = await _OrderServiceApi.GetOrderDetails(parm);
if (res != "[]")
{
var data = res.FromJSON<OrderApiDetailsVo>();
return SUCCESS(data);
}
else
{
return SUCCESS(res);
}
}
}
}