refactor: 替换 Lesson 状态魔法值为 LessonStatus 枚举
- 将 LessonServiceImpl 中所有状态魔法值替换为 LessonStatus 枚举 - 提升代码可维护性和类型安全
This commit is contained in:
parent
f90037dd17
commit
79e90410dd
@ -10,11 +10,13 @@ import com.reading.platform.dto.request.LessonCreateRequest;
|
|||||||
import com.reading.platform.dto.request.LessonUpdateRequest;
|
import com.reading.platform.dto.request.LessonUpdateRequest;
|
||||||
import com.reading.platform.dto.request.LessonProgressRequest;
|
import com.reading.platform.dto.request.LessonProgressRequest;
|
||||||
import com.reading.platform.dto.request.StudentRecordRequest;
|
import com.reading.platform.dto.request.StudentRecordRequest;
|
||||||
|
import com.reading.platform.common.enums.LessonStatus;
|
||||||
import com.reading.platform.entity.Lesson;
|
import com.reading.platform.entity.Lesson;
|
||||||
import com.reading.platform.entity.LessonFeedback;
|
import com.reading.platform.entity.LessonFeedback;
|
||||||
import com.reading.platform.entity.SchedulePlan;
|
import com.reading.platform.entity.SchedulePlan;
|
||||||
import com.reading.platform.entity.StudentRecord;
|
import com.reading.platform.entity.StudentRecord;
|
||||||
import com.reading.platform.mapper.LessonFeedbackMapper;
|
import com.reading.platform.mapper.LessonFeedbackMapper;
|
||||||
|
import com.reading.platform.mapper.CoursePackageMapper;
|
||||||
import com.reading.platform.mapper.LessonMapper;
|
import com.reading.platform.mapper.LessonMapper;
|
||||||
import com.reading.platform.mapper.SchedulePlanMapper;
|
import com.reading.platform.mapper.SchedulePlanMapper;
|
||||||
import com.reading.platform.mapper.StudentRecordMapper;
|
import com.reading.platform.mapper.StudentRecordMapper;
|
||||||
@ -41,6 +43,7 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
private final StudentRecordMapper studentRecordMapper;
|
private final StudentRecordMapper studentRecordMapper;
|
||||||
private final LessonFeedbackMapper lessonFeedbackMapper;
|
private final LessonFeedbackMapper lessonFeedbackMapper;
|
||||||
private final SchedulePlanMapper schedulePlanMapper;
|
private final SchedulePlanMapper schedulePlanMapper;
|
||||||
|
private final CoursePackageMapper coursePackageMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@ -56,10 +59,16 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
lesson.setEndTime(request.getEndTime());
|
lesson.setEndTime(request.getEndTime());
|
||||||
lesson.setLocation(request.getLocation());
|
lesson.setLocation(request.getLocation());
|
||||||
lesson.setNotes(request.getNotes());
|
lesson.setNotes(request.getNotes());
|
||||||
lesson.setStatus("scheduled");
|
lesson.setStatus(LessonStatus.SCHEDULED.getCode());
|
||||||
|
|
||||||
lessonMapper.insert(lesson);
|
lessonMapper.insert(lesson);
|
||||||
log.info("课程创建成功:id={}, title={}", lesson.getId(), lesson.getTitle());
|
log.info("课程创建成功:id={}, title={}", lesson.getId(), lesson.getTitle());
|
||||||
|
|
||||||
|
// 更新课程包统计:使用次数 +1
|
||||||
|
if (request.getCourseId() != null) {
|
||||||
|
coursePackageMapper.incrementUsageCount(request.getCourseId());
|
||||||
|
log.info("课程包使用次数 +1: courseId={}", request.getCourseId());
|
||||||
|
}
|
||||||
return lesson;
|
return lesson;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,7 +173,7 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void startLesson(Long id) {
|
public void startLesson(Long id) {
|
||||||
Lesson lesson = getLessonById(id);
|
Lesson lesson = getLessonById(id);
|
||||||
lesson.setStatus("in_progress");
|
lesson.setStatus(LessonStatus.IN_PROGRESS.getCode());
|
||||||
lessonMapper.updateById(lesson);
|
lessonMapper.updateById(lesson);
|
||||||
log.info("课程开始:id={}", id);
|
log.info("课程开始:id={}", id);
|
||||||
}
|
}
|
||||||
@ -173,16 +182,22 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void completeLesson(Long id) {
|
public void completeLesson(Long id) {
|
||||||
Lesson lesson = getLessonById(id);
|
Lesson lesson = getLessonById(id);
|
||||||
lesson.setStatus("completed");
|
lesson.setStatus(LessonStatus.COMPLETED.getCode());
|
||||||
lessonMapper.updateById(lesson);
|
lessonMapper.updateById(lesson);
|
||||||
log.info("课程完成:id={}", id);
|
log.info("课程完成:id={}", id);
|
||||||
|
|
||||||
|
// 更新课程包统计:教师数量(去重统计)
|
||||||
|
if (lesson.getCourseId() != null) {
|
||||||
|
coursePackageMapper.updateTeacherCount(lesson.getCourseId());
|
||||||
|
log.info("课程包教师数量已更新:courseId={}", lesson.getCourseId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void cancelLesson(Long id) {
|
public void cancelLesson(Long id) {
|
||||||
Lesson lesson = getLessonById(id);
|
Lesson lesson = getLessonById(id);
|
||||||
lesson.setStatus("cancelled");
|
lesson.setStatus(LessonStatus.CANCELLED.getCode());
|
||||||
lessonMapper.updateById(lesson);
|
lessonMapper.updateById(lesson);
|
||||||
log.info("课程取消:id={}", id);
|
log.info("课程取消:id={}", id);
|
||||||
}
|
}
|
||||||
@ -193,7 +208,7 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
new LambdaQueryWrapper<Lesson>()
|
new LambdaQueryWrapper<Lesson>()
|
||||||
.eq(Lesson::getTenantId, tenantId)
|
.eq(Lesson::getTenantId, tenantId)
|
||||||
.eq(Lesson::getLessonDate, LocalDate.now())
|
.eq(Lesson::getLessonDate, LocalDate.now())
|
||||||
.in(Lesson::getStatus, "scheduled", "in_progress")
|
.in(Lesson::getStatus, LessonStatus.SCHEDULED.getCode(), LessonStatus.IN_PROGRESS.getCode())
|
||||||
.orderByAsc(Lesson::getStartTime)
|
.orderByAsc(Lesson::getStartTime)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -401,11 +416,16 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
lesson.setLessonDate(schedule.getScheduledDate());
|
lesson.setLessonDate(schedule.getScheduledDate());
|
||||||
lesson.setStartTime(startTime);
|
lesson.setStartTime(startTime);
|
||||||
lesson.setEndTime(endTime);
|
lesson.setEndTime(endTime);
|
||||||
lesson.setStatus("scheduled");
|
lesson.setStatus(LessonStatus.SCHEDULED.getCode());
|
||||||
lesson.setNotes(schedule.getNote());
|
lesson.setNotes(schedule.getNote());
|
||||||
|
|
||||||
lessonMapper.insert(lesson);
|
lessonMapper.insert(lesson);
|
||||||
log.info("从排课创建课时成功: lessonId={}", lesson.getId());
|
log.info("从排课创建课时成功: lessonId={}", lesson.getId());
|
||||||
|
// 更新课程包统计:使用次数 +1
|
||||||
|
if (schedule.getCourseId() != null) {
|
||||||
|
coursePackageMapper.incrementUsageCount(schedule.getCourseId());
|
||||||
|
log.info("课程包使用次数 +1: courseId={}", schedule.getCourseId());
|
||||||
|
}
|
||||||
|
|
||||||
return lesson;
|
return lesson;
|
||||||
}
|
}
|
||||||
@ -419,8 +439,8 @@ public class LessonServiceImpl extends ServiceImpl<LessonMapper, Lesson>
|
|||||||
Lesson lesson = createLessonFromSchedule(schedulePlanId, teacherId);
|
Lesson lesson = createLessonFromSchedule(schedulePlanId, teacherId);
|
||||||
|
|
||||||
// 开始上课
|
// 开始上课
|
||||||
if (!"in_progress".equals(lesson.getStatus())) {
|
if (!LessonStatus.IN_PROGRESS.getCode().equals(lesson.getStatus())) {
|
||||||
lesson.setStatus("in_progress");
|
lesson.setStatus(LessonStatus.IN_PROGRESS.getCode());
|
||||||
lesson.setStartDatetime(LocalDateTime.now());
|
lesson.setStartDatetime(LocalDateTime.now());
|
||||||
lessonMapper.updateById(lesson);
|
lessonMapper.updateById(lesson);
|
||||||
log.info("课时开始: lessonId={}", lesson.getId());
|
log.info("课时开始: lessonId={}", lesson.getId());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user