package jnpf.tmsController; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jnpf.base.ActionResult; import jnpf.base.vo.PageListVO; import jnpf.base.vo.PaginationVO; import jnpf.tmsEntity.course.TmsCourseForm; import jnpf.tmsEntity.course.TmsCourseQuery; import jnpf.tmsEntity.course.TmsPaperOption; import jnpf.tmsService.TmsCourseService; import jnpf.util.JsonUtil; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; /** * 培训课程。网关 /api/tms/course/** (StripPrefix=2)→ /course/** */ @Tag(name = "TMS培训课程", description = "Course") @RestController @RequestMapping("/course") @RequiredArgsConstructor public class TmsCourseController { private final TmsCourseService courseService; @Operation(summary = "培训课程分页列表") @GetMapping("/list") public ActionResult> list(TmsCourseQuery query) { List list = courseService.getList(query); PageListVO vo = new PageListVO<>(); vo.setList(list); vo.setPagination(JsonUtil.getJsonToBean(query, PaginationVO.class)); return ActionResult.success(vo); } @Operation(summary = "关联试卷下拉") @GetMapping("/paper-options") public ActionResult> paperOptions() { return ActionResult.success(courseService.paperOptions()); } @Operation(summary = "培训课程详情") @GetMapping("/{id}") public ActionResult info(@PathVariable("id") String id) { return ActionResult.success(courseService.getInfo(id)); } @Operation(summary = "新增培训课程") @PostMapping public ActionResult create(@RequestBody TmsCourseForm form) { return ActionResult.success(courseService.create(form)); } @Operation(summary = "更新培训课程") @PutMapping("/{id}") public ActionResult update(@PathVariable("id") String id, @RequestBody TmsCourseForm form) { courseService.update(id, form); return ActionResult.success("更新成功"); } @Operation(summary = "启用/停用") @PutMapping("/{id}/enabled") public ActionResult enabled(@PathVariable("id") String id, @RequestBody Map body) { courseService.setEnabled(id, body == null ? null : body.get("enabled")); return ActionResult.success("操作成功"); } @Operation(summary = "删除培训课程") @DeleteMapping("/{id}") public ActionResult delete(@PathVariable("id") String id) { courseService.delete(id); return ActionResult.success("删除成功"); } }