const makeId = require("../../util/makeId"); const reviewDetailSerializer = require("./ReviewDetailSerializer"); const checkListItemSerializer = require("./CheckListItemSerializer"); /** * @description 互评ReviewResultSerializer详细实体类 * @typedef {Object} ReviewResultSerializerType * @property {number|string} id ReviewResultSerializer * @property {ReviewDetailSerializerType} detail 文档详情 * @property {string} level 文档等级 * @property {number} score 文档分数 * @property {CheckListResult[]} checkListResult 互评作业的结果 */ /** * @description 详细评价结果CheckListResult * @typedef {Object} CheckListResult * @property {string|number} id id * @property {CheckListItemSerializerType} checkListItem * @property {GroupCheckResult[]} results 小组作出的评价 */ /** * @description 各个小组的评价 groupCheckResult * @typedef {Object} GroupCheckResult * @property {string|number} judgeItemId id * @property {number} level 小组作出的评价 * @property {string} comment 小组作出的备注 */ /** * @description 生成DocResultSerializer * @returns {ReviewResultSerializerType} */ const reviewResultSerializer = () => { /** * @return {GroupCheckResult} */ const groupCheckResultItem = (level = 0) => ({ judgeItemId: makeId(), level: level, comment: "我是备注我是小组备注" }); /** * @returns {CheckListResult} */ const checkListResultItem = () => ({ id: makeId(), checkListItem: checkListItemSerializer(), results: [ groupCheckResultItem(), groupCheckResultItem(1), groupCheckResultItem() ] }); return { id: makeId(), detail: reviewDetailSerializer(), level: "A", score: 80, checkListResult: [checkListResultItem(), checkListResultItem()] }; }; module.exports = reviewResultSerializer;