diff --git a/FunGame.WebAPI/Controllers/InventoryController.cs b/FunGame.WebAPI/Controllers/InventoryController.cs index 067b375..d9daf44 100644 --- a/FunGame.WebAPI/Controllers/InventoryController.cs +++ b/FunGame.WebAPI/Controllers/InventoryController.cs @@ -13,6 +13,306 @@ namespace Milimoe.FunGame.WebAPI.Controllers { private readonly ILogger _logger = logger; + /// + /// 获取商店内容 + /// + [HttpGet("getstore")] + public async Task GetStore(long[] ids) + { + PayloadModel response = new() + { + Event = "inventory_getstore", + RequestType = DataRequestType.Inventory_GetStore + }; + + try + { + Dictionary data = new() + { + { "ids", ids } + }; + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_GetStore, 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); + } + + /// + /// 获取市场内容 + /// + [HttpGet("getmarket")] + public async Task GetMarket(long[]? users = null, MarketItemState state = MarketItemState.Listed, long[]? items = null) + { + PayloadModel response = new() + { + Event = "inventory_getmarket", + RequestType = DataRequestType.Inventory_GetMarket + }; + + try + { + Dictionary data = new() + { + { "users", users ?? [] }, + { "state", state }, + { "items", items ?? [] } + }; + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_GetMarket, 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("storebuy")] + public async Task StoreBuy([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_storebuy", + RequestType = DataRequestType.Inventory_StoreBuy + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_StoreBuy, 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("marketbuy")] + public async Task MarketBuy([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_marketbuy", + RequestType = DataRequestType.Inventory_MarketBuy + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_MarketBuy, 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("updateinventory")] + public async Task UpdateInventory([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_updateinventory", + RequestType = DataRequestType.Inventory_UpdateInventory + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_UpdateInventory, 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("useitem")] + public async Task Use([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_use", + RequestType = DataRequestType.Inventory_Use + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_Use, 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("storesell")] + public async Task StoreSell([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_storesell", + RequestType = DataRequestType.Inventory_StoreSell + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_StoreSell, 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("marketsell")] + public async Task MarketSell([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_marketsell", + RequestType = DataRequestType.Inventory_MarketSell + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_MarketSell, 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("marketdelist")] + public async Task MarketDelist([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_marketdelist", + RequestType = DataRequestType.Inventory_MarketDelist + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_MarketDelist, 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("updatemarketprice")] + public async Task UpdateMarketPrice([FromBody] Dictionary data) + { + PayloadModel response = new() + { + Event = "inventory_updatemarketprice", + RequestType = DataRequestType.Inventory_UpdateMarketPrice + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.Inventory_UpdateMarketPrice, 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); + } + /// /// 获取交易报价 /// diff --git a/FunGame.WebAPI/Controllers/UserCenterController.cs b/FunGame.WebAPI/Controllers/UserCenterController.cs new file mode 100644 index 0000000..49cc9a1 --- /dev/null +++ b/FunGame.WebAPI/Controllers/UserCenterController.cs @@ -0,0 +1,104 @@ +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; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace Milimoe.FunGame.WebAPI.Controllers +{ + [ApiController] + [Route("[controller]")] + [Authorize] + public class UserCenterController(RESTfulAPIModel model, ILogger logger) : ControllerBase + { + private readonly ILogger _logger = logger; + + /// + /// 更新用户 + /// + [HttpPut("updateuser")] + public async Task UpdateUser(Dictionary data) + { + PayloadModel response = new() + { + Event = "user_update", + RequestType = DataRequestType.UserCenter_UpdateUser + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.UserCenter_UpdateUser, 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); + } + + /// + /// 更新密码 + /// + [HttpPut("updatepassword")] + public async Task UpdatePassword(Dictionary data) + { + PayloadModel response = new() + { + Event = "user_updatepassword", + RequestType = DataRequestType.UserCenter_UpdatePassword + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.UserCenter_UpdatePassword, 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("dailysignin")] + public async Task DailySignIn(Dictionary data) + { + PayloadModel response = new() + { + Event = "user_dailysignin", + RequestType = DataRequestType.UserCenter_DailySignIn + }; + + try + { + Dictionary result = await model.DataRequestController.GetResultData(DataRequestType.UserCenter_DailySignIn, 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); + } + } +}