using BBWYB.Server.Business;
using BBWYB.Server.Model.Dto;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;

namespace BBWYB.Server.API.Controllers
{
    [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
    public class OrderMessageController : BaseApiController
    {
        private OrderMessageBusiness orderMessageBusiness;

        public OrderMessageController(IHttpContextAccessor httpContextAccessor, OrderMessageBusiness orderMessageBusiness) : base(httpContextAccessor)
        {
            this.orderMessageBusiness = orderMessageBusiness;
        }

        /// <summary>
        /// 新增订单留言
        /// </summary>
        /// <param name="request"></param>
        [HttpPost]
        public void AddOrderMessage([FromBody] AddOrderMessageRequest request)
        {
            var token = GetToken();
            var clientCode = GetClientCode();
            orderMessageBusiness.AddOrderMessage(request, token, clientCode);
        }

        /// <summary>
        /// 查询订单留言
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        [HttpGet("{orderId}")]
        public IList<OrderMessageResponse> GetOrderMessageList([FromRoute] string orderId)
        {
            return orderMessageBusiness.GetOrderMessageList(orderId);
        }

        /// <summary>
        /// 批量查询订单留言
        /// </summary>
        /// <param name="orderIds"></param>
        /// <returns></returns>
        [HttpPost]
        public IList<OrderMessageResponse> GetOrdersMessageList([FromBody]string[] orderIds)
        {
            return orderMessageBusiness.GetOrderMessageList(orderIds);
        }
    }
}