|
@@ -1,523 +0,0 @@
|
|
|
-# Review - 互评
|
|
|
|
|
-
|
|
|
|
|
-> url 前缀:**review**
|
|
|
|
|
->
|
|
|
|
|
-> 示例:**https://xxxxxxxxx/api/review/xxxx**
|
|
|
|
|
-
|
|
|
|
|
-## 术语表
|
|
|
|
|
-
|
|
|
|
|
-| 用词 | 术语 | 含义 |
|
|
|
|
|
-| -------------- | -------- | ------------------------------------------ |
|
|
|
|
|
-| review | 互评 | - |
|
|
|
|
|
-| reviewHomework | 互评作业 | 一次互评作业与一次文档作业相关联 |
|
|
|
|
|
-| document | 文档 | 在一次互评作业中通常需要互评多个小组的文档 |
|
|
|
|
|
-| |
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-## TEACHER
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 新建互评作业
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /review
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "courseId": Number, // 课程id
|
|
|
|
|
- "documentHwId": Number, //文档作业id,
|
|
|
|
|
- "taskNumber": Number, //互评任务数
|
|
|
|
|
- "startAt" : Number, //互评开始时间
|
|
|
|
|
- "reviewDdl" : **Number** - 互评结束时间 | `timestamp`,
|
|
|
|
|
- "argueDdl" : **Number** - argue结束时间 | `timestamp`,
|
|
|
|
|
- "endDdl" : **Number** - 最后结束时间 | `timestamp`
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 老师查看互评作业列表
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /teacher/course/:courseId/review
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<互评作业概况>
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师查看互评作业详情
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /teacher/review/:reviewId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 互评作业详情
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师提交互评作业checklist
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /teacher/review/:reviewId/checklist
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "checkListRules": [
|
|
|
|
|
- {
|
|
|
|
|
- "content":"是否有目录",
|
|
|
|
|
- "explanation":"是否有目录explanation"
|
|
|
|
|
- },{
|
|
|
|
|
- "content":"是否有标题",
|
|
|
|
|
- "explanation":"是否有标题explanation"
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师查看互评作业汇总结果
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /sum/:reviewId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": see 互评作业结果汇总
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师查看某次互评作业所有小组
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /sum/:reviewId/group
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<GroupSerializer>
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师查看某次互评作业一个小组的详细结果
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /sum/:reviewId/group/:groupId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 某次互评作业中自己的文档&别的组的互评结果
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-//TODO
|
|
|
|
|
-### 老师开始对某次互评作业一个小组进行评价
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /sum/:reviewId/argue/:groupId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 一次文档评价实例的详情
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 老师提交对某次互评作业一个小组的评价结果
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /sum/:reviewId/argue/:groupId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "checkList": checkListItem
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "checkList": checkListItem
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 老师更新作业评分标准
|
|
|
|
|
-
|
|
|
|
|
-[TEACHER]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /sum/:reviewId/level
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- [level(A,B,C,D,E,F)]: [studentNum(学生通过数)]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-## STUDENT
|
|
|
|
|
-
|
|
|
|
|
-### 学生查看老师发布的互评作业列表
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /student/course/:courseId/review
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<互评作业概况>
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 学生查看互评作业详情
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /student/review/:reviewId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 互评作业详情
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 学生获取某次互评作业中某个文档
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /student/review/:reviewId/doc-review/:docReviewId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 一次文档评价实例的详情
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-### 学生提交某次互评作业中的某个文档
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /student/review/:reviewId/doc-review/:docReviewId
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<CheckListItem>
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 学生选择查看某次互评作业中自己的文档
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-get /student/review/:reviewId/result
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": 某次互评作业中自己的文档&别的组的互评结果
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 学生对某个组的某条checklist提出argue
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /student/argue
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "reviewId": Number, //作业id,
|
|
|
|
|
- "id": Number, //某个checkList的id,
|
|
|
|
|
- "groupId": Number, //某个小组的id
|
|
|
|
|
- "remark": String //`{0-100}`
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Error
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "code": 400,
|
|
|
|
|
- "message": "已评审,不可重复评审"
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 学生(评审方)判断是否愿意处理argue
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /student/review/:reviewId/checklist/:checkListId/argue/acceptation
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "accept": Boolean
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<checkListItem> // 整个
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 学生(评审方)提交argue [标记为已处理完成]
|
|
|
|
|
-
|
|
|
|
|
-[STUDENT]
|
|
|
|
|
-
|
|
|
|
|
-```http
|
|
|
|
|
-post /student/review/:reviewId/checklist/:checkListId/argue/end
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Parameters
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": checkListItem
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-#### Response
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "data": Array<checkListItem>
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-see [ReviewSimpleSerializer](../serializer/ReviewSimpleSerializer.md)
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-## 数据定义
|
|
|
|
|
-
|
|
|
|
|
-### 互评作业概况
|
|
|
|
|
-
|
|
|
|
|
-- reviewId: **Number**, // 老师布置一次互评作业id
|
|
|
|
|
-- name : **String** - 对应的文档作业名称 | {2-100}
|
|
|
|
|
-- reviewDdl : **Number** - 互评结束时间 | `timestamp`
|
|
|
|
|
-- argueDdl : **Number** - argue结束时间 | `timestamp`
|
|
|
|
|
-- endDdl : **Number** - 最后结束时间 | `timestamp`
|
|
|
|
|
-- state : **Enum<STRING>** - ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 互评作业详情
|
|
|
|
|
-
|
|
|
|
|
-- reviewId: **Number**, // 老师布置一次互评作业id
|
|
|
|
|
-- name : **String** - 对应的文档作业名称 | {2-100}
|
|
|
|
|
-- documents: **Array<一次文档评价的实例概况>**,
|
|
|
|
|
-- reviewDdl : **Number** - 互评结束时间 | `timestamp`
|
|
|
|
|
-- argueDdl : **Number** - argue结束时间 | `timestamp`
|
|
|
|
|
-- endDdl : **Number** - 最后结束时间 | `timestamp`
|
|
|
|
|
-- state : **Enum<STRING>** - ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 一次文档评价的实例概况
|
|
|
|
|
-
|
|
|
|
|
-- docReviewId: **Number** - 一次文档评价的实例id
|
|
|
|
|
-- group : [**GroupSerializer**](../../course/serializer/GroupSerializer.md)
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 一次文档评价实例的详情
|
|
|
|
|
-
|
|
|
|
|
-- docReviewId: **Number** - 一次文档评价的实例id
|
|
|
|
|
-- review: **互评作业详情**
|
|
|
|
|
-- docContent : **String** - 作业内容
|
|
|
|
|
-- checkList : Array<[**CheckListItemSerializer**](./CheckListItemSerializer.md)>
|
|
|
|
|
-- group : [**GroupSerializer**](../../course/serializer/GroupSerializer.md)
|
|
|
|
|
-
|
|
|
|
|
-### checklistItems
|
|
|
|
|
-
|
|
|
|
|
-#### 评价方 checkListItem-DEFAULT
|
|
|
|
|
-
|
|
|
|
|
-- id : **Number** - checkListItem id
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-// 评价方id
|
|
|
|
|
-// 被评价方 id
|
|
|
|
|
-
|
|
|
|
|
-- content : **String** - 名称 | {2-100}
|
|
|
|
|
-- level : **Boolean** - 用户的评级
|
|
|
|
|
-- comment : **String** - 用户的备注 | {0-200}
|
|
|
|
|
-- explain : **String** - 老师的说明 | {0-200}
|
|
|
|
|
-- state : **Enum<String>** - ["DEFAULT","SUBMITTED","PENDING","SOLVING","ARGUED"]
|
|
|
|
|
-
|
|
|
|
|
-#### 评价方 checkListItem-SUBMITTED
|
|
|
|
|
-
|
|
|
|
|
-see DEFAULT
|
|
|
|
|
-
|
|
|
|
|
-#### 评价方 checkListItem-PENDING
|
|
|
|
|
-
|
|
|
|
|
-[R]
|
|
|
|
|
-
|
|
|
|
|
-see DEFAULT
|
|
|
|
|
-
|
|
|
|
|
-- remark : **String** - 学生申请argue的备注
|
|
|
|
|
-
|
|
|
|
|
-#### 评价方 checkListItem-SOLVING
|
|
|
|
|
-
|
|
|
|
|
-[RW]
|
|
|
|
|
-
|
|
|
|
|
-see PENDING
|
|
|
|
|
-
|
|
|
|
|
-#### 评价方 checkListItem-ARGUED
|
|
|
|
|
-
|
|
|
|
|
-[R]
|
|
|
|
|
-
|
|
|
|
|
-see DEFAULT
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-### 某次互评作业中自己的文档&别的组的互评结果
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
-"reviewId" : Number ,// 互评作业ID,
|
|
|
|
|
-"review" : ,//[互评作业详情],
|
|
|
|
|
-"level" : String|Null,// 文档等级(可能还未生成),
|
|
|
|
|
-"docContent" : String, // 文档内容
|
|
|
|
|
-"checkListResult" : // 详细评价结果,
|
|
|
|
|
-[
|
|
|
|
|
- {
|
|
|
|
|
- "id" : Number ,// checkListItem id,
|
|
|
|
|
- "content" : String ,// 名称 | {2-100},
|
|
|
|
|
- "teacherLevel" : Boolean,// 老师作出的评价
|
|
|
|
|
- "teacherComment" : String,// 老师做出的备注 |
|
|
|
|
|
- "explain" : String ,// 老师的说明 | {0-200},
|
|
|
|
|
- "results" : // 各个小组的评价,
|
|
|
|
|
- [
|
|
|
|
|
- {
|
|
|
|
|
- "groupId" : Number,// 某个小组的评价 id
|
|
|
|
|
- "level" : Boolean,// 小组作出的评价
|
|
|
|
|
- "comment" : String,// 小组做出的备注 |
|
|
|
|
|
- "isArgued": Boolean // 是否已经提过argue 只在查看自己的结果时有效
|
|
|
|
|
- },...
|
|
|
|
|
- ]
|
|
|
|
|
- },...
|
|
|
|
|
-]
|
|
|
|
|
-}
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-### 互评作业结果汇总
|
|
|
|
|
-
|
|
|
|
|
->用于老师查看某次互评作业结果
|
|
|
|
|
-
|
|
|
|
|
-```json
|
|
|
|
|
-{
|
|
|
|
|
- "reviewId": Number, // // 老师布置一次互评作业id
|
|
|
|
|
- "name" : String, // - 对应的文档作业名称 | {2-100}
|
|
|
|
|
- "reviewDdl" : Number, // - 互评结束时间 | `timestamp`
|
|
|
|
|
- "argueDdl" : Number, // - argue结束时间 | `timestamp`
|
|
|
|
|
- "endDdl" : Number, // - 最后结束时间 | `timestamp`
|
|
|
|
|
- "state" : String,//Enum<STRING>** - ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
|
|
|
|
|
- "completeRate": Number,//(int)(完成率*100)
|
|
|
|
|
- "passedCDF": [
|
|
|
|
|
- {
|
|
|
|
|
- "passedNumber": Number,
|
|
|
|
|
- "passedRatio": Number //(int)
|
|
|
|
|
- },...
|
|
|
|
|
- ],
|
|
|
|
|
- "checklistItems":[//按通过数降序排序
|
|
|
|
|
- {
|
|
|
|
|
- "id" : Number ,// checkListItem id,
|
|
|
|
|
- "content" : String ,// 名称 | {2-100},
|
|
|
|
|
- "explain" : String ,// 老师的说明 | {0-200},
|
|
|
|
|
- "passedNum" : Number // number of passed
|
|
|
|
|
- },...
|
|
|
|
|
- ]
|
|
|
|
|
-
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-```
|
|
|