员工管理与选课关联开发

完成员工管理功能开发,耗时 1 天,累计耗时 3 天,剩余 7 天。核心进展:

实现管理员端员工列表查询,展示员工基本信息和已选课程。
开发员工删除功能,添加业务校验:若员工存在有效选课记录(active=true),则禁止删除。
通过EmployeeCourseRepository查询员工选课记录,优化关联查询性能。
遇到的困难
事务管理问题:删除员工时未使用事务,导致删除操作与选课记录校验不同步。通过在服务层方法添加@Transactional注解,确保数据一致性。
前端数据展示:员工选课记录多列展示时布局混乱,通过 CSS 网格(grid-template-columns)和卡片式设计(course-card)优化 UI。
今天的任务(第 4 天)
开发试卷管理模块,设计试卷实体ExamPaper,实现试卷发布、删除和内容展示。
建立试卷与课程的关联,为后续考试功能做准备。
核心代码示例
员工删除服务逻辑(AdminService.java)
@Transactional
public void deleteEmployee(Integer id) {
// 校验员工是否存在选课记录
if (employeeCourseRepository.existsByEmployeeId(id)) {
throw new ServiceException("员工存在有效选课记录,无法删除");
}
userRepository.deleteById(id);
}

员工管理前端页面(employee.html)

用户名 已选课程 操作
(授课教师:)
未选择任何课程
员工选课关联查询(EmployeeCourseRepository.java) @Query("SELECT ec FROM EmployeeCourse ec JOIN FETCH ec.course WHERE ec.employee.id IN :employeeIds") List findWithCoursesByEmployeeIds(@Param("employeeIds") List employeeIds);
posted @ 2025-04-23 18:02  霸王鸡  阅读(21)  评论(0)    收藏  举报