fix(data): 统一 MySQL 时间和布尔规范化

This commit is contained in:
2026-05-12 00:56:33 +08:00
parent 2d068fa66b
commit 9fb37b29c2
2 changed files with 4 additions and 3 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ export function toMysqlBoolean(value: boolean) {
export function fromMysqlBoolean(value: string | boolean) { export function fromMysqlBoolean(value: string | boolean) {
if (typeof value === 'boolean') return value if (typeof value === 'boolean') return value
return value.toLowerCase() === MYSQL_BOOLEAN.TRUE return value.trim().toLowerCase() === MYSQL_BOOLEAN.TRUE
} }
export const DEVICE_STATUS = { export const DEVICE_STATUS = {
+3 -2
View File
@@ -54,6 +54,7 @@ function getBatteryPool() {
waitForConnections: true, waitForConnections: true,
connectionLimit: 5, connectionLimit: 5,
namedPlaceholders: true, namedPlaceholders: true,
dateStrings: true,
}) })
return pool return pool
@@ -166,7 +167,7 @@ function createLatestWhere(input: LatestBatteryPageInput, cursor: PageCursor | n
} }
if (input.lowPower !== undefined) { 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) params.lowPower = toMysqlBoolean(input.lowPower)
} }
@@ -294,7 +295,7 @@ export async function getLatestBatteryPage(input: LatestBatteryPageInput): Promi
` `
SELECT SELECT
COUNT(*) AS total, 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 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 FROM ls_battery_info AS current_record
WHERE ${countWhere.whereSql} WHERE ${countWhere.whereSql}