fix: 修复get_matching_result_detail接口数据类型错误
修复'Invalid column type Real at index: 9, name: match_score'错误 问题根本原因: 1. 数据库schema中match_score字段定义为REAL类型 2. 数据插入时错误地将REAL/INTEGER字段转换为字符串 3. 数据读取时错误地尝试将REAL/INTEGER字段作为String类型获取 修复内容: 1. 修正matching_segment_results表相关字段的数据插入逻辑 - match_score: 直接使用f64类型而非转换为字符串 - segment_duration, start_time, end_time: 直接使用u64类型 2. 修正matching_failed_segment_results表相关字段的数据插入逻辑 - segment_duration, start_time, end_time: 直接使用u64类型 3. 修正row_to_segment_result和row_to_failed_segment_result函数 - 直接使用原始数据类型而非字符串解析 这确保了数据库操作的类型一致性,解决了get_matching_result_detail接口的错误。
This commit is contained in:
parent
3e6c05c4ac
commit
730ac22b84
|
|
@ -277,11 +277,11 @@ impl TemplateMatchingResultRepository {
|
||||||
&segment_result.material_name,
|
&segment_result.material_name,
|
||||||
&segment_result.model_id,
|
&segment_result.model_id,
|
||||||
&segment_result.model_name,
|
&segment_result.model_name,
|
||||||
&segment_result.match_score.to_string(),
|
&segment_result.match_score,
|
||||||
&segment_result.match_reason,
|
&segment_result.match_reason,
|
||||||
&segment_result.segment_duration.to_string(),
|
&segment_result.segment_duration,
|
||||||
&segment_result.start_time.to_string(),
|
&segment_result.start_time,
|
||||||
&segment_result.end_time.to_string(),
|
&segment_result.end_time,
|
||||||
&segment_result.properties,
|
&segment_result.properties,
|
||||||
&segment_result.created_at.to_rfc3339(),
|
&segment_result.created_at.to_rfc3339(),
|
||||||
&segment_result.updated_at.to_rfc3339(),
|
&segment_result.updated_at.to_rfc3339(),
|
||||||
|
|
@ -316,11 +316,11 @@ impl TemplateMatchingResultRepository {
|
||||||
&segment_result.material_name,
|
&segment_result.material_name,
|
||||||
&segment_result.model_id,
|
&segment_result.model_id,
|
||||||
&segment_result.model_name,
|
&segment_result.model_name,
|
||||||
&segment_result.match_score.to_string(),
|
&segment_result.match_score,
|
||||||
&segment_result.match_reason,
|
&segment_result.match_reason,
|
||||||
&segment_result.segment_duration.to_string(),
|
&segment_result.segment_duration,
|
||||||
&segment_result.start_time.to_string(),
|
&segment_result.start_time,
|
||||||
&segment_result.end_time.to_string(),
|
&segment_result.end_time,
|
||||||
&segment_result.properties,
|
&segment_result.properties,
|
||||||
&segment_result.created_at.to_rfc3339(),
|
&segment_result.created_at.to_rfc3339(),
|
||||||
&segment_result.updated_at.to_rfc3339(),
|
&segment_result.updated_at.to_rfc3339(),
|
||||||
|
|
@ -380,9 +380,9 @@ impl TemplateMatchingResultRepository {
|
||||||
&failed_segment.matching_rule_data,
|
&failed_segment.matching_rule_data,
|
||||||
&failed_segment.failure_reason,
|
&failed_segment.failure_reason,
|
||||||
&failed_segment.failure_details,
|
&failed_segment.failure_details,
|
||||||
&failed_segment.segment_duration.to_string(),
|
&failed_segment.segment_duration,
|
||||||
&failed_segment.start_time.to_string(),
|
&failed_segment.start_time,
|
||||||
&failed_segment.end_time.to_string(),
|
&failed_segment.end_time,
|
||||||
&failed_segment.created_at.to_rfc3339(),
|
&failed_segment.created_at.to_rfc3339(),
|
||||||
&failed_segment.updated_at.to_rfc3339(),
|
&failed_segment.updated_at.to_rfc3339(),
|
||||||
],
|
],
|
||||||
|
|
@ -414,9 +414,9 @@ impl TemplateMatchingResultRepository {
|
||||||
&failed_segment.matching_rule_data,
|
&failed_segment.matching_rule_data,
|
||||||
&failed_segment.failure_reason,
|
&failed_segment.failure_reason,
|
||||||
&failed_segment.failure_details,
|
&failed_segment.failure_details,
|
||||||
&failed_segment.segment_duration.to_string(),
|
&failed_segment.segment_duration,
|
||||||
&failed_segment.start_time.to_string(),
|
&failed_segment.start_time,
|
||||||
&failed_segment.end_time.to_string(),
|
&failed_segment.end_time,
|
||||||
&failed_segment.created_at.to_rfc3339(),
|
&failed_segment.created_at.to_rfc3339(),
|
||||||
&failed_segment.updated_at.to_rfc3339(),
|
&failed_segment.updated_at.to_rfc3339(),
|
||||||
],
|
],
|
||||||
|
|
@ -521,11 +521,11 @@ impl TemplateMatchingResultRepository {
|
||||||
material_name: row.get("material_name")?,
|
material_name: row.get("material_name")?,
|
||||||
model_id: row.get("model_id")?,
|
model_id: row.get("model_id")?,
|
||||||
model_name: row.get("model_name")?,
|
model_name: row.get("model_name")?,
|
||||||
match_score: row.get::<_, String>("match_score")?.parse().unwrap_or(0.0),
|
match_score: row.get("match_score")?,
|
||||||
match_reason: row.get("match_reason")?,
|
match_reason: row.get("match_reason")?,
|
||||||
segment_duration: row.get::<_, String>("segment_duration")?.parse().unwrap_or(0),
|
segment_duration: row.get("segment_duration")?,
|
||||||
start_time: row.get::<_, String>("start_time")?.parse().unwrap_or(0),
|
start_time: row.get("start_time")?,
|
||||||
end_time: row.get::<_, String>("end_time")?.parse().unwrap_or(0),
|
end_time: row.get("end_time")?,
|
||||||
properties: row.get("properties")?,
|
properties: row.get("properties")?,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at,
|
updated_at,
|
||||||
|
|
@ -552,9 +552,9 @@ impl TemplateMatchingResultRepository {
|
||||||
matching_rule_data: row.get("matching_rule_data")?,
|
matching_rule_data: row.get("matching_rule_data")?,
|
||||||
failure_reason: row.get("failure_reason")?,
|
failure_reason: row.get("failure_reason")?,
|
||||||
failure_details: row.get("failure_details")?,
|
failure_details: row.get("failure_details")?,
|
||||||
segment_duration: row.get::<_, String>("segment_duration")?.parse().unwrap_or(0),
|
segment_duration: row.get("segment_duration")?,
|
||||||
start_time: row.get::<_, String>("start_time")?.parse().unwrap_or(0),
|
start_time: row.get("start_time")?,
|
||||||
end_time: row.get::<_, String>("end_time")?.parse().unwrap_or(0),
|
end_time: row.get("end_time")?,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at,
|
updated_at,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue