feat: 实现成绩管理系统核心功能

添加响应工具、错误处理中间件和数据库模型
创建用户、学生、课程和成绩相关服务
实现管理员、教师和学生控制器的基本功能
重构路由处理并优化数据库查询
This commit is contained in:
祀梦
2025-12-21 22:10:48 +08:00
parent bcf2c71fad
commit b9a975004b
20 changed files with 659 additions and 937 deletions

View File

@@ -0,0 +1,53 @@
const AdminService = require('../services/adminService');
const { success, error } = require('../utils/response');
class AdminController {
static async getUsers(req, res) {
try {
const result = await AdminService.getUsers(req.query);
success(res, result.data, '获取成功');
// 注意:原来的响应结构是 { success, data, pagination }
// 现在的 success 工具函数结构是 { success, message, data }
// 我们可以稍微调整 success 调用,或者让前端适应
// 为了兼容性,这里手动返回
/*
res.json({
success: true,
data: result.data,
pagination: result.pagination
});
*/
// 或者修改 response.js 支持 extra 字段,这里简单处理:
res.json({
success: true,
data: result.data,
pagination: result.pagination
});
} catch (err) {
console.error('Get Users Error:', err);
error(res, '服务器错误');
}
}
static async createUser(req, res) {
try {
const { id, name, password, role } = req.body;
if (!id || !name || !password || !role) {
return error(res, '请填写所有必填字段', 400);
}
await AdminService.createUser(req.body);
success(res, null, '创建用户成功');
} catch (err) {
if (err.message === '用户ID已存在') {
return error(res, err.message, 400);
}
console.error('Create User Error:', err);
error(res, '服务器错误');
}
}
}
module.exports = AdminController;