fix: SUM(energy) 用 CAST AS UNSIGNED 转整数避免 DECIMAL 解码错误

This commit is contained in:
12451 2026-07-03 10:25:41 +08:00
parent 6b31a61387
commit 721df313ee

View File

@ -304,13 +304,13 @@ async fn sum_today_energy(
}
let energy: Option<i64> = if is_super {
sqlx::query_scalar(
"SELECT COALESCE(SUM(energy), 0) FROM charge_records WHERE DATE(start_time) = CURDATE()",
"SELECT COALESCE(CAST(SUM(energy) AS UNSIGNED), 0) FROM charge_records WHERE DATE(start_time) = CURDATE()",
)
.fetch_one(pool)
.await?
} else {
sqlx::query_scalar(
r#"SELECT COALESCE(SUM(cr.energy), 0) FROM charge_records cr
r#"SELECT COALESCE(CAST(SUM(cr.energy) AS UNSIGNED), 0) FROM charge_records cr
INNER JOIN cabinets cab ON cr.cabinet_id = cab.id
INNER JOIN projects p ON cab.project_id = p.id
WHERE DATE(cr.start_time) = CURDATE() AND p.organization_id = ?"#,