课程添加
一、后台api
1、定义CourseInfoVo 表单对象
CourseInfoVo .java
@Data
public class CourseInfoVo {
@ApiModelProperty(value = "课程ID")
private String id;
@ApiModelProperty(value = "课程讲师ID")
private String teacherId;
@ApiModelProperty(value = "课程专业ID")
private String subjectId;
@ApiModelProperty(value = "课程标题")
private String title;
@ApiModelProperty(value = "课程销售价格,设置为0则可免费观看")
private BigDecimal price;
@ApiModelProperty(value = "总课时")
private Integer lessonNum;
@ApiModelProperty(value = "课程封面图片路径")
private String cover;
@ApiModelProperty(value = "课程简介")
private String description;
}
2、修改CourseDescription主键生成策略
@ApiModelProperty(value = "课程ID")
@TableId(value = "id", type = IdType.INPUT)
private String id;
3、定义控制层接口
CourseController .java
@RestController
@Api(description = "课程管理")
@RequestMapping("/eduservice/course")
@CrossOrigin
public class CourseController {
@Autowired
private CourseService courseService;
//添加课程基本信息
@ApiOperation("添加课程基本信息")
@PostMapping("addCourseInfo")
public R addCourseInfo(@RequestBody CourseInfoVo courseInfoVo){
courseService.saveCourseInfo(courseInfoVo);
return R.ok();
}
}
4、定义业务层方法
接口:CourseService.java
public interface CourseService extends IService<Course> {
//添加课程方法
void saveCourseInfo(CourseInfoVo courseInfoVo);
}
5、实现:CourseServiceImpl.java
@Service
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {
@Autowired
private CourseDescriptionService courseDescriptionService;
//添加课程信息
@Override
public void saveCourseInfo(CourseInfoVo courseInfoVo) {
//1、向课程表添加课程基本信息
//把courseInfoVo对象转化成Course对象
Course eduCourse=new Course();
BeanUtils.copyProperties(courseInfoVo,eduCourse);
//baseMapper.insert(eduCourse);
int insert=baseMapper.insert(eduCourse);
if(insert==0){
//添加失败
throw new MyException(20001,"添加课程信息失败");
}
//2、向课程简介表添加课程简介
//edu_course_description
//获取课程ID
String cid=eduCourse.getId();
CourseDescription courseDescription=new CourseDescription();
courseDescription.setDescription(courseInfoVo.getDescription());
courseDescription.setId(cid);
courseDescriptionService.save(courseDescription);
}
}