diff --git a/src/api/controllers/exam.controller.ts b/src/api/controllers/exam.controller.ts index f0d82d4..3169e70 100644 --- a/src/api/controllers/exam.controller.ts +++ b/src/api/controllers/exam.controller.ts @@ -59,6 +59,19 @@ class ExamController extends BaseController { _results.push(_r.compactRecord(false)) } results = _results + } else if (record.source === 3) { + const sysCount = ((record.qcount * record.qrate) / 100) | 0 + let questions = await Puzzle.randomQuestions(params, sysCount) + let _results = transformRecord(questions) + for (let _r of questions) { + history.questions.set(_r.id, _r.compactRecord(true)) + } + questions = await ShopPuzzle.randomQuestions(params, record.qcount - sysCount) + for (let _r of questions) { + history.questions.set(_r.id, _r.compactRecord(true)) + _results.push(_r.compactRecord(false)) + } + results = _results } let stat = new PuzzleStatusClass() stat.timeLast = now diff --git a/src/models/shop/ShopExam.ts b/src/models/shop/ShopExam.ts index 753dcc4..bf49c7b 100644 --- a/src/models/shop/ShopExam.ts +++ b/src/models/shop/ShopExam.ts @@ -145,10 +145,17 @@ export class ShopExamClass extends BaseModule { * 0: 系统题目 * 1: 自定义 * 2: 店铺自定义题库 + * 3: 混合题库 * @type {number} */ @prop({ default: 0 }) public source: number + /** + * 系统题库题目数量和自定义题库数量的比例 + * @type {number} + */ + @prop() + public qrate: number /** * 是否删除