博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的新项目学成在线笔记-day6(十二)
阅读量:6858 次
发布时间:2019-06-26

本文共 4112 字,大约阅读时间需要 13 分钟。

3.3.3 API接口

1)添加课程计划

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

3.3.4 课程管理服务 3.3.3.1 Dao

public interface TeachplanRepository extends JpaRepository
{ //定义方法根据课程id和父结点id查询出结点列表,可以使用此方法实现查询根结点 public List
findByCourseidAndParentid(String courseId,String parentId); }
3.3.3.2 Service //获取课程根结点,如果没有则添加根结点     public String getTeachplanRoot(String courseId){        //校验课程id        Optional
optional = courseBaseRepository.findById(courseId); if(!optional.isPresent()){ return null; } CourseBase courseBase = optional.get(); //取出课程计划根结点List
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
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、向新建课程中添加课程计划
添加一级结点
添加二级结点

转载于:https://blog.51cto.com/13517854/2355651

你可能感兴趣的文章
WPF笔记(2.8 常用的布局属性)——Layout
查看>>
MySQL随机获取数据的方法,支持大数据量
查看>>
【Struts】服务器文件的上传和下载
查看>>
UICollectionView设置item(cell)之间间距为0(紧挨在一起的效果)
查看>>
Nginx 负载均衡
查看>>
从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
查看>>
创业手记 Mr.Hua
查看>>
SpringMVC之Controller传递JSON数据到页面
查看>>
项目管理学习笔记之中的一个.项目管理综述
查看>>
matlab 工具之各种降维方法工具包,下载及使用教程,有PCA, LDA, 等等。。。...
查看>>
C语言 数组之无限循环
查看>>
List与String的相互转换
查看>>
换行符导致的脚本错误调试
查看>>
Android——Android Sutido:[2]导入eclipse项目篇
查看>>
setsockopt之 TCP_KEEPIDLE/TCP_KEEPINTVL/TCP_KEEPCNT
查看>>
typeid详解
查看>>
SQL Server中的Image数据类型的操作
查看>>
Atitit.html css 浏览器原理理论概论导论attilax总结
查看>>
求解圆圈中最后剩下的数字
查看>>
jQuery入门第二天
查看>>