fileService
1、上傳文件到某個課節
描述
上传课节文档接口
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/upload-doc
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
2、上傳的檔案不超過50M,格式限制為(ppt, pdf,pptx,doc,docx,wps,xls,xlsx)
3、file和url只需要傳遞其中一個,如果傳遞了url和file,以file欄位為準
單元測試
@Test
public void testUploadDoc() throws IOException, NoSuchAlgorithmException {
VClassUploadDocRequest vClassUploadDocRequest;
VClassUploadDocResponse vClassUploadDocResponse;
try {
String path = VClassFileServiceTest.class.getResource("/file/PPT.pptx").getPath();
Long lessonId = super.createLesson();
vClassUploadDocRequest = VClassUploadDocRequest.builder()
.lessonId(lessonId)
// .file(new File(path))
.url("https://help.polyv.net/third_res/PPT.pptx")
.docName("测试上传文档")
.callbackUrl("http://www.baidu.com/callback")
.build();
vClassUploadDocResponse = new VClassFileServiceImpl().uploadDoc(vClassUploadDocRequest);
Assert.assertNotNull(vClassUploadDocResponse);
if (vClassUploadDocResponse != null) {
//to do something ......
log.debug("测试上传文档到某个课节成功 {}", JSON.toJSONString(vClassUploadDocResponse));
//TODO 此处创建完成后删除了文档,正式使用需删除该语句
super.deleteDoc(lessonId, vClassUploadDocResponse.getFileId());
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳VClassUploadDocResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
| file | false | File | 上傳的檔案不超過50M,格式限制為(ppt, pdf,pptx,doc,docx,wps,xls,xlsx),file和url只需要傳遞其中一個,如果傳遞了url和file,以file欄位為準 |
| type | false | String | 轉換類型,預設不傳轉普通,因為只有ppt,pptx可以轉動畫,其他類型檔案會自動轉成普通;檔案轉動畫轉失敗會直接把類型轉為普通 common:轉普通圖片 animate:轉動畫效果 |
| docName | false | String | 文件名稱,預設不傳使用ppt上傳的檔案取得的檔案名作為文件名稱,文件名稱不得超過100個字元 |
| callbackUrl | false | String | 文件上傳轉換成功回呼地址 |
| url | false | String | 檔案地址url(需要可存取的地址),file和url只需要傳遞其中一個,如果傳遞了url和file,以file欄位為準 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| type | String | 轉換類型,預設不傳轉普通,因為只有ppt,pptx可以轉動畫,其他類型檔案會自動轉成普通;檔案轉動畫轉失敗會直接把類型轉為普通 common:轉普通圖片 animate:轉動畫效果 |
| fileId | String | 檔案ID,成功時回傳 |
| status | String | 文件狀態 normal:正常 waitUpload:等待上傳 failUpload:上傳失敗 waitConvert:轉換PPT中 failConvert:轉換PPT失敗 |
2、查詢課節已上傳文件列表
描述
获取课节文档列表
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/doc-list
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testListDoc() throws IOException, NoSuchAlgorithmException {
VClassDocListRequest vClassDocListRequest = new VClassDocListRequest();
VClassDocListResponse vClassDocListResponse;
try {
vClassDocListRequest.setLessonId(super.createLesson());
vClassDocListResponse = new VClassFileServiceImpl().listDoc(vClassDocListRequest);
Assert.assertNotNull(vClassDocListResponse);
if (vClassDocListResponse != null) {
//to do something ......
log.debug("测试查询课节已上传文档列表成功 {}", JSON.toJSONString(vClassDocListResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
單元測試說明
1、請求正確,回傳VClassDocListResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
| status | false | String | 文件狀態,預設不傳查詢所有 normal:正常 waitUpload:等待上傳 failUpload:上傳失敗 waitConvert:轉換PPT中 failConvert:轉換PPT失敗 |
| isShowUrl | false | String | 是否展示文件原始檔案地址,預設不傳不展示 Y:是 N:否 |
| currentPage | false | Integer | 頁數,預設為1【對應api文件的page欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示10筆資料【對應api文件的limit欄位】 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 文件列表【詳見Doc參數描述】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示10筆資料 |
| currentPage | Integer | 當前頁【對應api文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應api文件的totalPages欄位】 |
Doc參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| fileId | String | 檔案ID |
| fileName | String | 檔案名稱 |
| fileUrl | String | 檔案url |
| fileType | String | 檔案類型 |
| totalPage | Integer | 上傳文件的內容的總頁數 |
| channelId | String | 頻道號 |
| status | String | 文件狀態,不傳預設查詢所有 normal:正常 waitUpload:等待上傳 failUpload:上傳失敗 waitConvert:轉換PPT中 failConvert:轉換PPT失敗 |
| createTime | Date | 建立時間 |
| convertType | String | 轉換類型,預設不傳轉普通,因為只有ppt,pptx可以轉動畫,其他類型檔案會自動轉成普通;檔案轉動畫轉失敗會直接把類型轉為普通 common:轉普通圖片 animate:轉動畫效果 |
| previewImage | String | ppt預覽小圖地址 |
| previewBigImage | String | ppt預覽大圖地址 |
| autoId | Integer | 文件ID |
3、刪除文件
描述
删除课节文档接口
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/file/v1/delete
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testDeleteDoc() throws IOException, NoSuchAlgorithmException {
VClassDeleteDocRequest vClassDeleteDocRequest;
Boolean vClassDeleteDocResponse;
try {
vClassDeleteDocRequest = VClassDeleteDocRequest.builder()
.lessonId(super.createLesson())
.fileId("5e4e4a18f2dcc89590bc3f8bc70c5da62771229common")
.build();
vClassDeleteDocResponse = new VClassFileServiceImpl().deleteDoc(vClassDeleteDocRequest);
Assert.assertTrue(vClassDeleteDocResponse);
if (vClassDeleteDocResponse) {
//to do something ......
log.debug("测试删除文档成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
}
單元測試說明
1、請求正確,回傳Boolean物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤資訊見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
| fileId | true | String | 檔案ID,(如果有多個,可以用英文逗號隔開拼接成字串),該值來源參考【查詢課節已上傳文件列表】介面回傳資料的data.contents[0].fileId |
| currentPage | false | Integer | 頁數,預設為1【對應api文件的page欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示10筆資料【對應api文件的limit欄位】 |
回傳物件描述
刪除文件回傳實體
