91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的新項目學成在線筆記-day15(一)

發布時間:2020-04-05 12:55:21 來源:網絡 閱讀:352 作者:我是小谷粒 欄目:編程語言

1 學習頁面查詢課程計劃 1.1 需求分析

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


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

返回的課程信息為json結構:key為課程id,value為課程內容。 1.3 服務端開發
在搜索服務中開發查詢課程信息接口。
1.3.1 Service
在搜索服務中增加查詢課程信息接口的service


[mw_shl_code=applescript,true]public Map<String, CoursePub> getall(String id) {      
   //設置索引庫       
  SearchRequest searchRequest = new SearchRequest(es_index);    
     //設置類型   
      searchRequest.types(es_type);       
  SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();    
     //查詢條件,根據課程id查詢    
     searchSourceBuilder.query(QueryBuilders.termsQuery("id", id));   
      //取消source源字段過慮,查詢所有字段 //    
    searchSourceBuilder.fetchSource(new String[]{"name", "grade", "charge","pic"}, new  String[]{});   
      searchRequest.source(searchSourceBuilder);     
    SearchResponse searchResponse = null;      
   try {   
          //執行搜索     
        searchResponse = restHighLevelClient.search(searchRequest);  
       } catch (IOException e) { 
           e.printStackTrace();   
      }      
   //獲取搜索結果  
       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 測試
使用swagger-ui或postman測試查詢課程信息接口。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

营山县| 泰顺县| 宜阳县| 道真| 吴堡县| 茌平县| 五峰| 南通市| 苏尼特左旗| 临城县| 桃江县| 金溪县| 连江县| 木兰县| 大冶市| 阿荣旗| 华池县| 龙岩市| 岐山县| 焉耆| 余姚市| 光山县| 南丹县| 大埔区| 永年县| 宁都县| 霍城县| 宜宾市| 吉首市| 高州市| 观塘区| 工布江达县| 文成县| 讷河市| 邻水| 岱山县| 宜川县| 偏关县| 阿勒泰市| 伊金霍洛旗| 黄梅县|