在线教育项目-day07【添加课程】

1.使用代码生成器生成代码

 

 运行

记得将所有的主键生成策略都改一下

 课程id需要我们自己去输入

以及时间的自动填充

2.细节问题

1.创建vo实体类用于表单数据封装

2.表单提交的数据添加到数据库(需要加到两个数据库,课程表,课程描述表)

3.把讲师和分类做成下拉列表的形式,课程分类做成二级联动效果

3.具体实现

创建vo实体类用于表单数据封装

@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;

}

这个实体类就是我们要传的值

然后创建controller的方法

@RestController
@RequestMapping("/eduservice/edu-course")
@CrossOrigin
public class EduCourseController {
    @Autowired
    EduCourseService courseService;
    @PostMapping("addcourse")
    public R addcourseInfo(@RequestBody CourseInfoVo courseInfoVo){
        courseService.saveCourseInfo(courseInfoVo);
        return R.OK();
    }

}

service

public interface EduCourseService extends IService<EduCourse> {

    void saveCourseInfo(CourseInfoVo courseInfoVo);
}

serviceImpl

@Service
public class EduCourseServiceImpl extends ServiceImpl<EduCourseMapper, EduCourse> implements EduCourseService {

    @Autowired
    private EduCourseDescriptionService courseDescriptionService;
    @Override
    public void saveCourseInfo(CourseInfoVo courseInfoVo) {
        //向课程表中加信息
        //courseInfoVo转换成EduCourse
        EduCourse eduCourse=new EduCourse();
        BeanUtils.copyProperties(courseInfoVo,eduCourse);
        int i=baseMapper.insert(eduCourse);
        if(i==0){
            throw new onlineEduException(20001,"添加失败");
        }
        //获取添加课程id
        String cid=eduCourse.getId();
        //向课程描述表中加信息
        EduCourseDescription eduCourseDescription=new EduCourseDescription();
        eduCourseDescription.setDescription(courseInfoVo.getDescription());
        eduCourseDescription.setId(cid);
        courseDescriptionService.save(eduCourseDescription);

    }
}

在这里需要注意couse和couse_description的id应该是一对一的

进行测试

 然后我们去数据库中查看

 

 可以看到是一样的

猜你喜欢

转载自www.cnblogs.com/dmzna/p/12817793.html