diff --git a/apps/server/src/attendance/attendance-import.service.ts b/apps/server/src/attendance/attendance-import.service.ts index 7076a55..3de82fe 100644 --- a/apps/server/src/attendance/attendance-import.service.ts +++ b/apps/server/src/attendance/attendance-import.service.ts @@ -228,7 +228,7 @@ export class AttendanceImportService { } } - entity.matchStatus = '未处理'; + entity.matchStatus = 'unmatched'; entity.rawData = JSON.stringify(r); return entity; } diff --git a/apps/server/src/attendance/attendance.service.ts b/apps/server/src/attendance/attendance.service.ts index 86d3294..1e7c0f9 100644 --- a/apps/server/src/attendance/attendance.service.ts +++ b/apps/server/src/attendance/attendance.service.ts @@ -344,14 +344,14 @@ export class AttendanceService { } record.matchedStudentId = dto.studentId; - record.matchStatus = '已匹配'; + record.matchStatus = 'matched'; return this.dingRawRepo.save(record); } // ── Auto-match unmatched dingtalk records via dingUserId → userId mapping chain ── async autoMatchDingRecords(): Promise<{ matched: number; total: number }> { const unmatched = await this.dingRawRepo.find({ - where: { matchStatus: '未处理' }, + where: { matchStatus: 'unmatched' }, }); if (unmatched.length === 0) return { matched: 0, total: 0 }; @@ -369,7 +369,7 @@ export class AttendanceService { if (studentId == null) continue; record.matchedStudentId = studentId; - record.matchStatus = '已匹配'; + record.matchStatus = 'matched'; await this.dingRawRepo.save(record); matched++; } diff --git a/apps/server/src/attendance/dto/attendance.dto.ts b/apps/server/src/attendance/dto/attendance.dto.ts index d4fb758..feb89cf 100644 --- a/apps/server/src/attendance/dto/attendance.dto.ts +++ b/apps/server/src/attendance/dto/attendance.dto.ts @@ -78,7 +78,7 @@ export class AttendanceCalendarQueryDto { export class QueryDingRawDto { @IsOptional() @IsString() - @IsIn(['未处理', '已匹配', '待匹配']) + @IsIn(['unmatched', 'pending', 'matched']) matchStatus?: string; } diff --git a/apps/server/src/entities/ding-attendance-raw.entity.ts b/apps/server/src/entities/ding-attendance-raw.entity.ts index 6aed4f8..49537de 100644 --- a/apps/server/src/entities/ding-attendance-raw.entity.ts +++ b/apps/server/src/entities/ding-attendance-raw.entity.ts @@ -44,7 +44,7 @@ export class DingAttendanceRaw { @Column({ name: 'location_result', length: 20, nullable: true }) locationResult: string; - @Column({ name: 'match_status', length: 20, default: '未处理' }) + @Column({ name: 'match_status', length: 20, default: 'unmatched' }) matchStatus: string; @Column({ name: 'matched_student_id', type: 'integer', nullable: true })