from pot_libs.mysql_util.mysql_util import MysqlUtil from pot_libs.settings import SETTING from unify_api.modules.common.service.td_engine_service import \ get_td_engine_data from unify_api.utils.taos_new import parse_td_columns async def get_location_dao(lids): location_info = {} sql = "SELECT lid, item, mtid, ad_type FROM location WHERE lid IN %s" async with MysqlUtil() as conn: result = await conn.fetchall(sql, args=(lids,)) if result: for res in result: id = res.get("lid") item = res.get("item") type = res.get("ad_type") mtid = res.get("mtid") location_info[id] = {"item": item, "type": type, "mtid": mtid} return location_info async def get_location_15min_dao(lid, start, end, table_name="location_15min_aiao"): sql = f"SELECT lid,value_max,value_max_time,value_avg,value_min," \ f"value_min_time FROM {table_name} WHERE lid = %s " \ f"and create_time BETWEEN '{start}' and '{end}'" async with MysqlUtil() as conn: result = await conn.fetchall(sql, args=(lid,)) return result async def get_adio_current_data(mtid): ''' 获取安全监测实时数据 ''' url = f"{SETTING.stb_url}db_adio?tz=Asia/Shanghai" sql = f"select last_row(*) from mt{mtid}_adi" is_success, results = await get_td_engine_data(url, sql) if not is_success: return {} if not results['data']: return {} head = parse_td_columns(results) res = dict(zip(head, results['data'][0])) return res