删除线上课的同时清空学习记录

This commit is contained in:
none 2023-03-29 09:31:31 +08:00
parent d7ae1358b7
commit b0034fbe94
5 changed files with 28 additions and 0 deletions

View File

@ -5,6 +5,8 @@ import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import xyz.playedu.api.event.CourseDestroyEvent;
import xyz.playedu.api.service.CourseDepartmentService;
import xyz.playedu.api.service.UserCourseHourRecordService;
import xyz.playedu.api.service.UserCourseRecordService;
import xyz.playedu.api.service.internal.ResourceCourseCategoryService;
/**
@ -21,6 +23,12 @@ public class CourseDestroyListener {
@Autowired
private ResourceCourseCategoryService courseCategoryService;
@Autowired
private UserCourseRecordService userCourseRecordService;
@Autowired
private UserCourseHourRecordService userCourseHourRecordService;
@EventListener
public void departmentRelateRemove(CourseDestroyEvent event) {
courseDepartmentService.removeByCourseId(event.getCourseId());
@ -31,4 +39,10 @@ public class CourseDestroyListener {
courseCategoryService.removeByCourseId(event.getCourseId());
}
@EventListener
public void removeUserRecords(CourseDestroyEvent event) {
userCourseRecordService.removeByCourseId(event.getCourseId());
userCourseHourRecordService.removeByCourseId(event.getCourseId());
}
}

View File

@ -20,4 +20,6 @@ public interface UserCourseHourRecordService extends IService<UserCourseHourReco
List<UserCourseHourRecord> getRecords(Integer userId, Integer courseId);
List<UserCourseHourRecord> getLatestCourseIds(Integer userId, Integer size);
void removeByCourseId(Integer courseId);
}

View File

@ -23,4 +23,6 @@ public interface UserCourseRecordService extends IService<UserCourseRecord> {
PaginationResult<UserCourseRecord> paginate(int page, int size, CourseUserPaginateFilter filter);
void destroy(Integer courseId, List<Integer> ids);
void removeByCourseId(Integer courseId);
}

View File

@ -84,6 +84,11 @@ public class UserCourseHourRecordServiceImpl extends ServiceImpl<UserCourseHourR
public List<UserCourseHourRecord> getLatestCourseIds(Integer userId, Integer size) {
return getBaseMapper().getUserLatestRecords(userId, size);
}
@Override
public void removeByCourseId(Integer courseId) {
remove(query().getWrapper().eq("course_id", courseId));
}
}

View File

@ -94,6 +94,11 @@ public class UserCourseRecordServiceImpl extends ServiceImpl<UserCourseRecordMap
public void destroy(Integer courseId, List<Integer> ids) {
remove(query().getWrapper().in("id", ids).eq("course_id", courseId));
}
@Override
public void removeByCourseId(Integer courseId) {
remove(query().getWrapper().eq("course_id", courseId));
}
}