Ver Fonte

[更新] 全部review常量

WuXinyu há 7 anos atrás
pai
commit
b8679f334b

+ 8 - 4
mock/serializers/review/CheckListItemSerializer.js

@@ -3,23 +3,27 @@ const makeId = require("../../util/makeId");
 /**
  * @description 互评checkListItem详细实体类
  * @typedef {Object} CheckListItemSerializerType
- * @property {number|string} fid item id
+ * @property {number|string} id checkListItem id
  * @property {string} content 评价内容
  * @property {string} level 用户评级
  * @property {string} comment 用户备注
  * @property {string} explain 老师说明
+ * @property {string} remark 学生申请argue的备注
+ * @property {string} state ["DEFAULT","SUBMITTED","PENDING","SOLVING","ARGUED"]
  */
 
 /**
  * @description 生成checkListItem
  * @returns {CheckListItemSerializerType}
  */
-module.exports = () => {
+module.exports = ({ id = makeId(), state = "DEFAULT" }) => {
   return {
-    fid: makeId(),
+    id,
     content: "该项评价的内容, String",
     level: "用户的备注, String",
     comment: "用户的评级",
-    explain: "老师的说明,String"
+    explain: "老师的说明,String",
+    remark: "学生申请argue的备注",
+    state
   };
 };

+ 40 - 0
mock/serializers/review/CheckListResultItemSerializer.js

@@ -0,0 +1,40 @@
+const makeId = require("../../util/makeId");
+
+/**
+ * @description 互评CheckListResultItem详细实体类
+ * @typedef {Object} CheckListResultItemType
+ * @property {number|string} id checkListItem id
+ * @property {string} content 评价内容
+ * @property {string} explain 老师说明
+ * @property {ResultByGroupType[]} results 各个小组的评价
+ */
+
+/**
+ * @description 各个小组的评价
+ * @typedef {Object} ResultByGroupType
+ * @property {number|string} groupId 小组 id
+ * @property {number} level 小组做出的评价
+ * @property {string} comment 小组做出的备注
+ */
+
+/**
+ * @description 生成checkListResultItem
+ * @returns {CheckListResultItemType}
+ */
+module.exports = ({ id = makeId() }) => {
+  /**
+   * @return {ResultByGroupType}
+   */
+  const groupResult = () => ({
+    groupId: makeId(),
+    level: 1,
+    comment: "小组做出的备注"
+  });
+
+  return {
+    id,
+    content: "该项评价的内容, String",
+    explain: "老师的说明,String",
+    results: [groupResult(), groupResult(), groupResult()]
+  };
+};

+ 19 - 20
mock/serializers/review/ReviewDetailSerializer.js

@@ -1,37 +1,36 @@
-const makeLongMarkdown = require("../../util/makeLongMarkdown");
 const makeId = require("../../util/makeId");
-const courseSerializer = require("../course/CourseSerializer");
 const dayjs = require("dayjs");
-const checkListItemSerializer = require("./CheckListItemSerializer");
-const groupSerializer = require("../course/GroupSerializer");
+const reviewDocSimpleSerializer = require("./ReviewDocSimpleSerializer");
 
 /**
- * @description 互评checkListItem详细实体类
+ * @description 互评作业详情
  * @typedef {Object} ReviewDetailSerializerType
- * @property {number|string} id 互评作业id
+ * @property {number|string} reviewId 老师布置一次互评作业id
  * @property {string} name 对应的文档作业名称
- * @property {CourseSerializerType} course 所属课程
- * @property {number} beginAt 开始时间
- * @property {number} endAt 截止时间
- * @property {string} docContent 作业内容
- * @property {CheckListItemSerializerType[]} checkList 评价列表
- * @property {GroupSerializerType} group 所属小组
+ * @property {number} reviewDdl 互评结束时间
+ * @property {number} argueDdl argue结束时间
+ * @property {number} endDdl 最后结束时间
+ * @property {string} state ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
+ * @property {ReviewDocSimpleSerializerType[]} documents 文档评价的实例概况列表
  */
 
 /**
  * @description 生成ReviewDetailSerializer
  * @returns ReviewDetailSerializerType
  */
-const reviewDetailSerializer = () => {
+const reviewDetailSerializer = ({ reviewId = makeId(), state = "DEFAULT" }) => {
   return {
-    id: makeId(),
+    reviewId,
     name: "该项评价的内容, String",
-    course: courseSerializer(),
-    beginAt: dayjs("2018-10-21").unix(),
-    endAt: dayjs("2018-12-21").unix(),
-    docContent: makeLongMarkdown(),
-    checkList: [checkListItemSerializer(), checkListItemSerializer()],
-    group: groupSerializer()
+    reviewDdl: dayjs("2018-9-21").unix(),
+    argueDdl: dayjs("2018-10-21").unix(),
+    endDdl: dayjs("2018-12-21").unix(),
+    state,
+    documents: [
+      reviewDocSimpleSerializer(),
+      reviewDocSimpleSerializer(),
+      reviewDocSimpleSerializer()
+    ]
   };
 };
 

+ 37 - 0
mock/serializers/review/ReviewDocDetailSerializer.js

@@ -0,0 +1,37 @@
+const makeLongMarkdown = require("../../util/makeLongMarkdown");
+const makeId = require("../../util/makeId");
+const checkListItemSerializer = require("./CheckListItemSerializer");
+const groupSerializer = require("../course/GroupSerializer");
+const reviewDetailSerializer = require("./ReviewDetailSerializer");
+
+/**
+ * @description 一次文档评价实例的详情
+ * @typedef {Object} ReviewDocDetailSerializerType
+ * @property {number|string} docReviewId 一次文档评价的实例id
+ * @property {ReviewDetailSerializerType} review 互评作业详情
+ * @property {GroupSerializerType} group 作者小组
+ * @property {string} docContent 文档内容
+ * @property {CheckListItemSerializerType[]} checkList check列表
+ */
+
+/**
+ * @description 生成ReviewDocDetailSerializer一次文档评价实例的详情
+ * @returns {ReviewDocDetailSerializerType}
+ */
+const reviewDocDetailSerializer = (docReviewId = makeId()) => {
+  return {
+    docReviewId,
+    review: reviewDetailSerializer({}),
+    group: groupSerializer(),
+    docContent: makeLongMarkdown(),
+    checkList: [
+      checkListItemSerializer({ state: "DEFAULT" }),
+      checkListItemSerializer({ state: "SUBMITTED" }),
+      checkListItemSerializer({ state: "PENDING" }),
+      checkListItemSerializer({ state: "SOLVING" }),
+      checkListItemSerializer({ state: "ARGUED" })
+    ]
+  };
+};
+
+module.exports = reviewDocDetailSerializer;

+ 36 - 0
mock/serializers/review/ReviewDocResultSerializer.js

@@ -0,0 +1,36 @@
+const makeLongMarkdown = require("../../util/makeLongMarkdown");
+const makeId = require("../../util/makeId");
+const checkListResultItemSerializer = require("./CheckListResultItemSerializer");
+const groupSerializer = require("../course/GroupSerializer");
+const reviewDetailSerializer = require("./ReviewDetailSerializer");
+
+/**
+ * @description 一次文档评价实例的详情
+ * @typedef {Object} ReviewDocDetailSerializerType
+ * @property {number|string} docReviewId 一次文档评价的实例id
+ * @property {ReviewDetailSerializerType} review 互评作业详情
+ * @property {string} docContent 文档内容
+ * @property {CheckListResultItemType[]} checkListResult check结果列表
+ */
+
+/**
+ * @description 生成ReviewDocDetailSerializer一次文档评价实例的详情
+ * @returns {ReviewDocDetailSerializerType}
+ */
+const reviewDocDetailSerializer = (docReviewId = makeId()) => {
+  return {
+    docReviewId,
+    review: reviewDetailSerializer({}),
+    level: groupSerializer(),
+    docContent: makeLongMarkdown(),
+    checkListResult: [
+      checkListResultItemSerializer({}),
+      checkListResultItemSerializer({}),
+      checkListResultItemSerializer({}),
+      checkListResultItemSerializer({}),
+      checkListResultItemSerializer({})
+    ]
+  };
+};
+
+module.exports = reviewDocDetailSerializer;

+ 22 - 0
mock/serializers/review/ReviewDocSimpleSerializer.js

@@ -0,0 +1,22 @@
+const makeId = require("../../util/makeId");
+const groupSerializer = require("../course/GroupSerializer");
+
+/**
+ * @description 一次文档评价的实例概况
+ * @typedef {Object} ReviewDocSimpleSerializerType
+ * @property {number|string} docReviewId 一次文档评价的实例id
+ * @property {GroupSerializerType} group 作者小组
+ */
+
+/**
+ * @description 生成ReviewDocSimpleSerializer一次文档评价的实例概况
+ * @returns {ReviewDocSimpleSerializerType}
+ */
+const reviewDocSimpleSerializer = (id = makeId()) => {
+  return {
+    docReviewId: id,
+    group: groupSerializer()
+  };
+};
+
+module.exports = reviewDocSimpleSerializer;

+ 46 - 39
mock/serializers/review/ReviewResultSerializer.js

@@ -1,67 +1,74 @@
 const makeId = require("../../util/makeId");
-const reviewDetailSerializer = require("./ReviewDetailSerializer");
-const checkListItemSerializer = require("./CheckListItemSerializer");
+const dayjs = require("dayjs");
 
 /**
- * @description 互评ReviewResultSerializer详细实体类
+ * @description 互评作业结果汇总
  * @typedef {Object} ReviewResultSerializerType
- * @property {number|string} id ReviewResultSerializer
- * @property {ReviewDetailSerializerType} detail 文档详情
- * @property {string} level 文档等级
- * @property {number} score 文档分数
- * @property {CheckListResult[]} checkListResult 互评作业的结果
+ * @property {number|string} reviewId 老师布置一次互评作业id
+ * @property {string} name 对应的文档作业名称
+ * @property {number} reviewDdl 互评结束时间
+ * @property {number} argueDdl argue结束时间
+ * @property {number} endDdl 最后结束时间
+ * @property {string} state ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
+ * @property {Number} completeRate (int)(完成率*100)
+ * @property {PassedCDFType[]} passedCDF cdf图
+ * @property {CheckListAnalysedItemSerializerType[]} checklistItems check汇总
  */
 
 /**
- * @description 详细评价结果CheckListResult
- * @typedef {Object} CheckListResult
- * @property {string|number} id id
- * @property {CheckListItemSerializerType} checkListItem
- * @property {GroupCheckResult[]} results 小组作出的评价
+ * @description 互评作业结果汇总
+ * @typedef {Object} PassedCDFType
+ * @property {number} passedNumber
+ * @property {number} passedRatio
  */
 
 /**
- * @description 各个小组的评价 groupCheckResult
- * @typedef {Object} GroupCheckResult
- * @property {string|number} judgeItemId id
- * @property {number} level 小组作出的评价
- * @property {string} comment 小组作出的备注
+ * @description
+ * @typedef {Object} CheckListAnalysedItemSerializerType
+ * @property {number|string} id checkListItem id
+ * @property {string} content 评价内容
+ * @property {number} passedNum 通过量
+ * @property {string} explain 老师说明
  */
 
 /**
- * @description 生成DocResultSerializer
+ * @description 生成 ReviewResultSerializerType 互评作业结果汇总
  * @returns {ReviewResultSerializerType}
  */
-const reviewResultSerializer = () => {
+const reviewSimpleSerializer = ({ reviewId = makeId(), state = "DEFAULT" }) => {
   /**
-   * @return {GroupCheckResult}
+   * @return {PassedCDFType}
    */
-  const groupCheckResultItem = (level = 0) => ({
-    judgeItemId: makeId(),
-    level: level,
-    comment: "我是备注我是小组备注"
+  const passedCDF = (passedNumber = 30) => ({
+    passedNumber,
+    passedRatio: passedNumber
   });
 
   /**
-   * @returns {CheckListResult}
+   * @return {CheckListAnalysedItemSerializerType}
    */
-  const checkListResultItem = () => ({
+  const checkListAnalysedItemSerializer = () => ({
     id: makeId(),
-    checkListItem: checkListItemSerializer(),
-    results: [
-      groupCheckResultItem(),
-      groupCheckResultItem(1),
-      groupCheckResultItem()
-    ]
+    content: "评价内容",
+    passedNum: 10,
+    explain: "老师的说明说明说明说明"
   });
 
   return {
-    id: makeId(),
-    detail: reviewDetailSerializer(),
-    level: "A",
-    score: 80,
-    checkListResult: [checkListResultItem(), checkListResultItem()]
+    reviewId,
+    name: "需求规格说明文档",
+    reviewDdl: dayjs("2018-9-21").unix(),
+    argueDdl: dayjs("2018-10-21").unix(),
+    endDdl: dayjs("2018-12-21").unix(),
+    state,
+    completeRate: 89,
+    passedCDF: [passedCDF(), passedCDF(), passedCDF()],
+    checklistItems: [
+      checkListAnalysedItemSerializer(),
+      checkListAnalysedItemSerializer(),
+      checkListAnalysedItemSerializer()
+    ]
   };
 };
 
-module.exports = reviewResultSerializer;
+module.exports = reviewSimpleSerializer;

+ 15 - 17
mock/serializers/review/ReviewSimpleSerializer.js

@@ -1,31 +1,29 @@
 const makeId = require("../../util/makeId");
-const courseSerializer = require("../course/CourseSerializer");
 const dayjs = require("dayjs");
-const groupSerializer = require("../course/GroupSerializer");
 
 /**
- * @description 互评checkListItem详细实体类
+ * @description 互评作业概况
  * @typedef {Object} ReviewSimpleSerializerType
- * @property {number|string} id 互评作业id
+ * @property {number|string} reviewId 老师布置一次互评作业id
  * @property {string} name 对应的文档作业名称
- * @property {CourseSerializerType} course 所属课程
- * @property {number} beginAt 开始时间
- * @property {number} endAt 截止时间
- * @property {GroupSerializerType} group 所属小组
+ * @property {number} reviewDdl 互评结束时间
+ * @property {number} argueDdl argue结束时间
+ * @property {number} endDdl 最后结束时间
+ * @property {string} state ["DEFAULT","REVIEWING","ARGUING","SOLVING","END"]
  */
 
 /**
- * @description 生成ReviewSimpleSerializerType
- * @returns ReviewSimpleSerializerType
+ * @description 生成 ReviewSimpleSerializerType 互评作业概况
+ * @returns {ReviewSimpleSerializerType}
  */
-const reviewSimpleSerializer = () => {
+const reviewSimpleSerializer = ({ reviewId = makeId(), state = "DEFAULT" }) => {
   return {
-    id: makeId(),
-    name: "该项评价的内容, String",
-    course: courseSerializer(),
-    beginAt: dayjs("2018-10-21").unix(),
-    endAt: dayjs("2018-12-21").unix(),
-    group: groupSerializer()
+    reviewId,
+    name: "需求规格说明文档",
+    reviewDdl: dayjs("2018-9-21").unix(),
+    argueDdl: dayjs("2018-10-21").unix(),
+    endDdl: dayjs("2018-12-21").unix(),
+    state
   };
 };