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字段】 |
返回对象描述
删除文档返回实体
