Files
WebWork/backend/models/Student.js
祀梦 b1da021185 feat: 实现教师资料更新、操作日志和系统设置功能
新增教师资料更新功能,包括个人信息修改和密码更新
添加操作日志记录系统,记录用户关键操作
实现系统设置模块,支持动态配置系统参数
重构数据库模型,新增教师表和系统设置表
优化成绩录入逻辑,支持平时分、期中和期末成绩计算
添加数据导出功能,支持学生、教师和成绩数据导出
完善管理员后台,增加统计图表和操作日志查看
2025-12-22 23:30:01 +08:00

40 lines
1.4 KiB
JavaScript

const db = require('../config/database');
class Student {
static async findById(id) {
const students = await db.query('SELECT * FROM students WHERE id = ?', [id]);
return students[0];
}
static async create(studentData) {
const { id, name, class: className, major, grade, contact_info } = studentData;
await db.query(
'INSERT INTO students (id, name, class, major, grade, contact_info) VALUES (?, ?, ?, ?, ?, ?)',
[id, name, className, major, grade, contact_info]
);
}
static async update(id, data) {
const fields = [];
const values = [];
if (data.name) { fields.push('name = ?'); values.push(data.name); }
if (data.class) { fields.push('class = ?'); values.push(data.class); }
if (data.major !== undefined) { fields.push('major = ?'); values.push(data.major); }
if (data.grade !== undefined) { fields.push('grade = ?'); values.push(data.grade); }
if (data.contact_info !== undefined) { fields.push('contact_info = ?'); values.push(data.contact_info); }
if (fields.length === 0) return true;
values.push(id);
const sql = `UPDATE students SET ${fields.join(', ')} WHERE id = ?`;
await db.query(sql, values);
return true;
}
static async delete(id) {
await db.query('DELETE FROM students WHERE id = ?', [id]);
}
}
module.exports = Student;