Java的新项目学成在线笔记-day15(九)

3.4.4 Service 
在学习服务中定义service方法,此方法远程请求课程管理服务、媒资管理服务获取课程学习地址。

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

@Service  public class LearningService {    

   @Autowired   

  CourseSearchClient courseSearchClient;  

     //获取课程 

    public GetMediaResult getMedia(String courseId, String teachplanId) {     

      //校验学生的学习权限。。是否资费等     

    //调用搜索服务查询    

     TeachplanMediaPub teachplanMediaPub = courseSearchClient.getmedia(teachplanId);          if(teachplanMediaPub == null || StringUtils.isEmpty(teachplanMediaPub.getMediaUrl())){        

     //获取视频播放地址出错         

    ExceptionCast.cast(LearningCode.LEARNING_GETMEDIA_ERROR);  

       }     

      return new GetMediaResult(CommonCode.SUCCESS,teachplanMediaPub.getMediaUrl())

    }  }


3.4.5 Controller 
调用service根据课程计划id查询视频播放地址:
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

8

9

@RestController  @RequestMapping("/learning/course")  public class CourseLearningController implements CourseLearningControllerApi { 

      @Autowired   

  LearningService learningService;    

   @Override 

    @GetMapping("/getmedia/{courseId}/{teachplanId}") 

    public GetMediaResult getmedia(@PathVariable String courseId, @PathVariable String  teachplanId) {     

    //获取课程学习地址    

     return learningService.getMedia(courseId, teachplanId)

    }    }


3.4.6 测试 
使用swagger-ui或postman测试学习服务查询课程视频地址接口。

3.5  前端开发 
3.5.1需求分析 
需要在学习中心前端页面需要完成如下功能:
1、进入课程学习页面需要带上课程Id参数及课程计划Id的参数,其中课程Id参数必带,课程计划Id可以为空。
2、进入页面根据课程Id取出该课程的课程计划显示在右侧。
3、进入页面后判断如果请求参数中有课程计划Id则播放该章节的视频。
4、进入页面后判断如果课程计划id为0则需要取出本课程第一个课程计划的Id,并播放第一个课程计划的视频。   

3.5.2 api方法 

[AppleScript] 纯文本查看 复制代码

?

1

2

let sysConfig = require('@/../config/sysConfig') let apiUrl = sysConfig.xcApiUrlPre; /*获取播放地址*/ export const get_media = (courseId,chapter) => {

  return http.requestGet(apiUrl+'/api/learning/course/getmedia/'+courseId+'/'+chapter); }


3.3.3 配置代理 
在Nginx中的ucenter.xuecheng.com虚拟主机中配置/api/learning/的路径转发,此url请转发到学习服务。
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

#学习服务 upstream learning_server_pool{ server 127.0.0.1:40600 weight=10;  

   }    #学习服务 location ^~ /api/learning/ { 

 proxy_pass http://learning_server_pool/learning/;    

   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值