Interface for querying class consumption details
<h5>Interface introduction</h5>
<ul>
<li>Query the class consumption records of the institution</li>
</ul>
<h5>Interface information</h5>
<table>
<thead>
<tr>
<th style="text-align: left;"></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">URL</td>
<td style="text-align: left;"><a href="https://neukol.axzt.net/edu_openapi/billing/lesson/consume">https://neukol.axzt.net/edu_openapi/billing/lesson/consume</a></td>
</tr>
<tr>
<td style="text-align: left;">HTTP Request Methods</td>
<td style="text-align: left;">POST</td>
</tr>
<tr>
<td style="text-align: left;">Coding format</td>
<td style="text-align: left;">UTF-8</td>
</tr>
</tbody>
</table>
<h5>Request header</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">Field name</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Required</th>
<th style="text-align: left;">Description</th>
<th style="text-align: left;">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">no</td>
<td style="text-align: left;">no</td>
<td style="text-align: left;">no</td>
<td style="text-align: left;">no</td>
<td style="text-align: left;">no</td>
</tr>
</tbody>
</table>
<h5>Form parameter</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">Field name</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Required</th>
<th style="text-align: left;">Description</th>
<th style="text-align: left;">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">True</td>
<td style="text-align: left;">Institution ID</td>
<td style="text-align: left;">5f1140092302bd0ac2dbc7c4</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">True</td>
<td style="text-align: left;">Fixed 32-bit all lowercase characters, institution authentication security key,sign=MD5(params+SECRET),Among them, params represents the concatenated string of all parameters in the request body except sign in lexicographic order(like: “key1=value1key2=value2”)</td>
<td style="text-align: left;">c09636a3a529a386fdaa389228e36fac</td>
</tr>
<tr>
<td style="text-align: left;">timestamp</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">True</td>
<td style="text-align: left;">Unix Epoch timestamp within 20 minutes of current calling interface, unit: milliseconds</td>
<td style="text-align: left;">1600140360000</td>
</tr>
<tr>
<td style="text-align: left;">startTime</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">Start time of query period (timestamp, unit: ms)</td>
</tr>
<tr>
<td style="text-align: left;">endTime</td>
<td style="text-align: left;">Long</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">End time of query period (timestamp, unit: ms)</td>
</tr>
<tr>
<td style="text-align: left;">classRoomId</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">Specified class section ID to query</td>
</tr>
<tr>
<td style="text-align: left;">teachers</td>
<td style="text-align: left;">String[]</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">List of teacher IDs to query,Format 1: 3-20 digits plus character combination ID does not allow special characters to exist, which means ordinary account(like: tea00001),Format 2 : country code + character’ # ‘ + mobile phone number, indicating mobile phone account number(like: 86#15751860597)</td>
</tr>
<tr>
<td style="text-align: left;">pageNumber</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">Paging parameters: query page</td>
</tr>
<tr>
<td style="text-align: left;">pageSize</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">False</td>
<td style="text-align: left;">Paging parameter: query several pieces of data per page</td>
</tr>
</tbody>
</table>
<h5>Response parameter explanation</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">Parameter name</th>
<th style="text-align: left;">Type</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">responseHeader</td>
<td style="text-align: left;">Object</td>
<td>Response header information</td>
</tr>
<tr>
<td style="text-align: left;"> └status</td>
<td style="text-align: left;">int</td>
<td>HTTP corresponding status code</td>
<td>200</td>
</tr>
<tr>
<td style="text-align: left;"> └msg</td>
<td style="text-align: left;">String</td>
<td>Error message</td>
<td>OK</td>
</tr>
<tr>
<td style="text-align: left;">response</td>
<td style="text-align: left;">Object</td>
<td>Response body content</td>
</tr>
<tr>
<td style="text-align: left;"> └allTotal</td>
<td style="text-align: left;">String</td>
<td>Total amount of institutional class consumption</td>
<td>"3738.34"</td>
</tr>
<tr>
<td style="text-align: left;"> └allDeductTotal</td>
<td style="text-align: left;">String</td>
<td>Deduction amount of total class section of institution</td>
<td>"3738.34"</td>
</tr>
<tr>
<td style="text-align: left;"> └selectedTotal</td>
<td style="text-align: left;">String</td>
<td>The total amount of class consumption meeting the current screening conditions</td>
<td>"100.00"</td>
</tr>
<tr>
<td style="text-align: left;"> └selectedDeductTotal</td>
<td style="text-align: left;">String</td>
<td>The total deduction amount of the class meeting the current screening conditions</td>
<td>"100.00"</td>
</tr>
<tr>
<td style="text-align: left;"> └allRecordTotal</td>
<td style="text-align: left;">String</td>
<td>Total consumption amount of cloud recording system for institution classes</td>
<td>"3738.34"</td>
</tr>
<tr>
<td style="text-align: left;"> └allRecordDeductTotal</td>
<td style="text-align: left;">String</td>
<td>Total deduction amount of cloud recording system for institution classes</td>
<td>"3738.34"</td>
</tr>
<tr>
<td style="text-align: left;"> └selectedRecordTotal</td>
<td style="text-align: left;">String</td>
<td>Total consumption amount of cloud recording of class days that meet the current screening conditions</td>
<td>"100.00"</td>
</tr>
<tr>
<td style="text-align: left;"> └selectedRecordDeductTotal</td>
<td style="text-align: left;">String</td>
<td>Total deduction amount of cloud recording of class days that meet the current screening conditions</td>
<td>"100.00"</td>
</tr>
<tr>
<td style="text-align: left;"> └data</td>
<td style="text-align: left;">String</td>
<td>Gift account recharge amount</td>
<td>"0.00"</td>
</tr>
<tr>
<td style="text-align: left;"> └total</td>
<td style="text-align: left;">Integer</td>
<td>Total number (for paging)</td>
<td>15</td>
</tr>
<tr>
<td style="text-align: left;"> └content</td>
<td style="text-align: left;">List<Object></td>
<td>Paging content</td>
<td></td>
</tr>
<tr>
<td style="text-align: left;"> └classroomId</td>
<td style="text-align: left;">String</td>
<td>Class section ID</td>
<td>6048c14de5e9be24642e59ed</td>
</tr>
<tr>
<td style="text-align: left;"> └className</td>
<td style="text-align: left;">String</td>
<td>Class section name</td>
<td>Test class section consumption details</td>
</tr>
<tr>
<td style="text-align: left;"> └startTime</td>
<td style="text-align: left;">Long</td>
<td>Class section start time (timestamp, unit: ms)</td>
<td>1615380813451</td>
</tr>
<tr>
<td style="text-align: left;"> └endTime</td>
<td style="text-align: left;">Long</td>
<td>Class section end time (timestamp, unit: ms)</td>
<td>1615380843890</td>
</tr>
<tr>
<td style="text-align: left;"> └definition</td>
<td style="text-align: left;">String</td>
<td>definition</td>
<td>Standard definition</td>
</tr>
<tr>
<td style="text-align: left;"> └teacher</td>
<td style="text-align: left;">String</td>
<td>Teacher userid,Format 1: 3-20 digits plus character combination ID does not allow special characters to exist, which means ordinary account(like: tea00001,Format 2 : country code + character’ # ‘ + mobile phone number, indicating mobile phone account number(like: 86#15751860597)</td>
<td>teacher</td>
</tr>
<tr>
<td style="text-align: left;"> └assistant</td>
<td style="text-align: left;">String</td>
<td>Assistant userid,Format 1: 3-20 digits plus character combination ID does not allow special characters to exist, which means ordinary account(like: tea00001),Format 2 : country code + character’ # ‘ + mobile phone number, indicating mobile phone account number(like: 86#15751860597)</td>
<td>assis</td>
</tr>
<tr>
<td style="text-align: left;"> └student</td>
<td style="text-align: left;">String[]</td>
<td>Student userid,Is an array,There are two types of element formats:Format 1: 3-20 digits plus character combination ID does not allow special characters to exist, which means ordinary account(like: tea00001),Format 2 : country code + character’ # ‘ + mobile phone number, indicating mobile phone account number(like: 86#15751860597)</td>
<td>["stu001"]</td>
</tr>
<tr>
<td style="text-align: left;"> └classDuration</td>
<td style="text-align: left;">String</td>
<td>Class duration refers to the actual length of class (unit: seconds)</td>
<td>300</td>
</tr>
<tr>
<td style="text-align: left;"> └cost</td>
<td style="text-align: left;">String</td>
<td>Amount spent in class (unit: yuan, with two decimal places)</td>
<td>1.03</td>
</tr>
<tr>
<td style="text-align: left;"> └deduct</td>
<td style="text-align: left;">String</td>
<td>Actual deduction amount of class section (unit: yuan, with two decimal places reserved)</td>
<td>1.03</td>
</tr>
<tr>
<td style="text-align: left;">└recordCost</td>
<td style="text-align: left;">String</td>
<td>Amount spent on cloud recording of class days (unit: yuan, two decimal places reserved)</td>
<td>1.03</td>
</tr>
<tr>
<td style="text-align: left;"> └recordDeduct</td>
<td style="text-align: left;">String</td>
<td>Actual deduction amount (unit: yuan, with two decimal places reserved) of cloud recording system)</td>
<td>1.03</td>
</tr>
</tbody>
</table>
<h5>Request example</h5>
<pre><code>POST /edu_openapi/billing/lesson/consume HTTP/1.1
Host: neukol.axzt.net
Content-Type: application/x-www-form-urlencoded
Cookie: JSESSIONID=FBB6DC9832FC5A73CB00473EF8BAF6E1
Content-Length: 161
timestamp=1615435761632&sid=60486d95e5e9bee409ba5b14&sign=c68f444df2000ce4b427d48e49a7c827&startTime=1583811000000&endTime=1615435761632&pageNumber=1&pageSize=10</code></pre>
<h5>Response example</h5>
<pre><code>{
"responseHeader": {
"status": 200,
"msg": "OK"
},
"response": {
"allTotal": "1.17",
"allDeductTotal": "1.17",
"selectedTotal": "1.17",
"selectedDeductTotal": "1.17",
"data": {
"total": 3,
"content": [
{
"classroomId": "60498219e5e9be24642e5a45",
"className": "Test class report data",
"startTime": 1615430400000,
"endTime": 1615431600032,
"definition": "Standard definition",
"teacher": "tea001",
"assistant": "",
"student": [
"stu001",
"stu002"
],
"classDuration": 989,
"cost": "1.03",
"deduct": "1.03"
},
{
"classroomId": "6048c1aae5e9be24642e59f3",
"className": "Test consumption details",
"startTime": 1615380840000,
"endTime": 1615381140091,
"definition": "Standard definition",
"teacher": "tea001",
"assistant": "",
"student": [
"stu001"
],
"classDuration": 188,
"cost": "0.13",
"deduct": "1.03"
},
{
"classroomId": "6048c14de5e9be24642e59ed",
"className": "Test class section consumption details",
"startTime": 1615380813451,
"endTime": 1615380843890,
"definition": "Standard definition",
"teacher": "teacher",
"assistant": "",
"student": [
"stu001"
],
"classDuration": 0,
"cost": "0.00",
"deduct": "1.03"
}
]
}
}
}</code></pre>
<h5>Error code</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">Error code</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
</tbody>
</table>