lessonStatisticsService
更新時間:2024-10-21 09:33:43
1、基於課節維度查詢使用者資訊
描述
基于课节维度查询用户信息,这里的数据只是纯业务统计数据,与计费无关
接口地址(仅做说明使用):https://api.polyv.net/hi-class-api/open/statistics/v1/list
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testListLessonStatistics() throws IOException, NoSuchAlgorithmException {
VClassLessonStatisticsRequest vClassLessonStatisticsRequest = new VClassLessonStatisticsRequest();
VClassLessonStatisticsResponse vClassLessonStatisticsResponse;
try {
vClassLessonStatisticsRequest.setLessonId(super.createLesson()).setPageSize(5);
vClassLessonStatisticsResponse = new VClassLessonStatisticsServiceImpl().listLessonStatistics(
vClassLessonStatisticsRequest);
Assert.assertNotNull(vClassLessonStatisticsResponse);
if (vClassLessonStatisticsResponse != null) {
//to do something ......
log.debug("测试基于课节维度查询用户信息成功 {}", JSON.toJSONString(vClassLessonStatisticsResponse));
}
} 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、請求正確,回傳 VClassLessonStatisticsResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.LivexxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因:invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| lessonId | true | Long | 課節號 |
| currentPage | false | Integer | 頁數,預設為 1【對應 API 文件的 pageNumber 欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示 10 筆資料 |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 請求成功時的相關資訊,請求失敗時為空【詳見 LessonStatistics 參數說明】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示 10 筆資料 |
| currentPage | Integer | 目前頁數【對應 API 文件的 pageNumber 欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應 API 文件的 totalPages 欄位】 |
LessonStatistics 參數說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| viewerId | String | 使用者 ID |
| name | String | 使用者暱稱 |
| startTime | Date | 進入時間,格式:年月日時分秒 yyyy-MM-dd HH:mm:ss |
| endTime | Date | 離開房間,格式:年月日時分秒 yyyy-MM-dd HH:mm:ss |
| joinDuration | String | 連線麥克風時長,格式:時分秒 HH:mm:ss |
| ip | String | IP |
| userAgent | String | 使用者裝置 |
| operatingSystem | String | 作業系統,是 Windows 還是 Mac;Android、iOS;其他 |
| browser | String | 瀏覽器,例如 Chrome 93 |
| country | String | 國家 |
| province | String | 省份 |
| city | String | 城市 |
| isp | String | 電信業者 |
