File Service

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字段】

返回对象描述

删除文档返回实体

Last updated