diff --git a/project_management/project.md b/project_management/project.md index 7c28af0..766cb74 100644 --- a/project_management/project.md +++ b/project_management/project.md @@ -35,19 +35,19 @@ - 服务状态 service_mask int8 - 插卡状态 insert_card int2 (索引) - 空调地址 air_address text[] - - 空调状态 air_state int2 - - 空调模型 air_model int2 - - 空调风速 air_speed int2 - - 空调设置温度 air_set_temp int2 - - 房间当前温度 air_now_temp int2 - - 空调电磁阀状态 air_solenoid_valve int2 + - 空调状态 air_state int2[] + - 空调模型 air_model int2[] + - 空调风速 air_speed int2[] + - 空调设置温度 air_set_temp int2[] + - 房间当前温度 air_now_temp int2[] + - 空调电磁阀状态 air_solenoid_valve int2[] - 能耗表地址 elec_address text[] - - 能耗表电压 elec_voltage double precision - - 能耗表电流 elec_ampere double precision - - 能耗表功率 elec_power double precision - - 当前相位 elec_phase text - - 能耗表能耗 elec_energy double precision - - 能耗表累计能耗 elec_sum_energy double precision + - 能耗表电压 elec_voltage double precision[] + - 能耗表电流 elec_ampere double precision[] + - 能耗表功率 elec_power double precision[] + - 当前相位 elec_phase double precision[] + - 能耗表能耗 elec_energy double precision[] + - 能耗表累计能耗 elec_sum_energy double precision[] - 碳达人状态 carbon_state int2 (索引) - 回路状态 dev_loops jsonb - 碳达人节能累计 energy_carbon_sum double precision diff --git a/project_management/init_db.sql b/project_management/room_status_moment.sql similarity index 89% rename from project_management/init_db.sql rename to project_management/room_status_moment.sql index 5e1dd65..bfd80b3 100644 --- a/project_management/init_db.sql +++ b/project_management/room_status_moment.sql @@ -40,24 +40,26 @@ CREATE TABLE IF NOT EXISTS room_status.room_status_moment ( cardless_state INT2, service_mask INT8, insert_card INT2, - + bright_g INT2, + agreement_ver TEXT, + -- 空调相关 air_address TEXT[], - air_state INT2, - air_model INT2, - air_speed INT2, - air_set_temp INT2, - air_now_temp INT2, - air_solenoid_valve INT2, + air_state INT2[], + air_model INT2[], + air_speed INT2[], + air_set_temp INT2[], + air_now_temp INT2[], + air_solenoid_valve INT2[], -- 能耗相关 elec_address TEXT[], - elec_voltage DOUBLE PRECISION, - elec_ampere DOUBLE PRECISION, - elec_power DOUBLE PRECISION, - elec_phase TEXT, - elec_energy DOUBLE PRECISION, - elec_sum_energy DOUBLE PRECISION, + elec_voltage DOUBLE PRECISION[], + elec_ampere DOUBLE PRECISION[], + elec_power DOUBLE PRECISION[], + elec_phase DOUBLE PRECISION[], + elec_energy DOUBLE PRECISION[], + elec_sum_energy DOUBLE PRECISION[], -- 节能与外设 carbon_state INT2, @@ -83,6 +85,11 @@ CREATE INDEX IF NOT EXISTS idx_room_status_moment_cardless ON room_status.room_s CREATE INDEX IF NOT EXISTS idx_room_status_moment_insert_card ON room_status.room_status_moment (insert_card); CREATE INDEX IF NOT EXISTS idx_room_status_moment_carbon ON room_status.room_status_moment (carbon_state); +-- 3.1 唯一索引 (支持 UPSERT) +-- 必须在 (hotel_id, room_id, device_id) 上建立唯一约束,才能使用 ON CONFLICT +CREATE UNIQUE INDEX IF NOT EXISTS idx_room_status_unique_device +ON room_status.room_status_moment (hotel_id, room_id, device_id); + -- 4. 示例:创建第一个分区 (hotel_id = 1) -- 实际部署时,可根据 hotel_id 动态创建分区 CREATE TABLE IF NOT EXISTS room_status.room_status_moment_h1 @@ -125,6 +132,8 @@ COMMENT ON COLUMN room_status.room_status_moment.elec_phase IS '当前相位'; COMMENT ON COLUMN room_status.room_status_moment.elec_energy IS '能耗表能耗'; COMMENT ON COLUMN room_status.room_status_moment.elec_sum_energy IS '能耗表累计能耗'; COMMENT ON COLUMN room_status.room_status_moment.carbon_state IS '碳达人状态'; +COMMENT ON COLUMN room_status.room_status_moment.bright_g IS '光亮值'; +COMMENT ON COLUMN room_status.room_status_moment.agreement_ver IS '协议版本'; COMMENT ON COLUMN room_status.room_status_moment.dev_loops IS '回路状态'; COMMENT ON COLUMN room_status.room_status_moment.energy_carbon_sum IS '碳达人节能累计'; COMMENT ON COLUMN room_status.room_status_moment.energy_nocard_sum IS '无卡节能累计'; diff --git a/temporary_project_management/.env b/temporary_project_management/.env index b4c0d48..4ea969b 100644 --- a/temporary_project_management/.env +++ b/temporary_project_management/.env @@ -4,13 +4,6 @@ API_BASE_URL=http://www.boonlive-rcu.com:7000/api/values PORT=3000 -# 数据库配置 (废弃) - #(废弃)DB_HOST=10.8.8.109 - #(废弃)DB_PORT=5433 - #(废弃)DB_USER=log_admin - #(废弃)DB_PASSWORD=YourActualStrongPasswordForPostgres! - #(废弃)DB_NAME=log_platform - # 数据库配置 POSTGRES_HOST=10.8.8.109 POSTGRES_PORT=5433 @@ -20,10 +13,10 @@ POSTGRES_PASSWORD=YourActualStrongPasswordForPostgres! POSTGRES_MAX_CONNECTIONS=2 POSTGRES_IDLE_TIMEOUT_MS=30000 # 启用的酒店ID列表 -ENABLED_HOTEL_IDS=1085,2100-2316 +ENABLED_HOTEL_IDS=1001,1068,1085,1865,2000-2400 # 接口启用配置 (true/false) -ENABLE_API_HOTEL_LIST=false # 酒店列表 -ENABLE_API_HOST_LIST=false # 房间列表 -ENABLE_API_ROOM_TYPE_INFO=false # 房型列表 +ENABLE_API_HOTEL_LIST=true # 酒店列表 +ENABLE_API_HOST_LIST=true # 房间列表 +ENABLE_API_ROOM_TYPE_INFO=true # 房型列表 ENABLE_API_ROOM_TYPE_MODAL_INFO=false # 回路列表 diff --git a/temporary_project_management/src/scripts/main.js b/temporary_project_management/src/scripts/main.js index b288864..f5eef77 100644 --- a/temporary_project_management/src/scripts/main.js +++ b/temporary_project_management/src/scripts/main.js @@ -8,7 +8,7 @@ const fs = require('fs'); const path = require('path'); const { query, close } = require('../db/utils'); // Changed from db, all, close -const mdPath = path.resolve(__dirname, '../../../project1.md'); // Adjust relative path to e:\Project_Class\BLS\Web_BLS_SQL\project1.md +const mdPath = path.resolve(__dirname, '../../../project_management/project.md'); // Adjust relative path to e:\Project_Class\BLS\Web_BLS_SQL_Temp\project_management\project.md const endpoints = parseApiEndpoints(mdPath); const stats = {