From b0034fbe94aed4847ff3a6077ef7dcd397ab8819 Mon Sep 17 00:00:00 2001 From: none Date: Wed, 29 Mar 2023 09:31:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=BA=BF=E4=B8=8A=E8=AF=BE?= =?UTF-8?q?=E7=9A=84=E5=90=8C=E6=97=B6=E6=B8=85=E7=A9=BA=E5=AD=A6=E4=B9=A0?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/listener/CourseDestroyListener.java | 14 ++++++++++++++ .../api/service/UserCourseHourRecordService.java | 2 ++ .../api/service/UserCourseRecordService.java | 2 ++ .../impl/UserCourseHourRecordServiceImpl.java | 5 +++++ .../service/impl/UserCourseRecordServiceImpl.java | 5 +++++ 5 files changed, 28 insertions(+) diff --git a/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java b/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java index 42a0b90..13f624c 100644 --- a/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java +++ b/src/main/java/xyz/playedu/api/listener/CourseDestroyListener.java @@ -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()); + } + } diff --git a/src/main/java/xyz/playedu/api/service/UserCourseHourRecordService.java b/src/main/java/xyz/playedu/api/service/UserCourseHourRecordService.java index e7d0ecf..a9b3c4f 100644 --- a/src/main/java/xyz/playedu/api/service/UserCourseHourRecordService.java +++ b/src/main/java/xyz/playedu/api/service/UserCourseHourRecordService.java @@ -20,4 +20,6 @@ public interface UserCourseHourRecordService extends IService getRecords(Integer userId, Integer courseId); List getLatestCourseIds(Integer userId, Integer size); + + void removeByCourseId(Integer courseId); } diff --git a/src/main/java/xyz/playedu/api/service/UserCourseRecordService.java b/src/main/java/xyz/playedu/api/service/UserCourseRecordService.java index 87857f9..9594a25 100644 --- a/src/main/java/xyz/playedu/api/service/UserCourseRecordService.java +++ b/src/main/java/xyz/playedu/api/service/UserCourseRecordService.java @@ -23,4 +23,6 @@ public interface UserCourseRecordService extends IService { PaginationResult paginate(int page, int size, CourseUserPaginateFilter filter); void destroy(Integer courseId, List ids); + + void removeByCourseId(Integer courseId); } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserCourseHourRecordServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/UserCourseHourRecordServiceImpl.java index 02974c8..a1be9f9 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserCourseHourRecordServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/UserCourseHourRecordServiceImpl.java @@ -84,6 +84,11 @@ public class UserCourseHourRecordServiceImpl extends ServiceImpl getLatestCourseIds(Integer userId, Integer size) { return getBaseMapper().getUserLatestRecords(userId, size); } + + @Override + public void removeByCourseId(Integer courseId) { + remove(query().getWrapper().eq("course_id", courseId)); + } } diff --git a/src/main/java/xyz/playedu/api/service/impl/UserCourseRecordServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/UserCourseRecordServiceImpl.java index 1c99007..1e90e78 100644 --- a/src/main/java/xyz/playedu/api/service/impl/UserCourseRecordServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/UserCourseRecordServiceImpl.java @@ -94,6 +94,11 @@ public class UserCourseRecordServiceImpl extends ServiceImpl ids) { remove(query().getWrapper().in("id", ids).eq("course_id", courseId)); } + + @Override + public void removeByCourseId(Integer courseId) { + remove(query().getWrapper().eq("course_id", courseId)); + } }