新增 AI 結果與資料庫整合

This commit is contained in:
2025-09-23 20:36:53 +08:00
parent ec7d101e96
commit 46db696122
30 changed files with 2352 additions and 54 deletions

View File

@@ -226,10 +226,10 @@ export class ProjectService {
projectData.user_id,
projectData.template_id,
projectData.title,
projectData.description,
projectData.description ?? null,
projectData.status,
projectData.analysis_started_at,
projectData.analysis_completed_at,
projectData.analysis_started_at ?? null,
projectData.analysis_completed_at ?? null,
]);
return result;
}
@@ -357,18 +357,22 @@ export class ProjectWebsiteService {
export class EvaluationService {
static async create(evaluationData: Omit<Evaluation, 'id' | 'created_at' | 'updated_at'>) {
const sql = `
INSERT INTO evaluations (project_id, overall_score, max_possible_score, grade, analysis_duration, ai_model_version, status, error_message)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
INSERT INTO evaluations (project_id, overall_score, max_possible_score, grade, performance_status, recommended_stars, excellent_items, improvement_items, analysis_duration, ai_model_version, status, error_message)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`;
const result = await query(sql, [
evaluationData.project_id,
evaluationData.overall_score,
evaluationData.overall_score ?? null,
evaluationData.max_possible_score,
evaluationData.grade,
evaluationData.analysis_duration,
evaluationData.ai_model_version,
evaluationData.grade ?? null,
evaluationData.performance_status ?? null,
evaluationData.recommended_stars ?? null,
evaluationData.excellent_items ?? null,
evaluationData.improvement_items ?? null,
evaluationData.analysis_duration ?? null,
evaluationData.ai_model_version ?? null,
evaluationData.status,
evaluationData.error_message,
evaluationData.error_message ?? null,
]);
return result;
}
@@ -432,13 +436,13 @@ export class EvaluationScoreService {
VALUES (?, ?, ?, ?, ?, ?, ?)
`;
const result = await query(sql, [
scoreData.evaluation_id,
scoreData.criteria_item_id,
scoreData.score,
scoreData.max_score,
scoreData.weight,
scoreData.weighted_score,
scoreData.percentage,
scoreData.evaluation_id ?? null,
scoreData.criteria_item_id ?? null,
scoreData.score ?? null,
scoreData.max_score ?? null,
scoreData.weight ?? null,
scoreData.weighted_score ?? null,
scoreData.percentage ?? null,
]);
return result;
}
@@ -463,7 +467,7 @@ export class EvaluationFeedbackService {
`;
const result = await query(sql, [
feedbackData.evaluation_id,
feedbackData.criteria_item_id,
feedbackData.criteria_item_id ?? null,
feedbackData.feedback_type,
feedbackData.content,
feedbackData.sort_order,