From a98018a7c00cbf50c8422dddfadd63d4df366058 Mon Sep 17 00:00:00 2001 From: none Date: Wed, 22 Mar 2023 09:37:22 +0800 Subject: [PATCH] =?UTF-8?q?added:=20=E8=AF=BE=E6=97=B6=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/CourseHourController.java | 14 ++++++++++++++ .../xyz/playedu/api/service/CourseHourService.java | 10 ++++++---- .../api/service/impl/CourseHourServiceImpl.java | 6 ++++++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java index 4856fdb..5b77d2d 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java @@ -78,6 +78,14 @@ public class CourseHourController { Integer chapterId = req.getChapterId(); chapterService.findOrFail(chapterId, courseId); + // 课时重复添加校验 + List existsRids = hourService.getRidsByCourseId(courseId, BackendConstant.RESOURCE_TYPE_VIDEO); + if (existsRids != null) { + if (existsRids.contains(req.getRid())) { + return JsonResponse.error("课时已存在"); + } + } + CourseHour courseHour = hourService.create(courseId, chapterId, req.getSort(), req.getTitle(), type, req.getRid(), req.getDuration()); ctx.publishEvent(new CourseHourCreatedEvent(this, PlayEduBCtx.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId())); return JsonResponse.success(); @@ -91,10 +99,16 @@ public class CourseHourController { return JsonResponse.error("参数为空"); } + List existsRids = hourService.getRidsByCourseId(courseId, BackendConstant.RESOURCE_TYPE_VIDEO); + List hours = new ArrayList<>(); Date now = new Date(); for (CourseHourMultiRequest.HourItem item : req.getHours()) { + if (existsRids.contains(item.getRid())) { + return JsonResponse.error("课时《" + item.getTitle() + "》已存在"); + } + hours.add(new CourseHour() {{ setCourseId(courseId); setChapterId(item.getChapterId()); diff --git a/src/main/java/xyz/playedu/api/service/CourseHourService.java b/src/main/java/xyz/playedu/api/service/CourseHourService.java index 26d8a2a..b07de47 100644 --- a/src/main/java/xyz/playedu/api/service/CourseHourService.java +++ b/src/main/java/xyz/playedu/api/service/CourseHourService.java @@ -7,10 +7,10 @@ import xyz.playedu.api.exception.NotFoundException; import java.util.List; /** -* @author tengteng -* @description 针对表【course_hour】的数据库操作Service -* @createDate 2023-03-15 10:16:45 -*/ + * @author tengteng + * @description 针对表【course_hour】的数据库操作Service + * @createDate 2023-03-15 10:16:45 + */ public interface CourseHourService extends IService { CourseHour findOrFail(Integer id, Integer courseId) throws NotFoundException; @@ -28,4 +28,6 @@ public interface CourseHourService extends IService { void remove(Integer courseId, Integer chapterId); void updateSort(List ids, Integer cid); + + List getRidsByCourseId(Integer courseId, String type); } 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 250709d..5883dd3 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @author tengteng @@ -93,6 +94,11 @@ public class CourseHourServiceImpl extends ServiceImpl getRidsByCourseId(Integer courseId, String type) { + return list(query().getWrapper().eq("course_id", courseId).eq("type", type)).stream().map(CourseHour::getRid).toList(); + } }