A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

2.2.3 Dao
创建TeachplanMediaPub表的Dao,向TeachplanMediaPub存储信息采用先删除该课程的媒资信息,再添加该课 程的媒资信息,所以这里定义根据课程id删除课程计划媒资方法:
[AppleScript] 纯文本查看 复制代码
public interface TeachplanMediaPubRepository extends JpaRepository<TeachplanMediaPub, String> {  
   //根据课程id删除课程计划媒资信息  
   long deleteByCourseId(String courseId); 
} //从TeachplanMedia查询课程计划媒资信息 public interface TeachplanMediaRepository extends JpaRepository<TeachplanMedia, String> {
     List<TeachplanMedia> findByCourseId(String courseId); }

2.2.4 Service
编写保存课程计划媒资信息方法,并在课程发布时调用此方法。
1、保存课程计划媒资信息方法
本方法采用先删除该课程的媒资信息,再添加该课程的媒资信息。

[AppleScript] 纯文本查看 复制代码
//保存课程计划媒资信息 private void saveTeachplanMediaPub(String courseId){ 
    //查询课程媒资信息   
  List<TeachplanMedia> teachplanMediaList = teachplanMediaRepository.findByCourseId(courseId);   
  //将课程计划媒资信息存储待索引表    
 teachplanMediaPubRepository.deleteByCourseId(courseId);  
   List<TeachplanMediaPub> teachplanMediaPubList = new ArrayList<>();  
   for(TeachplanMedia teachplanMedia:teachplanMediaList){  
       TeachplanMediaPub teachplanMediaPub =new TeachplanMediaPub();   
      BeanUtils.copyProperties(teachplanMedia,teachplanMediaPub);    
     teachplanMediaPubList.add(teachplanMediaPub);
     }   
 teachplanMediaPubRepository.saveAll(teachplanMediaPubList); }

2、课程发布时调用此方法 修改课程发布的service方法:

[AppleScript] 纯文本查看 复制代码
.... 
//保存课程计划媒资信息到待索引表 saveTeachplanMediaPub(courseId); 
//页面url String pageUrl = cmsPostPageResult.getPageUrl(); 
return new CoursePublishResult(CommonCode.SUCCESS,pageUrl); 
.....

3.2.5 测试
测试课程发布后是否成功将课程媒资信息存储到teachplan_media_pub中,测试流程如下:
1、指定一个课程
2、为课程计划添加课程媒资
3、执行课程发布
4、观察课程计划媒资信息是否存储至teachplan_media_pub中
注意:由于此测试仅用于测试发布课程计划媒资信息的功能,可暂时将cms页面发布的功能暂时屏蔽,提高测试效 率。




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马