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
|
- 服务状态 service_mask int8
|
||||||
- 插卡状态 insert_card int2 (索引)
|
- 插卡状态 insert_card int2 (索引)
|
||||||
- 空调地址 air_address text[]
|
- 空调地址 air_address text[]
|
||||||
- 空调状态 air_state int2
|
- 空调状态 air_state int2[]
|
||||||
- 空调模型 air_model int2
|
- 空调模型 air_model int2[]
|
||||||
- 空调风速 air_speed int2
|
- 空调风速 air_speed int2[]
|
||||||
- 空调设置温度 air_set_temp int2
|
- 空调设置温度 air_set_temp int2[]
|
||||||
- 房间当前温度 air_now_temp int2
|
- 房间当前温度 air_now_temp int2[]
|
||||||
- 空调电磁阀状态 air_solenoid_valve int2
|
- 空调电磁阀状态 air_solenoid_valve int2[]
|
||||||
- 能耗表地址 elec_address text[]
|
- 能耗表地址 elec_address text[]
|
||||||
- 能耗表电压 elec_voltage double precision
|
- 能耗表电压 elec_voltage double precision[]
|
||||||
- 能耗表电流 elec_ampere double precision
|
- 能耗表电流 elec_ampere double precision[]
|
||||||
- 能耗表功率 elec_power double precision
|
- 能耗表功率 elec_power double precision[]
|
||||||
- 当前相位 elec_phase text
|
- 当前相位 elec_phase double precision[]
|
||||||
- 能耗表能耗 elec_energy double precision
|
- 能耗表能耗 elec_energy double precision[]
|
||||||
- 能耗表累计能耗 elec_sum_energy double precision
|
- 能耗表累计能耗 elec_sum_energy double precision[]
|
||||||
- 碳达人状态 carbon_state int2 (索引)
|
- 碳达人状态 carbon_state int2 (索引)
|
||||||
- 回路状态 dev_loops jsonb
|
- 回路状态 dev_loops jsonb
|
||||||
- 碳达人节能累计 energy_carbon_sum double precision
|
- 碳达人节能累计 energy_carbon_sum double precision
|
||||||
|
|||||||
@@ -40,24 +40,26 @@ CREATE TABLE IF NOT EXISTS room_status.room_status_moment (
|
|||||||
cardless_state INT2,
|
cardless_state INT2,
|
||||||
service_mask INT8,
|
service_mask INT8,
|
||||||
insert_card INT2,
|
insert_card INT2,
|
||||||
|
bright_g INT2,
|
||||||
|
agreement_ver TEXT,
|
||||||
|
|
||||||
-- 空调相关
|
-- 空调相关
|
||||||
air_address TEXT[],
|
air_address TEXT[],
|
||||||
air_state INT2,
|
air_state INT2[],
|
||||||
air_model INT2,
|
air_model INT2[],
|
||||||
air_speed INT2,
|
air_speed INT2[],
|
||||||
air_set_temp INT2,
|
air_set_temp INT2[],
|
||||||
air_now_temp INT2,
|
air_now_temp INT2[],
|
||||||
air_solenoid_valve INT2,
|
air_solenoid_valve INT2[],
|
||||||
|
|
||||||
-- 能耗相关
|
-- 能耗相关
|
||||||
elec_address TEXT[],
|
elec_address TEXT[],
|
||||||
elec_voltage DOUBLE PRECISION,
|
elec_voltage DOUBLE PRECISION[],
|
||||||
elec_ampere DOUBLE PRECISION,
|
elec_ampere DOUBLE PRECISION[],
|
||||||
elec_power DOUBLE PRECISION,
|
elec_power DOUBLE PRECISION[],
|
||||||
elec_phase TEXT,
|
elec_phase DOUBLE PRECISION[],
|
||||||
elec_energy DOUBLE PRECISION,
|
elec_energy DOUBLE PRECISION[],
|
||||||
elec_sum_energy DOUBLE PRECISION,
|
elec_sum_energy DOUBLE PRECISION[],
|
||||||
|
|
||||||
-- 节能与外设
|
-- 节能与外设
|
||||||
carbon_state INT2,
|
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_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);
|
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)
|
-- 4. 示例:创建第一个分区 (hotel_id = 1)
|
||||||
-- 实际部署时,可根据 hotel_id 动态创建分区
|
-- 实际部署时,可根据 hotel_id 动态创建分区
|
||||||
CREATE TABLE IF NOT EXISTS room_status.room_status_moment_h1
|
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_energy IS '能耗表能耗';
|
||||||
COMMENT ON COLUMN room_status.room_status_moment.elec_sum_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.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.dev_loops IS '回路状态';
|
||||||
COMMENT ON COLUMN room_status.room_status_moment.energy_carbon_sum 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 '无卡节能累计';
|
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
|
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_HOST=10.8.8.109
|
||||||
POSTGRES_PORT=5433
|
POSTGRES_PORT=5433
|
||||||
@@ -20,10 +13,10 @@ POSTGRES_PASSWORD=YourActualStrongPasswordForPostgres!
|
|||||||
POSTGRES_MAX_CONNECTIONS=2
|
POSTGRES_MAX_CONNECTIONS=2
|
||||||
POSTGRES_IDLE_TIMEOUT_MS=30000
|
POSTGRES_IDLE_TIMEOUT_MS=30000
|
||||||
# 启用的酒店ID列表
|
# 启用的酒店ID列表
|
||||||
ENABLED_HOTEL_IDS=1085,2100-2316
|
ENABLED_HOTEL_IDS=1001,1068,1085,1865,2000-2400
|
||||||
|
|
||||||
# 接口启用配置 (true/false)
|
# 接口启用配置 (true/false)
|
||||||
ENABLE_API_HOTEL_LIST=false # 酒店列表
|
ENABLE_API_HOTEL_LIST=true # 酒店列表
|
||||||
ENABLE_API_HOST_LIST=false # 房间列表
|
ENABLE_API_HOST_LIST=true # 房间列表
|
||||||
ENABLE_API_ROOM_TYPE_INFO=false # 房型列表
|
ENABLE_API_ROOM_TYPE_INFO=true # 房型列表
|
||||||
ENABLE_API_ROOM_TYPE_MODAL_INFO=false # 回路列表
|
ENABLE_API_ROOM_TYPE_MODAL_INFO=false # 回路列表
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const fs = require('fs');
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { query, close } = require('../db/utils'); // Changed from db, all, close
|
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 endpoints = parseApiEndpoints(mdPath);
|
||||||
|
|
||||||
const stats = {
|
const stats = {
|
||||||
|
|||||||
Reference in New Issue
Block a user