diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java index 3ab5f0d..9956fa2 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java @@ -60,14 +60,14 @@ public class CourseChapterController { public JsonResponse update(@PathVariable(name = "courseId") Integer courseId, @PathVariable(name = "id") Integer id, @RequestBody @Validated CourseChapterRequest req) throws NotFoundException { CourseChapter chapter = chapterService.findOrFail(id, courseId); chapterService.update(chapter, req.getName(), req.getSort()); - return JsonResponse.data(chapter); + return JsonResponse.success(); } @DeleteMapping("/{id}") public JsonResponse destroy(@PathVariable(name = "courseId") Integer courseId, @PathVariable(name = "id") Integer id) throws NotFoundException { CourseChapter chapter = chapterService.findOrFail(id, courseId); chapterService.removeById(chapter.getId()); - ctx.publishEvent(new CourseChapterDestroyEvent(this, PlayEduBackendThreadLocal.getAdminUserID(), chapter.getCourseId(), new Date())); + ctx.publishEvent(new CourseChapterDestroyEvent(this, PlayEduBackendThreadLocal.getAdminUserID(), chapter.getCourseId(), chapter.getId(), new Date())); return JsonResponse.success(); } } diff --git a/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java b/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java index 40f54cc..8413149 100644 --- a/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java @@ -14,12 +14,14 @@ import java.util.Date; @Setter public class CourseChapterDestroyEvent extends ApplicationEvent { private Integer adminId; + private Integer courseId; private Integer chapterId; private Date date; - public CourseChapterDestroyEvent(Object source, Integer adminId, Integer chapterId, Date date) { + public CourseChapterDestroyEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Date date) { super(source); this.adminId = adminId; + this.courseId = courseId; this.chapterId = chapterId; this.date = date; } diff --git a/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java b/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java new file mode 100644 index 0000000..00324fc --- /dev/null +++ b/src/main/java/xyz/playedu/api/listener/CourseChapterDestroyListener.java @@ -0,0 +1,24 @@ +package xyz.playedu.api.listener; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; +import xyz.playedu.api.event.CourseChapterDestroyEvent; +import xyz.playedu.api.service.CourseHourService; + +/** + * @Author 杭州白书科技有限公司 + * @create 2023/2/26 18:25 + */ +@Component +public class CourseChapterDestroyListener { + + @Autowired + private CourseHourService hourService; + + @EventListener + public void resetCourseHourChapterId(CourseChapterDestroyEvent event) { + hourService.resetChapterIdByCourseIdAndChapterId(event.getCourseId(), event.getChapterId()); + } + +} diff --git a/src/main/java/xyz/playedu/api/service/CourseHourService.java b/src/main/java/xyz/playedu/api/service/CourseHourService.java index 32eac98..cdf6865 100644 --- a/src/main/java/xyz/playedu/api/service/CourseHourService.java +++ b/src/main/java/xyz/playedu/api/service/CourseHourService.java @@ -26,4 +26,6 @@ public interface CourseHourService extends IService { Integer getCourseClassHourByCourseId(Integer courseId); + void resetChapterIdByCourseIdAndChapterId(Integer courseId,Integer chapterId); + } diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java index bde3823..9edc1c9 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java @@ -76,6 +76,11 @@ public class CourseHourServiceImpl extends ServiceImpl