feat: 实现教师资料更新、操作日志和系统设置功能
新增教师资料更新功能,包括个人信息修改和密码更新 添加操作日志记录系统,记录用户关键操作 实现系统设置模块,支持动态配置系统参数 重构数据库模型,新增教师表和系统设置表 优化成绩录入逻辑,支持平时分、期中和期末成绩计算 添加数据导出功能,支持学生、教师和成绩数据导出 完善管理员后台,增加统计图表和操作日志查看
This commit is contained in:
38
backend/models/Teacher.js
Normal file
38
backend/models/Teacher.js
Normal file
@@ -0,0 +1,38 @@
|
||||
const db = require('../config/database');
|
||||
|
||||
class Teacher {
|
||||
static async findById(id) {
|
||||
const teachers = await db.query('SELECT * FROM teachers WHERE id = ?', [id]);
|
||||
return teachers[0];
|
||||
}
|
||||
|
||||
static async create(teacherData) {
|
||||
const { id, name, department, title, contact_info } = teacherData;
|
||||
await db.query(
|
||||
'INSERT INTO teachers (id, name, department, title, contact_info) VALUES (?, ?, ?, ?, ?)',
|
||||
[id, name, department, title, contact_info]
|
||||
);
|
||||
}
|
||||
|
||||
static async update(id, data) {
|
||||
const fields = [];
|
||||
const values = [];
|
||||
if (data.name) { fields.push('name = ?'); values.push(data.name); }
|
||||
if (data.department) { fields.push('department = ?'); values.push(data.department); }
|
||||
if (data.title !== undefined) { fields.push('title = ?'); values.push(data.title); }
|
||||
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 teachers SET ${fields.join(', ')} WHERE id = ?`;
|
||||
await db.query(sql, values);
|
||||
return true;
|
||||
}
|
||||
|
||||
static async delete(id) {
|
||||
await db.query('DELETE FROM teachers WHERE id = ?', [id]);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Teacher;
|
||||
Reference in New Issue
Block a user