|
|
@@ -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;
|