mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-07-23 17:49:34 +08:00
课时类型判断
This commit is contained in:
parent
cc4833df60
commit
316d5d2d26
@ -9,4 +9,7 @@ public class BackendConstant {
|
|||||||
|
|
||||||
public final static String[] RESOURCE_DISK_WHITELIST = {"MINIO"};
|
public final static String[] RESOURCE_DISK_WHITELIST = {"MINIO"};
|
||||||
|
|
||||||
|
public final static String[] COURSE_HOUR_TYPE_WHITELIST = {"VIDEO"};
|
||||||
|
public final static String[] COURSE_HOUR_TYPE_WHITELIST_TEXT = {"视频"};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package xyz.playedu.api.controller.backend;
|
package xyz.playedu.api.controller.backend;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
import org.apache.ibatis.annotations.Delete;
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
@ -7,6 +8,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import xyz.playedu.api.PlayEduBackendThreadLocal;
|
import xyz.playedu.api.PlayEduBackendThreadLocal;
|
||||||
import xyz.playedu.api.constant.BPermissionConstant;
|
import xyz.playedu.api.constant.BPermissionConstant;
|
||||||
|
import xyz.playedu.api.constant.BackendConstant;
|
||||||
import xyz.playedu.api.domain.CourseHour;
|
import xyz.playedu.api.domain.CourseHour;
|
||||||
import xyz.playedu.api.event.CourseHourCreatedEvent;
|
import xyz.playedu.api.event.CourseHourCreatedEvent;
|
||||||
import xyz.playedu.api.event.CourseHourDestroyEvent;
|
import xyz.playedu.api.event.CourseHourDestroyEvent;
|
||||||
@ -15,9 +17,9 @@ import xyz.playedu.api.middleware.BackendPermissionMiddleware;
|
|||||||
import xyz.playedu.api.request.backend.CourseHourRequest;
|
import xyz.playedu.api.request.backend.CourseHourRequest;
|
||||||
import xyz.playedu.api.service.CourseHourService;
|
import xyz.playedu.api.service.CourseHourService;
|
||||||
import xyz.playedu.api.types.JsonResponse;
|
import xyz.playedu.api.types.JsonResponse;
|
||||||
|
import xyz.playedu.api.types.SelectOption;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author 杭州白书科技有限公司
|
* @Author 杭州白书科技有限公司
|
||||||
@ -42,12 +44,28 @@ public class CourseHourController {
|
|||||||
@BackendPermissionMiddleware(slug = BPermissionConstant.COURSE)
|
@BackendPermissionMiddleware(slug = BPermissionConstant.COURSE)
|
||||||
@GetMapping("/create")
|
@GetMapping("/create")
|
||||||
public JsonResponse create(@PathVariable(name = "courseId") Integer courseId) {
|
public JsonResponse create(@PathVariable(name = "courseId") Integer courseId) {
|
||||||
return JsonResponse.data(null);
|
// 课时类型
|
||||||
|
List<SelectOption<String>> typeItems = new ArrayList<>();
|
||||||
|
for (int i = 0; i < BackendConstant.COURSE_HOUR_TYPE_WHITELIST.length; i++) {
|
||||||
|
SelectOption<String> tmpTypeItem = new SelectOption<>();
|
||||||
|
tmpTypeItem.setKey(BackendConstant.COURSE_HOUR_TYPE_WHITELIST[i]);
|
||||||
|
tmpTypeItem.setValue(BackendConstant.COURSE_HOUR_TYPE_WHITELIST_TEXT[i]);
|
||||||
|
|
||||||
|
typeItems.add(tmpTypeItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
HashMap<String, Object> data = new HashMap<>();
|
||||||
|
data.put("types", typeItems);
|
||||||
|
|
||||||
|
return JsonResponse.data(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@BackendPermissionMiddleware(slug = BPermissionConstant.COURSE)
|
@BackendPermissionMiddleware(slug = BPermissionConstant.COURSE)
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
public JsonResponse store(@PathVariable(name = "courseId") Integer courseId, @RequestBody @Validated CourseHourRequest req) {
|
public JsonResponse store(@PathVariable(name = "courseId") Integer courseId, @RequestBody @Validated CourseHourRequest req) {
|
||||||
|
if (!Arrays.asList(BackendConstant.COURSE_HOUR_TYPE_WHITELIST).contains(req.getType())) {
|
||||||
|
return JsonResponse.error("课时类型不支持");
|
||||||
|
}
|
||||||
CourseHour courseHour = hourService.create(courseId, req.getChapterId(), req.getTitle(), req.getType(), req.getDuration(), req.getPublishedAt());
|
CourseHour courseHour = hourService.create(courseId, req.getChapterId(), req.getTitle(), req.getType(), req.getDuration(), req.getPublishedAt());
|
||||||
ctx.publishEvent(new CourseHourCreatedEvent(this, PlayEduBackendThreadLocal.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId(), new Date()));
|
ctx.publishEvent(new CourseHourCreatedEvent(this, PlayEduBackendThreadLocal.getAdminUserID(), courseHour.getCourseId(), courseHour.getChapterId(), courseHour.getId(), new Date()));
|
||||||
return JsonResponse.success();
|
return JsonResponse.success();
|
||||||
|
13
src/main/java/xyz/playedu/api/types/SelectOption.java
Normal file
13
src/main/java/xyz/playedu/api/types/SelectOption.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package xyz.playedu.api.types;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author 杭州白书科技有限公司
|
||||||
|
* @create 2023/2/26 18:43
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SelectOption<T> {
|
||||||
|
private String key;
|
||||||
|
private T value;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user