在线教育项目(二十)----课程发布(后端)

一、后台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);
    }

}

6、Swagger测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
    《SSM课堂后台管理系统》该项目采用技术jsp、SpringMVC、Spring、Mybatis、tomcat服务器、mysql数据库 开发工具eclipse,项目含有源码、文档、配套开发软件、软件安装教程、项目发布教程    本系统分为前后台:    前台功能介绍:影片资源,新片速递,影院公告、个人中心    后台管理功能介绍:个人信息。、修改密码、用户信息管理、电影类型管理、电影厅管理、电影信息管理、电影订票管理、影院公告管理        1、学会各类开发软件安装、项目导入以及项目发布,含项目源码,需求文档,配套软件等    2、该项目主要功能完善,主要用于简历项目经验丰富,以及毕业设计或者二次开发    3、提供项目源码,设计文档、数据库sql文件以及所有配套软件,按照教程即可轻松实现项目安装部署 项目实战课程:代码视频讲解版如下java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008java项目之hrm人事管理项目java毕业设计)https://edu.csdn.net/course/detail/23007JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572JavaWeb项目实战之宿舍管理系统https://edu.csdn.net/course/detail/26721JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610java项目实战之电子商城后台java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989系统学习课程JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值