目录
前言
提示:本篇将讲解课程管理的前后端源码
一、课程管理前端页面解读
课程编码源码解读:
课程学科源码解读:
二、 课程管理 后端源码 解读
1.课程管理后端结构图:
CourseController:接受前端数据
Course对应数据库表:课程管理对象 tb_course
CourseMapper:进行数据处理
CourseService:业务逻辑接口
CourseServiceImpl:业务实现
2.调用方式
3.CourseController解读
参数含义:
- @PreAuthorize(“@ss.hasPermi(‘XX.XX.XX’)”) //权限控制
- @Log(title = “课程管理”, businessType = BusinessType.EXPORT) //操作日志记录
- @PostMapping(“/export”) //请求方式
- AjaxResult() ;//该函数为给前端的通用返回函数;
/**
* 课程管理Controller
*
* @author DDZJ
* @date 06-22
*/
@RestController
@RequestMapping("/course/course")
public class CourseController extends BaseController {
@Autowired
private ICourseService courseService; //IOC注入,交给Spring容器管理
/**
* 查询课程管理列表
*/
@PreAuthorize("@ss.hasPermi('course:course:list')") //权限管理 权限标识为course:course:list
@GetMapping("/list") //请求方式 Get
public TableDataInfo list(Course course) {
startPage(); //分页插件
List<Course> list = courseService.selectCourseList(course); //获取课程信息,封装成List
return getDataTable(list); //返回分页数据表格对象
}
/**
* 导出课程管理列表
*/
@PreAuthorize("@ss.hasPermi('course:course:export')")
@Log(title = "课程管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Course course) {
List<Course> list = courseService.selectCourseList(course);
ExcelUtil<Course> util = new ExcelUtil<Course>(Course.class);
util.exportExcel(response, list, "课程管理数据");
}
/**
* 获取课程管理详细信息
*/
@PreAuthorize("@ss.hasPermi('course:course:query')")//权限管理 权限标识为course:course:query
@GetMapping(value = "/{id}") //请求方式 Get
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(courseService.selectCourseById(id)); //根据课程ID进行查询,将查询结果对象和状态返回
}
/**
* 新增课程管理
*/
@PreAuthorize("@ss.hasPermi('course:course:add')")
@Log(title = "课程管理", businessType = BusinessType.INSERT) //操作日志
@PostMapping
public AjaxResult add(@RequestBody Course course) {
return toAjax(courseService.insertCourse(course)); //toAjax()根据查询结果(影响行数)给前端返回添加状态
}
/**
* 修改课程管理
*/
@PreAuthorize("@ss.hasPermi('course:course:edit')")
@Log(title = "课程管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody Course course) {
return toAjax(courseService.updateCourse(course));
}
/**
* 删除课程管理
*/
@PreAuthorize("@ss.hasPermi('course:course:remove')")
@Log(title = "课程管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(courseService.deleteCourseByIds(ids));
}
}