Java的新項(xiàng)目學(xué)成在線筆記-day15(一)

1 學(xué)習(xí)頁(yè)面查詢課程計(jì)劃 1.1 需求分析

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),蕪湖縣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:蕪湖縣等地區(qū)。蕪湖縣做網(wǎng)站價(jià)格咨詢:18982081108

到目前為止,我們已可以編輯課程計(jì)劃信息并上傳課程視頻,下一步我們要實(shí)現(xiàn)在線學(xué)習(xí)頁(yè)面動(dòng)態(tài)讀取章節(jié)對(duì)應(yīng)的 視頻并進(jìn)行播放。在線學(xué)習(xí)頁(yè)面所需要的信息有兩類:一類是課程計(jì)劃信息、一類是課程學(xué)習(xí)信息(視頻地址、學(xué) 習(xí)進(jìn)度等),如下圖:
Java的新項(xiàng)目學(xué)成在線筆記-day15(一)
在線學(xué)習(xí)集成媒資管理的需求如下:
1、在線學(xué)習(xí)頁(yè)面顯示課程計(jì)劃
2、點(diǎn)擊課程計(jì)劃播放該課程計(jì)劃對(duì)應(yīng)的視頻
本章節(jié)實(shí)現(xiàn)學(xué)習(xí)頁(yè)面動(dòng)態(tài)顯示課程計(jì)劃,進(jìn)入不同課程的學(xué)習(xí)頁(yè)面右側(cè)動(dòng)態(tài)顯示當(dāng)前課程的課程計(jì)劃。
1.2 Api接口
課程計(jì)劃信息從哪里獲取?
目前課程計(jì)劃信息在課程管理數(shù)據(jù)庫(kù)和ES索引庫(kù)中存在,考慮性能要求,課程發(fā)布后對(duì)課程的查詢統(tǒng)一從ES索引庫(kù) 中查詢。
前端通過(guò)請(qǐng)求搜索服務(wù)獲取課程信息,需要單獨(dú)在搜索服務(wù)中定義課程信息查詢接口。
本接口接收課程id,查詢課程所有信息返回給前端。


[mw_shl_code=applescript,true]@ApiOperation("根據(jù)id查詢課程信息") 
public Map<String,CoursePub> getall(String id);[/mw_shl_code]

返回的課程信息為json結(jié)構(gòu):key為課程id,value為課程內(nèi)容。 1.3 服務(wù)端開發(fā)
在搜索服務(wù)中開發(fā)查詢課程信息接口。
1.3.1 Service
在搜索服務(wù)中增加查詢課程信息接口的service


[mw_shl_code=applescript,true]public Map<String, CoursePub> getall(String id) {      
   //設(shè)置索引庫(kù)       
  SearchRequest searchRequest = new SearchRequest(es_index);    
     //設(shè)置類型   
      searchRequest.types(es_type);       
  SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();    
     //查詢條件,根據(jù)課程id查詢    
     searchSourceBuilder.query(QueryBuilders.termsQuery("id", id));   
      //取消source源字段過(guò)慮,查詢所有字段 //    
    searchSourceBuilder.fetchSource(new String[]{"name", "grade", "charge","pic"}, new  String[]{});   
      searchRequest.source(searchSourceBuilder);     
    SearchResponse searchResponse = null;      
   try {   
          //執(zhí)行搜索     
        searchResponse = restHighLevelClient.search(searchRequest);  
       } catch (IOException e) { 
           e.printStackTrace();   
      }      
   //獲取搜索結(jié)果  
       SearchHits hits = searchResponse.getHits(); 
        SearchHit[] searchHits = hits.getHits();    
     Map<String,CoursePub> map = new HashMap<>();  
       for (SearchHit hit : searchHits) {      
       String courseId = hit.getId();      
       Map<String, Object> sourceAsMap = hit.getSourceAsMap();   
          String courseId = (String) sourceAsMap.get("id");     
        String name = (String) sourceAsMap.get("name");     
       String grade = (String) sourceAsMap.get("grade");    
         String charge = (String) sourceAsMap.get("charge");      
       String pic = (String) sourceAsMap.get("pic");     
        String description = (String) sourceAsMap.get("description");      
       String teachplan = (String) sourceAsMap.get("teachplan");      
       CoursePub coursePub = new CoursePub();      
       coursePub.setId(courseId);       
      coursePub.setName(name);
            coursePub.setPic(pic);[/mw_shl_code]
[mw_shl_code=applescript,true] coursePub.setGrade(grade);  
           coursePub.setTeachplan(teachplan);       
      coursePub.setDescription(description);     
        map.put(courseId,coursePub);    
     }       
    return map;    
}
[/mw_shl_code]
1.3.2 Controller 
[mw_shl_code=applescript,true]@Override @GetMapping("/getall/{id}") public Map<String, CoursePub> getall(@PathVariable("id") String id)  {     return esCourseService.getall(id);
}
[/mw_shl_code]

1.3.3 測(cè)試
使用swagger-ui或postman測(cè)試查詢課程信息接口。

網(wǎng)站欄目:Java的新項(xiàng)目學(xué)成在線筆記-day15(一)
網(wǎng)址分享:http://muchs.cn/article34/pgdepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、外貿(mào)建站虛擬主機(jī)、標(biāo)簽優(yōu)化ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)