fix(M-AI-08): correct Prisma field names in snapshot builder
- DailyLearningActivity.date -> activityDate - ReviewLog.rating is String, not Int (use parseInt) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
fe277b4667
commit
fa1262cb93
@ -183,7 +183,7 @@ export class LearningAnalysisSnapshotBuilder {
|
||||
private async aggregateStudyMetrics(userId: string, start: Date, end: Date) {
|
||||
try {
|
||||
const activities = await this.prisma.dailyLearningActivity.findMany({
|
||||
where: { userId, date: { gte: start, lte: end } },
|
||||
where: { userId, activityDate: { gte: start, lte: end } },
|
||||
select: { durationSeconds: true, activeRecallCount: true, reviewCount: true, readingSeconds: true },
|
||||
});
|
||||
const totalDuration = activities.reduce((s, a) => s + (a.durationSeconds || 0), 0);
|
||||
@ -208,7 +208,7 @@ export class LearningAnalysisSnapshotBuilder {
|
||||
take: 200,
|
||||
}),
|
||||
]);
|
||||
const ratings = reviews.filter(r => typeof r.rating === 'number').map(r => r.rating as number);
|
||||
const ratings = reviews.map(r => parseInt(r.rating, 10)).filter(n => !isNaN(n));
|
||||
const accuracy = ratings.length > 0 ? ratings.filter(r => r >= 3).length / ratings.length : 0;
|
||||
return {
|
||||
reviewDueCount: dueCount,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user