Review-互评.md 8.0 KB

Review - 互评

url 前缀:review

示例:https://xxxxxxxxx/api/review/xxxx

术语表

用词 术语 含义
review 互评 -
reviewHomework 互评作业 一次互评作业与一次文档作业相关联
document 文档 在一次互评作业中通常需要互评多个小组的文档

TEACHER

新建互评作业

[TEACHER]

post /review

Parameters

{
  "documentHwId": Number, //文档作业id,
  "taskNumber": Number, //互评任务数
  "startAt" : Number, //互评开始时间
  "reviewDdl" : **Number** - 互评结束时间 | `timestamp`,
  "argueDdl" : **Number** - argue结束时间 | `timestamp`,
  "endDdl" : **Number** - 最后结束时间 | `timestamp`
}

老师查看互评作业列表

[TEACHER]

get /teacher/course/:courseId/review

Response

{
    "data": Array<互评作业概况>
}

老师查看互评作业详情

[TEACHER]

get /teacher/review/:reviewId

Response

{
  "data": 互评作业详情
}

老师查看互评作业汇总结果

[TEACHER]

get /sum/:reviewId

Response

{
  "data": see 互评作业结果汇总
}

老师查看某次互评作业所有小组

[TEACHER]

get /sum/:reviewId/group

Response

{
  "data": Array<GroupSerializer>
}

老师查看某次互评作业一个小组的详细结果

[TEACHER]

get /sum/:reviewId/group/:groupId

Response

{
  "data": 某次互评作业中自己的文档&别的组的互评结果
}

//TODO

老师开始对某次互评作业一个小组进行评价

[TEACHER]

get /sum/:reviewId/argue/:groupId

Response

{
  "data": 一次文档评价实例的详情
}

老师提交对某次互评作业一个小组的评价结果

[TEACHER]

post /sum/:reviewId/argue/:groupId

Parameters

{
  "checkList": Array<checkListItem>
}

Response

{
  "checkList": Array<checkListItem>
}

老师更新作业评分标准

[TEACHER]

post /sum/:reviewId/level

Parameters

{
  [level(A,B,C,D,E,F)]: [studentNum(学生通过数)]
}

Response

{}

STUDENT

学生查看老师发布的互评作业列表

[STUDENT]

get /student/course/:courseId/review

Response

{
    "data": Array<互评作业概况>
}

学生查看互评作业详情

[STUDENT]

get /student/review/:reviewId

Response

{
  "data": 互评作业详情
}

学生获取某次互评作业中某个文档

[STUDENT]

get /student/review/:reviewId/doc-review/:docReviewId

Response

{
  "data": 一次文档评价实例的详情
}

学生提交某次互评作业中的某个文档

[STUDENT]

post /student/review/:reviewId/doc-review/:docReviewId

Response

{
  "data": Array<CheckListItem>
}

学生选择查看某次互评作业中自己的文档

[STUDENT]

get /student/review/:reviewId/result

Response

{
  "data": 某次互评作业中自己的文档&别的组的互评结果
}

学生对某个组的某条checklist提出argue

[STUDENT]

post /student/argue

Parameters

{
  "reviewId": Number, //作业id,
  "id": Number, //某个checkList的id,
  "groupId": Number, //某个小组的id
  "remark": String //`{0-100}`
}

Response

{}

Error

{
  "code": 400,
  "message": "已评审,不可重复评审"
}

学生(评审方)判断是否愿意处理argue

[STUDENT]

post /student/review/:reviewId/checklist/:checkListId/argue/acceptation

Parameters

{
  "accept": Boolean
}

Response

{
    "data": Array<checkListItem> // 整个 
}

学生(评审方)提交argue [标记为已处理完成]

[STUDENT]

post /student/review/:reviewId/checklist/:checkListId/argue/end

Parameters

{
    "data": checkListItem
}

Response

{
    "data": Array<checkListItem>
}

see ReviewSimpleSerializer

数据定义

互评作业概况

  • reviewId: Number, // 老师布置一次互评作业id
  • name : String - 对应的文档作业名称 | {2-100}
  • reviewDdl : Number - 互评结束时间 | timestamp
  • argueDdl : Number - argue结束时间 | timestamp
  • endDdl : Number - 最后结束时间 | timestamp
  • state : Enum - ["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 - ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
    • 一次文档评价的实例概况

      • docReviewId: Number - 一次文档评价的实例id
      • group : GroupSerializer

      一次文档评价实例的详情

      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 - ["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

        某次互评作业中自己的文档&别的组的互评结果

        {
        "reviewId" : Number ,// 互评作业ID,
        "review" : ,//[互评作业详情],
        "level" : String|Null,// 文档等级(可能还未生成),
        "docContent" : String, // 文档内容
        "checkListResult" : // 详细评价结果,
        [
         {
            "id" : Number ,// checkListItem id,
            "content" : String ,// 名称 | {2-100},
            "explain" : String ,// 老师的说明 | {0-200},
            "results" : // 各个小组的评价,
          [
            {
              "groupId" : Number,// 某个小组的评价 id
              "level" : Boolean,// 小组作出的评价
              "comment" : String,// 小组做出的备注 |
              "isArgued": Boolean // 是否已经提过argue  只在查看自己的结果时有效
            },...
          ]
         },...
        ]
        }
        

        互评作业结果汇总

        用于老师查看某次互评作业结果

        {
          "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
            },...
          ]
        
        }