From 9fb37b29c2445a4e9e282a22c52d13c50feb71ac Mon Sep 17 00:00:00 2001 From: imbytecat Date: Tue, 12 May 2026 00:56:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(data):=20=E7=BB=9F=E4=B8=80=20MySQL=20?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=92=8C=E5=B8=83=E5=B0=94=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/domain/battery.constants.ts | 2 +- src/server/battery/mysql.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/domain/battery.constants.ts b/src/domain/battery.constants.ts index ef780b4..4090ed3 100644 --- a/src/domain/battery.constants.ts +++ b/src/domain/battery.constants.ts @@ -35,7 +35,7 @@ export function toMysqlBoolean(value: boolean) { export function fromMysqlBoolean(value: string | boolean) { if (typeof value === 'boolean') return value - return value.toLowerCase() === MYSQL_BOOLEAN.TRUE + return value.trim().toLowerCase() === MYSQL_BOOLEAN.TRUE } export const DEVICE_STATUS = { diff --git a/src/server/battery/mysql.ts b/src/server/battery/mysql.ts index ec9cb6f..0d8fdd1 100644 --- a/src/server/battery/mysql.ts +++ b/src/server/battery/mysql.ts @@ -54,6 +54,7 @@ function getBatteryPool() { waitForConnections: true, connectionLimit: 5, namedPlaceholders: true, + dateStrings: true, }) return pool @@ -166,7 +167,7 @@ function createLatestWhere(input: LatestBatteryPageInput, cursor: PageCursor | n } if (input.lowPower !== undefined) { - clauses.push('current_record.is_low_power = :lowPower') + clauses.push('LOWER(TRIM(current_record.is_low_power)) = :lowPower') params.lowPower = toMysqlBoolean(input.lowPower) } @@ -294,7 +295,7 @@ export async function getLatestBatteryPage(input: LatestBatteryPageInput): Promi ` SELECT COUNT(*) AS total, - COALESCE(SUM(CASE WHEN current_record.is_low_power = '${MYSQL_BOOLEAN.TRUE}' THEN 1 ELSE 0 END), 0) AS lowPower, + COALESCE(SUM(CASE WHEN LOWER(TRIM(current_record.is_low_power)) = '${MYSQL_BOOLEAN.TRUE}' THEN 1 ELSE 0 END), 0) AS lowPower, COALESCE(SUM(CASE WHEN current_record.power_status = ${POWER_STATUS.CHARGING} THEN 1 ELSE 0 END), 0) AS charging FROM ls_battery_info AS current_record WHERE ${countWhere.whereSql}