|
@@ -3,6 +3,7 @@ import { AuthenticatedSocket } from '../middleware/auth.middleware';
|
|
|
import { redisService } from './redis.service';
|
|
import { redisService } from './redis.service';
|
|
|
import { AppDataSource } from '@/server/data-source';
|
|
import { AppDataSource } from '@/server/data-source';
|
|
|
import { SubmissionRecords } from '@/server/modules/submission/submission-records.entity';
|
|
import { SubmissionRecords } from '@/server/modules/submission/submission-records.entity';
|
|
|
|
|
+import { ClassroomData } from '@/server/modules/classroom/classroom-data.entity';
|
|
|
import debug from 'debug';
|
|
import debug from 'debug';
|
|
|
import type { Answer } from '@/client/mobile/components/Exam/types';
|
|
import type { Answer } from '@/client/mobile/components/Exam/types';
|
|
|
|
|
|
|
@@ -198,15 +199,22 @@ export class ExamService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const submissionRecordsRepository = AppDataSource.getRepository(SubmissionRecords);
|
|
const submissionRecordsRepository = AppDataSource.getRepository(SubmissionRecords);
|
|
|
|
|
+ const classroomDataRepository = AppDataSource.getRepository(ClassroomData);
|
|
|
const recordsToSave: SubmissionRecords[] = [];
|
|
const recordsToSave: SubmissionRecords[] = [];
|
|
|
|
|
|
|
|
|
|
+ // 查询ClassroomData获取code字段
|
|
|
|
|
+ const classroomData = await classroomDataRepository.findOne({
|
|
|
|
|
+ where: { classroomNo: roomId }
|
|
|
|
|
+ });
|
|
|
|
|
+ const code = classroomData?.code || null;
|
|
|
|
|
+
|
|
|
for (const answer of answers) {
|
|
for (const answer of answers) {
|
|
|
// 转换Redis中的答案数据为提交记录实体
|
|
// 转换Redis中的答案数据为提交记录实体
|
|
|
const submissionRecord = new SubmissionRecords();
|
|
const submissionRecord = new SubmissionRecords();
|
|
|
submissionRecord.classroomNo = roomId;
|
|
submissionRecord.classroomNo = roomId;
|
|
|
submissionRecord.userId = answer.userId || null;
|
|
submissionRecord.userId = answer.userId || null;
|
|
|
submissionRecord.score = this.calculateScore(answer);
|
|
submissionRecord.score = this.calculateScore(answer);
|
|
|
- submissionRecord.code = answer.code || null;
|
|
|
|
|
|
|
+ submissionRecord.code = code; // 使用从ClassroomData获取的code
|
|
|
submissionRecord.trainingDate = answer.date ? new Date(answer.date) : null;
|
|
submissionRecord.trainingDate = answer.date ? new Date(answer.date) : null;
|
|
|
submissionRecord.mark = null; // 标记字段,可根据需要设置
|
|
submissionRecord.mark = null; // 标记字段,可根据需要设置
|
|
|
submissionRecord.status = 1; // 状态:1-正常
|
|
submissionRecord.status = 1; // 状态:1-正常
|