fix(data): 统一 MySQL 时间和布尔规范化
This commit is contained in:
@@ -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 = {
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
Reference in New Issue
Block a user