feat: 更新项目配置、数据库架构和文档路径
- 将项目文档路径从 project1.md 改为 project_management/project.md - 启用酒店列表、房间列表和房型列表接口,并扩展启用的酒店ID范围 - 更新项目文档中的字段定义,将多个空调和能耗表字段改为数组类型以支持多设备 - 用新的 room_status_moment.sql 替换 init_db.sql,新增 bright_g 和 agreement_ver 字段,并为空调和能耗表字段使用数组类型,同时添加唯一索引支持 UPSERT
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 '无卡节能累计';
|
||||
@@ -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 # 回路列表
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user