refactor(backend): 重构动物相关 API 接口

- 更新了动物数据结构和相关类型定义
- 优化了动物列表、详情、创建、更新和删除接口
- 新增了更新动物状态接口
- 移除了与认领记录相关的接口
-调整了 API 响应结构
This commit is contained in:
ylweng
2025-08-31 00:45:46 +08:00
parent 0cad74b06f
commit 8e5295b572
111 changed files with 15290 additions and 1972 deletions

View File

@@ -1,13 +1,5 @@
const mysql = require('mysql2');
// 测试环境数据库配置(先不指定数据库)
const testConfig = {
host: '192.168.0.240',
port: 3306,
user: 'root',
password: 'aiot$Aiot123'
};
// 生产环境数据库配置(先不指定数据库)
const prodConfig = {
host: '129.211.213.226',
@@ -49,74 +41,23 @@ function testConnection(config, environment) {
connection.query('SELECT VERSION() as version', (err, versionRows) => {
if (err) {
console.error('❌ 获取版本失败:', err.message);
connection.end();
return resolve({ success: false, error: err.message });
} else {
console.log('📋 数据库版本:', versionRows[0].version);
}
console.log('📋 MySQL版本:', versionRows[0].version);
// 检查所有数据库
connection.query('SHOW DATABASES', (err, databases) => {
// 列出所有数据库
connection.query('SHOW DATABASES', (err, dbRows) => {
if (err) {
console.error('❌ 获取数据库列表失败:', err.message);
connection.end();
return resolve({ success: false, error: err.message });
}
console.log('\n📋 所有数据库:');
console.log('='.repeat(40));
databases.forEach(db => {
console.log(db.Database);
});
// 检查jiebandata数据库是否存在
const jiebandataExists = databases.some(db => db.Database === 'jiebandata');
console.log(`\n📊 jiebandata数据库: ${jiebandataExists ? '✅ 存在' : '❌ 不存在'}`);
if (jiebandataExists) {
// 获取jiebandata数据库中的表
connection.query(`
SELECT TABLE_NAME, TABLE_ROWS, CREATE_TIME, UPDATE_TIME
FROM information_schema.tables
WHERE table_schema = 'jiebandata'
ORDER BY TABLE_NAME
`, (err, tables) => {
if (err) {
console.error('❌ 获取表信息失败:', err.message);
connection.end();
return resolve({ success: false, error: err.message });
}
console.log(`\n📋 jiebandata数据库中的表:`);
console.log('='.repeat(80));
console.log('表名'.padEnd(25) + '行数'.padEnd(10) + '创建时间'.padEnd(20) + '更新时间');
console.log('='.repeat(80));
if (tables.length === 0) {
console.log('暂无表');
} else {
tables.forEach(table => {
console.log(
table.TABLE_NAME.padEnd(25) +
(table.TABLE_ROWS || '0').toString().padEnd(10) +
(table.CREATE_TIME ? new Date(table.CREATE_TIME).toLocaleString() : 'N/A').padEnd(20) +
(table.UPDATE_TIME ? new Date(table.UPDATE_TIME).toLocaleString() : 'N/A')
);
});
}
// 关闭连接
connection.end();
console.log('\n✅ 连接已正常关闭');
resolve({ success: true, databaseExists: jiebandataExists, tables: tables.length });
});
} else {
// 关闭连接
connection.end();
console.log('\n✅ 连接已正常关闭');
resolve({ success: true, databaseExists: false, tables: 0 });
console.log('📚 可用数据库:');
dbRows.forEach(row => {
console.log(`${row.Database}`);
});
}
connection.end();
resolve({ success: true });
});
});
});
@@ -126,31 +67,20 @@ function testConnection(config, environment) {
async function main() {
console.log('🚀 开始测试结伴客系统数据库连接');
console.log('='.repeat(60));
console.log('============================================================');
// 测试测试环境
const testResult = await testConnection(testConfig, '测试环境');
console.log('\n' + '='.repeat(60));
// 测试生产环境
// 测试生产环境数据库
const prodResult = await testConnection(prodConfig, '生产环境');
console.log('\n' + '='.repeat(60));
console.log('📋 测试结果汇总:');
console.log('测试环境:', testResult.success ? '✅ 成功' : '❌ 失败');
console.log('生产环境:', prodResult.success ? '✅ 成功' : '❌ 失败');
console.log('\n============================================================');
console.log('🏁 数据库连接测试完成');
if (testResult.success && testResult.tables > 0) {
console.log(`测试环境表数量: ${testResult.tables}`);
}
if (prodResult.success && prodResult.tables > 0) {
console.log(`生产环境表数量: ${prodResult.tables}`);
if (prodResult.success) {
console.log('🎉 所有测试通过!');
} else {
console.log('💥 部分测试失败');
}
}
// 行测试
main().catch(console.error);
// 导出测试函数供其他模块使用
module.exports = { testConnection, testConfig, prodConfig };
// 行测试
main().catch(console.error);