refactor(domain): 集中电池业务常量

This commit is contained in:
2026-05-11 23:38:37 +08:00
parent a8e3cf5f4b
commit dc8a595d0a
3 changed files with 211 additions and 75 deletions
+63
View File
@@ -0,0 +1,63 @@
export const POWER_STATUS = {
NOT_CHARGING: 0,
CHARGING: 1,
FULL: 2,
} as const
export type PowerStatus = (typeof POWER_STATUS)[keyof typeof POWER_STATUS]
export const POWER_STATUS_VALUES = [POWER_STATUS.NOT_CHARGING, POWER_STATUS.CHARGING, POWER_STATUS.FULL] as const
export const BATTERY_LIST_SORT = {
CREATED_AT_DESC: 'createdAtDesc',
CREATED_AT_ASC: 'createdAtAsc',
POWER_DESC: 'powerDesc',
POWER_ASC: 'powerAsc',
} as const
export type BatteryListSort = (typeof BATTERY_LIST_SORT)[keyof typeof BATTERY_LIST_SORT]
export const BATTERY_LIST_SORT_VALUES = [
BATTERY_LIST_SORT.CREATED_AT_DESC,
BATTERY_LIST_SORT.CREATED_AT_ASC,
BATTERY_LIST_SORT.POWER_DESC,
BATTERY_LIST_SORT.POWER_ASC,
] as const
export const MYSQL_BOOLEAN = {
TRUE: 'true',
FALSE: 'false',
} as const
export function toMysqlBoolean(value: boolean) {
return value ? MYSQL_BOOLEAN.TRUE : MYSQL_BOOLEAN.FALSE
}
export function fromMysqlBoolean(value: string | boolean) {
if (typeof value === 'boolean') return value
return value.toLowerCase() === MYSQL_BOOLEAN.TRUE
}
export const DEVICE_STATUS = {
HEALTHY: '健康',
WATCH: '关注',
WARNING: '预警',
} as const
export type DeviceStatus = (typeof DEVICE_STATUS)[keyof typeof DEVICE_STATUS]
export const EVENT_SEVERITY = {
HIGH: '高',
MEDIUM: '中',
LOW: '低',
} as const
export type EventSeverity = (typeof EVENT_SEVERITY)[keyof typeof EVENT_SEVERITY]
export const SOH_THRESHOLDS = {
WARNING: 85,
WATCH: 90,
LOW_POWER: 20,
HIGH_RISK_SCORE: 70,
WATCH_RISK_SCORE: 40,
} as const