import psycopg2 import PGDB_Read import requests import json from writeDataToRealtimeData import upsert_realtime_data def calc_water_quality(): nm_values = ( 'lfgawqyq_plc3_Tag17', 'lfgawqyq_plc3_Tag22', 'lfgawqyq_plc3_Tag20', 'lfgawqyq_plc10_Tag45', 'lfgawqyq_plc10_Tag43', 'lfgawqyq_plc10_Tag52', 'lfgawqyq_plc10_Tag50', 'lfgawqyq_plc10_Tag51', 'lfgawqyq_plc10_Tag53', ) # 连接到数据库 with open('db_params.json', 'r') as f: db_params = json.load(f) db_params = db_params['test'] # 建立连接 conn = psycopg2.connect(**db_params) cursor = conn.cursor() json_data = PGDB_Read.query_database(cursor, nm_values) print(json_data) # 目标 URL url = 'http://localhost:8087/water_quality' # 发送 POST 请求 response = requests.post(url, data=json_data, headers={'Content-Type': 'application/json'}) # 打印响应内容 result = response.json() write_data_list = [ 'lfgawqyq_plc11_Tag23', 'lfgawqyq_plc11_Tag124', 'lfgawqyq_plc11_Tag25', 'lfgawqyq_plc11_Tag122', 'lfgawqyq_xn_cscod', 'lfgawqyq_xn_cstn', ] # 使用字典推导式将标签和值对应起来 data_mapping = {tag: value for tag, value in zip(write_data_list, result)} # 打印结果字典 upsert_realtime_data(cursor, data_mapping) # 关闭游标和连接 cursor.close() conn.close() return json.dumps(data_mapping)