package com.gkhy.exam.admin.controller.web; import com.gkhy.exam.common.annotation.Log; import com.gkhy.exam.common.annotation.RepeatSubmit; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.enums.BusinessType; import com.gkhy.exam.system.domain.ExCourse; import com.gkhy.exam.system.service.ExCourseService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** *
* 课程表 前端控制器 *
* * @author kzy * @since 2024-06-05 15:07:36 */ @Api(tags = "课程前端控制器") @RestController @RequestMapping("/course") public class ExCourseController { @Autowired private ExCourseService courseService; @ApiOperation(value = "课程列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") }) @GetMapping("/list") public CommonResult list(ExCourse course){ return CommonResult.success(courseService.selectCourseList(course)); } @ApiOperation(value = "已审批的课程列表(分页)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10") }) @GetMapping("/approvelist") public CommonResult approvelist(ExCourse course){ return CommonResult.success(courseService.selectApproveCourseList(course)); } @RepeatSubmit @ApiOperation(value = "课程审批") @ApiImplicitParams({ @ApiImplicitParam(paramType = "body", name = "id", dataType = "long", required = true, value = "课程id"), @ApiImplicitParam(paramType = "body", name = "state", dataType = "int", required = true, value = "审批状态(0创建,1待审核,2审批通过,3审批不通过 默认0)") }) @PostMapping("/doApprove") public CommonResult doApprove(@RequestBody ExCourse course){ courseService.doApprove(course); return CommonResult.success(); } @ApiOperation(value = "根据id获取课程信息") @GetMapping(value = { "/{courseId}" }) public CommonResult getCompanyInfo(@PathVariable(value = "courseId", required = true) Long courseId) { return CommonResult.success(courseService.selectCourseById(courseId)); } @RepeatSubmit @Log(title = "课程管理", businessType = BusinessType.INSERT) @ApiOperation(value = "新增课程") @PostMapping public CommonResult add(@Validated @RequestBody ExCourse course){ return CommonResult.success(courseService.insertCourse(course)); } @RepeatSubmit @Log(title = "课程管理", businessType = BusinessType.UPDATE) @ApiOperation(value = "编辑课程") @PutMapping public CommonResult edit(@Validated @RequestBody ExCourse course){ return CommonResult.success(courseService.updateCourse(course)); } @RepeatSubmit @Log(title = "课程管理", businessType = BusinessType.DELETE) @ApiOperation(value = "删除课程") @DeleteMapping(value = { "/{courseId}" }) public CommonResult delete(@PathVariable(value = "courseId", required = true) Long courseId){ return CommonResult.success(courseService.deleteCourseById(courseId)); } @ApiOperation(value = "校验课程名称是否唯一") @PostMapping("/checkNameUnique") public CommonResult checkNameUnique(@RequestBody ExCourse course) { return CommonResult.success(courseService.checkNameUnique(course)); } @RepeatSubmit @Log(title = "课程管理", businessType = BusinessType.UPDATE) @ApiOperation(value = "修改课程状态") @PutMapping(value = "/changeStatus") public CommonResult changeStatus(@RequestBody ExCourse course){ courseService.changeStatus(course); return CommonResult.success(); } }