Java的新项目学成在线笔记-day6(十二)

3.3.3 API接口 
1)添加课程计划


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

3.3.4 课程管理服务 3.3.3.1 Dao


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

3.3.3.2 Service 

//获取课程根结点,如果没有则添加根结点  
   public String getTeachplanRoot(String courseId){   
     //校验课程id       
 Optional<CourseBase> optional = courseBaseRepository.findById(courseId);    
     if(!optional.isPresent()){  
          return null;   
      }   
     CourseBase courseBase = optional.get();
        //取出课程计划根结点

List<Teachplan> teachplanList = teachplanRepository.findByCourseidAndParentid(courseId,  "0");         if(teachplanList == null || teachplanList.size()==0){   
        //新增一个根结点     
       Teachplan teachplanRoot = new Teachplan();       
     teachplanRoot.setCourseid(courseId);       
     teachplanRoot.setPname(courseBase.getName());       
     teachplanRoot.setParentid("0");       
     teachplanRoot.setGrade("1");//1级    
        teachplanRoot.setStatus("0");//未发布    
        teachplanRepository.save(teachplanRoot);    
        return teachplanRoot.getId();    
    }     
  Teachplan teachplan = teachplanList.get(0);     
   return teachplan.getId();   
     }  
 //添加课程计划    
@Transactional   
 public ResponseResult addTeachplan(Teachplan teachplan){ 
      //校验课程id和课程计划名称 
       if(teachplan == null ||      
          StringUtils.isEmpty(teachplan.getCourseid()) ||    
                    StringUtils.isEmpty(teachplan.getPname())){   
        ExceptionCast.cast(CommonCode.INVALIDPARAM);     
   }       
  //取出课程id     
  String courseid = teachplan.getCourseid();    
    //取出父结点id    
   String parentid = teachplan.getParentid();   
     if(StringUtils.isEmpty(parentid)){   
        //如果父结点为空则获取根结点   
         parentid= getTeachplanRoot(courseid);    
    }      
 //取出父结点信息 
       Optional<Teachplan> teachplanOptional = teachplanRepository.findById(parentid);     
   if(!teachplanOptional.isPresent()){    
       ExceptionCast.cast(CommonCode.INVALIDPARAM);     
   }    
   //父结点 
       Teachplan teachplanParent = teachplanOptional.get();  
      //父结点级别     
   String parentGrade = teachplanParent.getGrade();     
   //设置父结点       
 teachplan.setParentid(parentid);     
   teachplan.setStatus("0");//未发布      
  //子结点的级别,根据父结点来判断   
     if(parentGrade.equals("1")){ 
          teachplan.setGrade("2");  
      }else if(parentGrade.equals("2")){
           teachplan.setGrade("3");

}    
   //设置课程id      
 teachplan.setCourseid(teachplanParent.getCourseid());   
     teachplanRepository.save(teachplan);      
  return new ResponseResult(CommonCode.SUCCESS); 
   }

3.3.3.3 controller 

//添加课程计划   
 @Override    
@PostMapping("/teachplan/add")  
 public ResponseResult addTeachplan(@RequestBody  Teachplan teachplan) {    
   return courseService.addTeachplan(teachplan);   
 }

3.3.3.4 测试 
复杂一些的业务逻辑建议写完服务端代码就进行单元测试。
使用swagger-ui或postman测试上边的课程计划添加接口。 
  3.3.5前端 3.3.5.1 Api调用 
1、定义 api方法

/*添加课程计划*/  export const addTeachplan = teachplah => {    return http.requestPost(apiUrl+'/course/teachplan/add',teachplah)  }

2、调用 api


        }         //设置课程id    
    teachplan.setCourseid(teachplanParent.getCourseid());   
      teachplanRepository.save(teachplan);     
    return new ResponseResult(CommonCode.SUCCESS);  
   } 
    //添加课程计划   
  @Override  
   @PostMapping("/teachplan/add")   
 public ResponseResult addTeachplan(@RequestBody 
 Teachplan teachplan) {
        return courseService.addTeachplan(teachplan);  
   } 
addTeachplan(){ 
 this.$refs.teachplayForm.validate((valid) => { 
   if (valid) {  
    //添加课程计划时带上课程id  
    this.teachplanActive.courseid = this.courseid;    
   courseApi.addTeachplan(this.teachplanActive).then((res) => {    
    if(res.success){   
      this.$message.success('提交成功');    
       //清空表单        
   this.teachplanActive = {}     
     //刷新整个树
          this.findTeachplan();

}else{    
     this.$message.error('提交失败');   
     }   
  });  
  } 
}) 
},

3.3.5 测试 
测试流程:
1、新建一个课程
2、向新建课程中添加课程计划
添加一级结点
添加二级结点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值