feat: 实现教师资料更新、操作日志和系统设置功能
新增教师资料更新功能,包括个人信息修改和密码更新 添加操作日志记录系统,记录用户关键操作 实现系统设置模块,支持动态配置系统参数 重构数据库模型,新增教师表和系统设置表 优化成绩录入逻辑,支持平时分、期中和期末成绩计算 添加数据导出功能,支持学生、教师和成绩数据导出 完善管理员后台,增加统计图表和操作日志查看
This commit is contained in:
@@ -70,6 +70,36 @@ class AuthService {
|
||||
|
||||
return await User.updatePassword(userId, newPassword);
|
||||
}
|
||||
|
||||
static async updateProfile(userId, updateData) {
|
||||
await User.updateProfile(userId, updateData);
|
||||
const updatedUser = await User.findById(userId);
|
||||
|
||||
// 如果是学生,同步更新 students 表
|
||||
if (updatedUser.role === 'student') {
|
||||
const studentFields = [];
|
||||
const studentParams = [];
|
||||
if (updateData.name) {
|
||||
studentFields.push('name = ?');
|
||||
studentParams.push(updateData.name);
|
||||
}
|
||||
if (updateData.class) {
|
||||
studentFields.push('class = ?');
|
||||
studentParams.push(updateData.class);
|
||||
}
|
||||
if (studentFields.length > 0) {
|
||||
studentParams.push(userId);
|
||||
await db.query(`UPDATE students SET ${studentFields.join(', ')} WHERE id = ?`, studentParams);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
id: updatedUser.id,
|
||||
name: updatedUser.name,
|
||||
role: updatedUser.role,
|
||||
class: updatedUser.class
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = AuthService;
|
||||
|
||||
Reference in New Issue
Block a user