From 337e6004324f5e087893ffa22abf0c560e3a99c4 Mon Sep 17 00:00:00 2001 From: none Date: Mon, 20 Mar 2023 10:55:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96event=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=B1=9E=E6=80=A7=20&&=20=E6=96=B0=E5=A2=9E=E7=BA=BF?= =?UTF-8?q?=E4=B8=8A=E8=AF=BE=E7=AB=A0=E8=8A=82=E5=92=8C=E8=AF=BE=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E6=8E=92=E5=BA=8F=E7=BC=96=E8=BE=91apic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/CourseChapterController.java | 16 +++++++++++- .../controller/backend/CourseController.java | 2 +- .../backend/CourseHourController.java | 11 ++++++-- .../backend/DepartmentController.java | 2 +- .../controller/backend/LoginController.java | 2 +- .../backend/ResourceCategoryController.java | 2 +- .../controller/backend/UserController.java | 2 +- .../controller/frontend/LoginController.java | 2 +- .../api/event/AdminUserLoginEvent.java | 4 +-- .../api/event/CourseCategoryDestroyEvent.java | 6 ++--- .../api/event/CourseChapterDestroyEvent.java | 6 ++--- .../playedu/api/event/CourseDestroyEvent.java | 6 ++--- .../api/event/CourseHourCreatedEvent.java | 6 ++--- .../api/event/CourseHourDestroyEvent.java | 6 ++--- .../api/event/DepartmentDestroyEvent.java | 6 ++--- .../event/ResourceCategoryDestroyEvent.java | 6 ++--- .../playedu/api/event/UserDestroyEvent.java | 6 ++--- .../xyz/playedu/api/event/UserLoginEvent.java | 4 +-- .../listener/CourseHourCreatedListener.java | 2 +- .../listener/CourseHourDestroyListener.java | 2 +- .../backend/CourseChapterSortRequest.java | 16 ++++++++++++ .../backend/CourseHourSortRequest.java | 14 +++++++++++ .../api/service/CourseChapterService.java | 2 ++ .../api/service/CourseHourService.java | 6 ++++- .../impl/CourseChapterServiceImpl.java | 18 +++++++++++++ .../service/impl/CourseHourServiceImpl.java | 25 ++++++++++++++++++- 26 files changed, 139 insertions(+), 41 deletions(-) create mode 100644 src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java create mode 100644 src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java 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 ce9e77f..69343fe 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseChapterController.java @@ -11,7 +11,9 @@ import xyz.playedu.api.event.CourseChapterDestroyEvent; import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.middleware.BackendPermissionMiddleware; import xyz.playedu.api.request.backend.CourseChapterRequest; +import xyz.playedu.api.request.backend.CourseChapterSortRequest; import xyz.playedu.api.service.CourseChapterService; +import xyz.playedu.api.service.CourseHourService; import xyz.playedu.api.types.JsonResponse; import java.util.Date; @@ -27,6 +29,9 @@ public class CourseChapterController { @Autowired private CourseChapterService chapterService; + @Autowired + private CourseHourService hourService; + @Autowired private ApplicationContext ctx; @@ -56,8 +61,17 @@ public class CourseChapterController { @DeleteMapping("/{id}") public JsonResponse destroy(@PathVariable(name = "courseId") Integer courseId, @PathVariable(name = "id") Integer id) throws NotFoundException { CourseChapter chapter = chapterService.findOrFail(id, courseId); + if (hourService.getCountByChapterId(chapter.getId()) > 0) { + return JsonResponse.error("当前章节下面存在课时无法删除"); + } chapterService.removeById(chapter.getId()); - ctx.publishEvent(new CourseChapterDestroyEvent(this, PlayEduBContext.getAdminUserID(), chapter.getCourseId(), chapter.getId(), new Date())); + ctx.publishEvent(new CourseChapterDestroyEvent(this, PlayEduBContext.getAdminUserID(), chapter.getCourseId(), chapter.getId())); + return JsonResponse.success(); + } + + @PutMapping("/update/sort") + public JsonResponse updateSort(@PathVariable(name = "courseId") Integer courseId, @RequestBody @Validated CourseChapterSortRequest req) { + chapterService.updateSort(req.getIds(), courseId); return JsonResponse.success(); } } diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java index 0e5a9d8..296cfa5 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java @@ -185,7 +185,7 @@ public class CourseController { @DeleteMapping("/{id}") public JsonResponse destroy(@PathVariable(name = "id") Integer id) { courseService.removeById(id); - ctx.publishEvent(new CourseDestroyEvent(this, PlayEduBContext.getAdminUserID(), id, new Date())); + ctx.publishEvent(new CourseDestroyEvent(this, PlayEduBContext.getAdminUserID(), id)); return JsonResponse.success(); } 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 d9089b4..2ef7994 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseHourController.java @@ -14,6 +14,7 @@ import xyz.playedu.api.event.CourseHourDestroyEvent; import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.middleware.BackendPermissionMiddleware; import xyz.playedu.api.request.backend.CourseHourRequest; +import xyz.playedu.api.request.backend.CourseHourSortRequest; import xyz.playedu.api.service.CourseChapterService; import xyz.playedu.api.service.CourseHourService; import xyz.playedu.api.types.JsonResponse; @@ -74,7 +75,7 @@ public class CourseHourController { chapterService.findOrFail(chapterId, courseId); CourseHour courseHour = hourService.create(courseId, chapterId, req.getSort(), req.getTitle(), type, req.getRid(), req.getDuration()); - ctx.publishEvent(new CourseHourCreatedEvent(this, PlayEduBContext.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId(), new Date())); + ctx.publishEvent(new CourseHourCreatedEvent(this, PlayEduBContext.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId())); return JsonResponse.success(); } @@ -102,7 +103,13 @@ public class CourseHourController { public JsonResponse destroy(@PathVariable(name = "courseId") Integer courseId, @PathVariable(name = "id") Integer id) throws NotFoundException { CourseHour courseHour = hourService.findOrFail(id, courseId); hourService.removeById(courseHour.getId()); - ctx.publishEvent(new CourseHourDestroyEvent(this, PlayEduBContext.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId(), new Date())); + ctx.publishEvent(new CourseHourDestroyEvent(this, PlayEduBContext.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId())); + return JsonResponse.success(); + } + + @PutMapping("/update/sort") + public JsonResponse updateSort(@PathVariable(name = "courseId") Integer courseId, @RequestBody @Validated CourseHourSortRequest req) { + hourService.updateSort(req.getIds(), courseId); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java index b086fdc..f1c8545 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/DepartmentController.java @@ -119,7 +119,7 @@ public class DepartmentController { public JsonResponse destroy(@PathVariable Integer id) throws NotFoundException { Department department = departmentService.findOrFail(id); departmentService.deleteById(department.getId()); - ctx.publishEvent(new DepartmentDestroyEvent(this, PlayEduBContext.getAdminUserID(), department.getId(), new Date())); + ctx.publishEvent(new DepartmentDestroyEvent(this, PlayEduBContext.getAdminUserID(), department.getId())); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java index 51e5e0e..b62039b 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java @@ -62,7 +62,7 @@ public class LoginController { data.put("token", token.getToken()); data.put("expire", token.getExpire()); - ctx.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), new Date(), token.getToken(), IpUtil.getIpAddress(), adminUser.getLoginTimes())); + ctx.publishEvent(new AdminUserLoginEvent(this, adminUser.getId(), token.getToken(), IpUtil.getIpAddress(), adminUser.getLoginTimes())); return JsonResponse.data(data); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java b/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java index 8924453..6ba4ed8 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/ResourceCategoryController.java @@ -124,7 +124,7 @@ public class ResourceCategoryController { public JsonResponse destroy(@PathVariable Integer id) throws NotFoundException { ResourceCategory category = categoryService.findOrFail(id); categoryService.deleteById(category.getId()); - ctx.publishEvent(new ResourceCategoryDestroyEvent(this, PlayEduBContext.getAdminUserID(), category.getId(), new Date())); + ctx.publishEvent(new ResourceCategoryDestroyEvent(this, PlayEduBContext.getAdminUserID(), category.getId())); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/controller/backend/UserController.java b/src/main/java/xyz/playedu/api/controller/backend/UserController.java index 0f04cbd..15877dc 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/UserController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/UserController.java @@ -143,7 +143,7 @@ public class UserController { public JsonResponse destroy(@PathVariable(name = "id") Integer id) throws NotFoundException { User user = userService.findOrFail(id); userService.removeById(user.getId()); - context.publishEvent(new UserDestroyEvent(this, user.getId(), new Date())); + context.publishEvent(new UserDestroyEvent(this, user.getId())); return JsonResponse.success(); } diff --git a/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java b/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java index 59952b6..5565dde 100644 --- a/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java @@ -65,7 +65,7 @@ public class LoginController { data.put("token", token.getToken()); data.put("expired", token.getExpire()); - ctx.publishEvent(new UserLoginEvent(this, user.getId(), user.getEmail(), new Date(), token.getToken(), IpUtil.getIpAddress(), RequestUtil.ua())); + ctx.publishEvent(new UserLoginEvent(this, user.getId(), user.getEmail(), token.getToken(), IpUtil.getIpAddress(), RequestUtil.ua())); return JsonResponse.data(data); } diff --git a/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java b/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java index d238db2..f4ec20c 100644 --- a/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java +++ b/src/main/java/xyz/playedu/api/event/AdminUserLoginEvent.java @@ -20,10 +20,10 @@ public class AdminUserLoginEvent extends ApplicationEvent { private Integer loginTimes; - public AdminUserLoginEvent(Object source, Integer adminId, Date loginAt, String token, String ip, Integer loginTimes) { + public AdminUserLoginEvent(Object source, Integer adminId, String token, String ip, Integer loginTimes) { super(source); this.adminId = adminId; - this.loginAt = loginAt; + this.loginAt = new Date(); this.token = token; this.ip = ip; this.loginTimes = loginTimes; diff --git a/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java b/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java index b6ade39..eadff2c 100644 --- a/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseCategoryDestroyEvent.java @@ -16,13 +16,13 @@ public class CourseCategoryDestroyEvent extends ApplicationEvent { private Integer adminId; private Integer categoryId; - private Date at; + private Date createdAt; - public CourseCategoryDestroyEvent(Object source, Integer adminId, Integer categoryId, Date date) { + public CourseCategoryDestroyEvent(Object source, Integer adminId, Integer categoryId) { super(source); this.adminId = adminId; this.categoryId = categoryId; - this.at = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java b/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java index 8413149..dcfc1d5 100644 --- a/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseChapterDestroyEvent.java @@ -16,13 +16,13 @@ public class CourseChapterDestroyEvent extends ApplicationEvent { private Integer adminId; private Integer courseId; private Integer chapterId; - private Date date; + private Date createdAt; - public CourseChapterDestroyEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Date date) { + public CourseChapterDestroyEvent(Object source, Integer adminId, Integer courseId, Integer chapterId) { super(source); this.adminId = adminId; this.courseId = courseId; this.chapterId = chapterId; - this.date = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java b/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java index 792524c..30dfd44 100644 --- a/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseDestroyEvent.java @@ -15,13 +15,13 @@ import java.util.Date; public class CourseDestroyEvent extends ApplicationEvent { private Integer courseId; - private Date at; + private Date createdAt; private Integer adminId; - public CourseDestroyEvent(Object source, Integer adminId, Integer courseId, Date date) { + public CourseDestroyEvent(Object source, Integer adminId, Integer courseId) { super(source); this.courseId = courseId; - this.at = date; + this.createdAt = new Date(); this.adminId = adminId; } diff --git a/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java b/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java index af78679..c5d0974 100644 --- a/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseHourCreatedEvent.java @@ -17,14 +17,14 @@ public class CourseHourCreatedEvent extends ApplicationEvent { private Integer hourId; private Integer courseId; private Integer chapterId; - private Date date; + private Date createdAt; - public CourseHourCreatedEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Integer hourId, Date date) { + public CourseHourCreatedEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Integer hourId) { super(source); this.adminId = adminId; this.courseId = courseId; this.chapterId = chapterId; this.hourId = hourId; - this.date = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java b/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java index 5096f0f..2d4959b 100644 --- a/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/CourseHourDestroyEvent.java @@ -17,14 +17,14 @@ public class CourseHourDestroyEvent extends ApplicationEvent { private Integer hourId; private Integer courseId; private Integer chapterId; - private Date date; + private Date createdAt; - public CourseHourDestroyEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Integer hourId, Date date) { + public CourseHourDestroyEvent(Object source, Integer adminId, Integer courseId, Integer chapterId, Integer hourId) { super(source); this.adminId = adminId; this.courseId = courseId; this.chapterId = chapterId; this.hourId = hourId; - this.date = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java b/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java index ab0abad..9be17a7 100644 --- a/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/DepartmentDestroyEvent.java @@ -16,12 +16,12 @@ public class DepartmentDestroyEvent extends ApplicationEvent { private Integer depId; private Integer adminId; - private Date at; + private Date createdAt; - public DepartmentDestroyEvent(Object source, Integer adminId, Integer depId, Date date) { + public DepartmentDestroyEvent(Object source, Integer adminId, Integer depId) { super(source); this.adminId = adminId; this.depId = depId; - this.at = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java b/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java index caaf302..44c6763 100644 --- a/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/ResourceCategoryDestroyEvent.java @@ -16,12 +16,12 @@ public class ResourceCategoryDestroyEvent extends ApplicationEvent { private Integer adminId; private Integer categoryId; - private Date date; + private Date createdAt; - public ResourceCategoryDestroyEvent(Object source, Integer adminId, Integer categoryId, Date date) { + public ResourceCategoryDestroyEvent(Object source, Integer adminId, Integer categoryId) { super(source); this.adminId = adminId; this.categoryId = categoryId; - this.date = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java b/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java index ae34f16..e42dd36 100644 --- a/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java +++ b/src/main/java/xyz/playedu/api/event/UserDestroyEvent.java @@ -15,11 +15,11 @@ import java.util.Date; public class UserDestroyEvent extends ApplicationEvent { private Integer userId; - private Date at; + private Date createdAt; - public UserDestroyEvent(Object source, Integer userId, Date date) { + public UserDestroyEvent(Object source, Integer userId) { super(source); this.userId = userId; - this.at = date; + this.createdAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/event/UserLoginEvent.java b/src/main/java/xyz/playedu/api/event/UserLoginEvent.java index c204f47..0e80301 100644 --- a/src/main/java/xyz/playedu/api/event/UserLoginEvent.java +++ b/src/main/java/xyz/playedu/api/event/UserLoginEvent.java @@ -27,14 +27,14 @@ public class UserLoginEvent extends ApplicationEvent { private UserAgent userAgent; - public UserLoginEvent(Object source, Integer userId,String email, Date loginAt, String token, String ip, UserAgent userAgent) { + public UserLoginEvent(Object source, Integer userId, String email, String token, String ip, UserAgent userAgent) { super(source); this.userId = userId; this.email = email; - this.loginAt = loginAt; this.token = token; this.ip = ip; this.userAgent = userAgent; + this.loginAt = new Date(); } } diff --git a/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java b/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java index 02c370f..779f15b 100644 --- a/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java +++ b/src/main/java/xyz/playedu/api/listener/CourseHourCreatedListener.java @@ -22,7 +22,7 @@ public class CourseHourCreatedListener { @EventListener public void courseClassHourUpdate(CourseHourCreatedEvent event) { - Integer classHour = hourService.getCourseClassHourByCourseId(event.getCourseId()); + Integer classHour = hourService.getCountByCourseId(event.getCourseId()); courseService.updateClassHour(event.getCourseId(), classHour); } diff --git a/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java b/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java index 5a113c4..1cdccd4 100644 --- a/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java +++ b/src/main/java/xyz/playedu/api/listener/CourseHourDestroyListener.java @@ -22,7 +22,7 @@ public class CourseHourDestroyListener { @EventListener public void courseClassHourUpdate(CourseHourDestroyEvent event) { - Integer classHour = hourService.getCourseClassHourByCourseId(event.getCourseId()); + Integer classHour = hourService.getCountByCourseId(event.getCourseId()); courseService.updateClassHour(event.getCourseId(), classHour); } diff --git a/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java b/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java new file mode 100644 index 0000000..1718317 --- /dev/null +++ b/src/main/java/xyz/playedu/api/request/backend/CourseChapterSortRequest.java @@ -0,0 +1,16 @@ +package xyz.playedu.api.request.backend; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +/** + * @Author 杭州白书科技有限公司 + * @create 2023/3/20 10:42 + */ +@Data +public class CourseChapterSortRequest { + @NotNull(message = "ids参数不存在") + private List ids; +} diff --git a/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java b/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java new file mode 100644 index 0000000..9d2d1ad --- /dev/null +++ b/src/main/java/xyz/playedu/api/request/backend/CourseHourSortRequest.java @@ -0,0 +1,14 @@ +package xyz.playedu.api.request.backend; + +import lombok.Data; + +import java.util.List; + +/** + * @Author 杭州白书科技有限公司 + * @create 2023/3/20 10:45 + */ +@Data +public class CourseHourSortRequest { + private List ids; +} diff --git a/src/main/java/xyz/playedu/api/service/CourseChapterService.java b/src/main/java/xyz/playedu/api/service/CourseChapterService.java index 2c129eb..3069376 100644 --- a/src/main/java/xyz/playedu/api/service/CourseChapterService.java +++ b/src/main/java/xyz/playedu/api/service/CourseChapterService.java @@ -23,4 +23,6 @@ public interface CourseChapterService extends IService { CourseChapter findOrFail(Integer id, Integer courseId) throws NotFoundException; + void updateSort(List ids, Integer cid); + } diff --git a/src/main/java/xyz/playedu/api/service/CourseHourService.java b/src/main/java/xyz/playedu/api/service/CourseHourService.java index 809aad5..26d8a2a 100644 --- a/src/main/java/xyz/playedu/api/service/CourseHourService.java +++ b/src/main/java/xyz/playedu/api/service/CourseHourService.java @@ -21,7 +21,11 @@ public interface CourseHourService extends IService { CourseHour create(Integer courseId, Integer chapterId, Integer sort, String title, String type, Integer rid, Integer duration); - Integer getCourseClassHourByCourseId(Integer courseId); + Integer getCountByCourseId(Integer courseId); + + Integer getCountByChapterId(Integer chapterId); void remove(Integer courseId, Integer chapterId); + + void updateSort(List ids, Integer cid); } diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseChapterServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseChapterServiceImpl.java index e4651c5..9b7c21a 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseChapterServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseChapterServiceImpl.java @@ -7,6 +7,7 @@ import xyz.playedu.api.service.CourseChapterService; import xyz.playedu.api.mapper.CourseChapterMapper; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -61,6 +62,23 @@ public class CourseChapterServiceImpl extends ServiceImpl ids, Integer cid) { + if (ids == null || ids.size() == 0) { + return; + } + List chapters = new ArrayList<>(); + final Integer[] sortVal = {0}; + for (Integer idItem : ids) { + chapters.add(new CourseChapter() {{ + setId(idItem); + setId(cid); + setSort(sortVal[0]++); + }}); + } + updateBatchById(chapters); + } } 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 a658b3c..250709d 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseHourServiceImpl.java @@ -7,6 +7,7 @@ import xyz.playedu.api.service.CourseHourService; import xyz.playedu.api.mapper.CourseHourMapper; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -62,14 +63,36 @@ public class CourseHourServiceImpl extends ServiceImpl ids, Integer cid) { + if (ids == null || ids.size() == 0) { + return; + } + List hours = new ArrayList<>(); + final Integer[] sortVal = {0}; + for (Integer idVal : ids) { + hours.add(new CourseHour() {{ + setId(idVal); + setCourseId(cid); + setSort(sortVal[0]++); + }}); + } + updateBatchById(hours); + } }