开始挑战选题时, 增加一些过滤条件

This commit is contained in:
zhl 2021-07-20 12:52:04 +08:00
parent 6d065f33f6
commit 317a931806

View File

@ -39,6 +39,7 @@ class ExamController extends BaseController {
let user = await GameUser.getByAccountID(accountid) let user = await GameUser.getByAccountID(accountid)
history.desk = user?.loginParams?.length > 0 ? user.loginParams[0] : '' history.desk = user?.loginParams?.length > 0 ? user.loginParams[0] : ''
if (record.source === 0) { if (record.source === 0) {
// 系统题目
if (record.qtypes && record.qtypes.length > 0) { if (record.qtypes && record.qtypes.length > 0) {
params = { $or: [{ tag: { $in: record.qtypes } }, { sub_tag: { $in: record.qtypes } }] } params = { $or: [{ tag: { $in: record.qtypes } }, { sub_tag: { $in: record.qtypes } }] }
} }
@ -48,13 +49,15 @@ class ExamController extends BaseController {
history.questions.set(_r.id, _r.compactRecord(true)) history.questions.set(_r.id, _r.compactRecord(true))
} }
} else if (record.source === 1) { } else if (record.source === 1) {
// 自定义
results = record.transQuestion() results = record.transQuestion()
for (let _r of record.questions) { for (let _r of record.questions) {
history.questions.set(_r._id + '', _r.compactRecord(true)) history.questions.set(_r._id + '', _r.compactRecord(true))
} }
} else if (record.source === 2) { } else if (record.source === 2) {
// 店铺自定义题库
if (record.shopCates && record.shopCates.length > 0) { if (record.shopCates && record.shopCates.length > 0) {
params = { groups: { $in: record.shopCates } } params = { groups: { $in: record.shopCates }, shop }
} }
let questions = await ShopPuzzle.randomQuestions(params, record.qcount) let questions = await ShopPuzzle.randomQuestions(params, record.qcount)
let _results = [] let _results = []
@ -64,13 +67,14 @@ class ExamController extends BaseController {
} }
results = _results results = _results
} else if (record.source === 3) { } else if (record.source === 3) {
// 混合题库
const sysCount = ((record.qcount * record.qrate) / 100) | 0 const sysCount = ((record.qcount * record.qrate) / 100) | 0
let questions = await Puzzle.randomQuestions(params, sysCount) let questions = await Puzzle.randomQuestions(params, sysCount)
let _results = transformRecord(questions) let _results = transformRecord(questions)
for (let _r of questions) { for (let _r of questions) {
history.questions.set(_r.id, _r.compactRecord(true)) history.questions.set(_r.id, _r.compactRecord(true))
} }
questions = await ShopPuzzle.randomQuestions(params, record.qcount - sysCount) questions = await ShopPuzzle.randomQuestions({ shop }, record.qcount - sysCount)
for (let _r of questions) { for (let _r of questions) {
history.questions.set(_r.id, _r.compactRecord(true)) history.questions.set(_r.id, _r.compactRecord(true))
_results.push(_r.compactRecord(false)) _results.push(_r.compactRecord(false))