using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.SQLScript.Entity; using Milimoe.FunGame.WebAPI.Models; namespace Milimoe.FunGame.WebAPI.Controllers { [ApiController] [Route("[controller]")] [Authorize] public class InventoryController(RESTfulAPIModel model, ILogger logger) : ControllerBase { private readonly ILogger _logger = logger; /// /// 获取交易报价 /// [HttpGet("getoffer")] public async Task GetOffer([FromQuery] long offerId) { PayloadModel response = new() { Event = "inventory_getoffer", RequestType = DataRequestType.Inventory_GetOffer }; try { Dictionary data = new() { { OffersQuery.Column_Id, offerId }, { "apiQuery", true } }; Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_GetOffer, data); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } /// /// 创建交易报价 /// [HttpPost("makeoffer")] public async Task MakeOffer([FromBody] Dictionary data) { PayloadModel response = new() { Event = "inventory_makeoffer", RequestType = DataRequestType.Inventory_MakeOffer }; try { Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_MakeOffer, data); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } /// /// 修改交易报价 /// [HttpPost("reviseoffer")] public async Task ReviseOffer([FromBody] Dictionary data) { PayloadModel response = new() { Event = "inventory_reviseoffer", RequestType = DataRequestType.Inventory_ReviseOffer }; try { Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_ReviseOffer, data); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } /// /// 回应交易报价 /// [HttpPost("respondoffer")] public async Task RespondOffer([FromBody] Dictionary data) { PayloadModel response = new() { Event = "inventory_respondoffer", RequestType = DataRequestType.Inventory_RespondOffer }; try { Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_RespondOffer, data); response.StatusCode = 200; response.Data = result; return Ok(response); } catch (Exception e) { _logger.LogError("Error: {e}", e); } response.StatusCode = 500; response.Message = "服务器暂时无法处理此请求。"; return StatusCode(500, response); } } }