ql_apimanager_backend/Apimanager_backend/Controllers/OrderController.cs

49 lines
1.7 KiB
C#

using Apimanager_backend.Dtos;
using Apimanager_backend.Models;
using Apimanager_backend.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Apimanager_backend.Controllers
{
[Route("api/[controller][action]")]
[ApiController]
public class OrderController:ControllerBase
{
private IOrderService _orderService;
private ILogger<OrderController> _logger;
public OrderController(IOrderService orderService,ILogger<OrderController> logger)
{
_orderService = orderService;
_logger = logger;
}
//获取全部订单列表
[HttpGet]
[Authorize(Roles = "Admin")]
public async Task<ActionResult<ResponseBase<List<Order>>>> GetOrders(int pageIndex,int pageSize,bool desc)
{
var orderList = await _orderService.GetOrdersAsync(pageIndex,pageSize,desc, null);
var responseData = new ResponseBase<List<Order>>(
code:1000,
message:"Success",
data:orderList
);
return Ok(responseData);
}
//获取个人订单列表
[HttpGet]
[Authorize(Roles = "User")]
public async Task<ActionResult<ResponseBase<List<Order>>>> GetMyOrders(int pageIndex,int pageSize,bool desc)
{
string userId = User.Claims.First(x => x.Type == "userId").Value;
var orderList = await _orderService.GetOrdersAsync(pageIndex,pageSize,desc,int.Parse(userId));
var responseData = new ResponseBase<List<Order>>(
code:1000,
data:orderList,
message:"Success"
);
return Ok(responseData);
}
}
}