学成在线--16.添加课程计划

本文详细介绍了如何在学成在线教育平台上添加课程计划,从需求分析到前后端实现,包括API接口设计、Dao层、Service层、Controller层的代码编写,以及前端页面原型说明和测试流程。用户在课程页面点击添加课程计划,输入信息后可选择上级结点,未选择时会自动添加为课程根结点。后端使用了TeachplanRepository、CourseService和CourseController,前端则涉及到vue组件和api调用。
摘要由CSDN通过智能技术生成

一.需求分析

用户操作流程:
1、进入课程计划页面,点击“添加课程计划”
2、打开添加课程计划页面,输入课程计划信息
在这里插入图片描述

一级 二级 三级
跟节点 大章节 小章节

上级结点 不填写的情况下:

  1. 不选择上级结点,表示当前添加的课程计划的父节点为课程的根结点,此时使用当前课程的courseid去查询根节点具体信息(当然包括根节点的id)。

  2. 若此时找不到根节点,则要自动添加课程的根结点。

  3. 点击提交。

二.API接口

文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\course\CourseControllerApi.java

@ApiOperation("添加课程计划")
public ResponseResult addTeachplan(Teachplan teachplan);

三.后端

1.Dao

文件位置:EduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\dao\TeachplanRepository.java

public interface TeachplanRepository extends JpaRepository<Teachplan, String> {
   
//定义方法根据课程id和父结点id查询出结点列表,可以使用此方法实现查询根结点
public List<Teachplan> findByCourseidAndParentid(String courseId,String parentId);
}

2.Service

文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\service\CourseService.java

@Transactional
public ResponseResult addTeachplan(Teachplan teachplan) {
   

    if(teachplan == null ||
            StringUtils.isEmpty(teachplan.getPname()) ||
            StringUtils.isEmpty(teachplan.getCourseid())){
   
        ExceptionCast.cast(CommonCode.INVALID_PARAM);
    }
    //课程id
    String courseid = teachplan.getCourseid();
    //父结点的id
    String parentid = teachplan.getParentid();
    if(StringUtils.isEmpty(parentid)){
   
        //获取课程的根结点
        parentid = getTeachplanRoot(courseid);
    }
    //查询根结点信息
    Optional<Teachplan> optional = teachplanRepository.findById(parentid);
    Teachplan teachplan1 = optional.get();
    //父结点的级别
    String parent_grade = teachplan1.getGrade();
    //创建一个新结点准备添加
    Teachplan teachplanNew = new Teachplan();
    //将teachplan的属性拷贝到teachplanNew中
    BeanUtils.copyProperties(teachplan,teachplanNew);
    //要设置必要的属性
    teachplanNew.setParentid(parentid);
    if(parent_grade.equals("1")){
   
        teachplanNew.setGrade("2");
    }else{
   
        teachplanNew.setGrade("3");
    }
    teachplanNew.setStatus("0");//未发布
    teachplanRepository.save(teachplanNew)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值