一、新增章节
web层
@ApiOperation(value = "新增章节")@PostMappingpublic R save(@ApiParam(name = "chapterVo", value = "章节对象", required = true)@RequestBody Chapter chapter){chapterService.save(chapter);return R.ok();}
二、根据id查询
web层
@ApiOperation(value = "根据ID查询章节")@GetMapping("{id}")public R getById(@ApiParam(name = "id", value = "章节ID", required = true)@PathVariable String id){Chapter chapter = chapterService.getById(id);return R.ok().data("item", chapter);}
三、更新
web层
@ApiOperation(value = "根据ID修改章节")@PutMapping("{id}")public R updateById(@ApiParam(name = "id", value = "章节ID", required = true)@PathVariable String id,@ApiParam(name = "chapter", value = "章节对象", required = true)@RequestBody Chapter chapter){chapter.setId(id);chapterService.updateById(chapter);return R.ok();}
四、删除
1、web层
@ApiOperation(value = "根据ID删除章节")@DeleteMapping("{id}")public R removeById(@ApiParam(name = "id", value = "章节ID", required = true)@PathVariable String id){boolean result = chapterService.removeChapterById(id);if(result){return R.ok();}else{return R.error().message("删除失败");}}
2、Service
ChapterService层:接口
boolean removeChapterById(String id);
ChapterService层:实现
@Overridepublic boolean removeChapterById(String id) {//根据id查询是否存在视频,如果有则提示用户尚有子节点if(videoService.getCountByChapterId(id)){throw new GuliException(20001,"该分章节下存在视频课程,请先删除视频课程");}Integer result = baseMapper.deleteById(id);return null != result && result > 0;}
VideoService:接口
boolean getCountByChapterId(String chapterId);
VideoService:实现
@Override
public boolean getCountByChapterId(String chapterId) {
QueryWrapper<Video> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("chapter_id", chapterId);
Integer count = baseMapper.selectCount(queryWrapper);
return null != count && count > 0;
}
