初始化
Some checks failed
Some checks failed
This commit is contained in:
@@ -68,87 +68,32 @@ public class TestController : ControllerBase
|
||||
}
|
||||
|
||||
[HttpGet("categories")]
|
||||
public async Task<IActionResult> GetCategories()
|
||||
{
|
||||
try
|
||||
public async Task<IActionResult> GetCategories()
|
||||
{
|
||||
var categories = new List<object>();
|
||||
|
||||
using var connection = new MySql.Data.MySqlClient.MySqlConnection(
|
||||
"Server=localhost;Database=HardwarePerformance;User=root;Password=123456;");
|
||||
await connection.OpenAsync();
|
||||
|
||||
using var cmd = new MySql.Data.MySqlClient.MySqlCommand("SELECT * FROM Categories", connection);
|
||||
using var reader = await cmd.ExecuteReaderAsync();
|
||||
|
||||
while (await reader.ReadAsync())
|
||||
try
|
||||
{
|
||||
categories.Add(new
|
||||
{
|
||||
Id = reader.GetInt32("Id"),
|
||||
Name = reader.GetString("Name"),
|
||||
Description = reader.IsDBNull("Description") ? null : reader.GetString("Description"),
|
||||
CreatedAt = reader.GetDateTime("CreatedAt")
|
||||
});
|
||||
var categories = await _context.GetCategoriesAsync();
|
||||
return Ok(new { success = true, data = categories });
|
||||
}
|
||||
|
||||
return Ok(categories);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "获取类别列表时发生错误");
|
||||
return StatusCode(500, new
|
||||
catch (Exception ex)
|
||||
{
|
||||
Message = $"获取类别列表时发生错误: {ex.Message}",
|
||||
Timestamp = DateTime.Now
|
||||
});
|
||||
_logger.LogError(ex, "获取类别列表时发生错误");
|
||||
return StatusCode(500, new { success = false, message = ex.Message });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("products")]
|
||||
public async Task<IActionResult> GetProducts()
|
||||
{
|
||||
try
|
||||
public async Task<IActionResult> GetProducts([FromQuery] int categoryId = 0, [FromQuery] int page = 1, [FromQuery] int pageSize = 10)
|
||||
{
|
||||
var products = new List<object>();
|
||||
|
||||
using var connection = new MySql.Data.MySqlClient.MySqlConnection(
|
||||
"Server=localhost;Database=HardwarePerformance;User=root;Password=123456;");
|
||||
await connection.OpenAsync();
|
||||
|
||||
using var cmd = new MySql.Data.MySqlClient.MySqlCommand(
|
||||
@"SELECT p.*, c.Name as CategoryName
|
||||
FROM Products p
|
||||
LEFT JOIN Categories c ON p.CategoryId = c.Id", connection);
|
||||
using var reader = await cmd.ExecuteReaderAsync();
|
||||
|
||||
while (await reader.ReadAsync())
|
||||
try
|
||||
{
|
||||
products.Add(new
|
||||
{
|
||||
Id = reader.GetInt32("Id"),
|
||||
Name = reader.GetString("Name"),
|
||||
Model = reader.IsDBNull("Model") ? null : reader.GetString("Model"),
|
||||
Manufacturer = reader.IsDBNull("Manufacturer") ? null : reader.GetString("Manufacturer"),
|
||||
ImageUrl = reader.IsDBNull("ImageUrl") ? null : reader.GetString("ImageUrl"),
|
||||
ReleaseDate = reader.IsDBNull("ReleaseDate") ? (DateTime?)null : reader.GetDateTime("ReleaseDate"),
|
||||
CategoryId = reader.IsDBNull("CategoryId") ? (int?)null : reader.GetInt32("CategoryId"),
|
||||
CategoryName = reader.IsDBNull("CategoryName") ? null : reader.GetString("CategoryName"),
|
||||
CurrentRank = reader.IsDBNull("CurrentRank") ? (int?)null : reader.GetInt32("CurrentRank"),
|
||||
CreatedAt = reader.GetDateTime("CreatedAt")
|
||||
});
|
||||
var products = await _context.GetProductsAsync(categoryId, page, pageSize);
|
||||
return Ok(new { success = true, data = products });
|
||||
}
|
||||
|
||||
return Ok(products);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "获取产品列表时发生错误");
|
||||
return StatusCode(500, new
|
||||
catch (Exception ex)
|
||||
{
|
||||
Message = $"获取产品列表时发生错误: {ex.Message}",
|
||||
Timestamp = DateTime.Now
|
||||
});
|
||||
_logger.LogError(ex, "获取产品列表时发生错误");
|
||||
return StatusCode(500, new { success = false, message = ex.Message });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user