# -*- coding: utf-8 -*- # @Author: Owl # @Date: 2025/10/10 14:33 # @Description: import json from app.common_worker import * from app.eva_common import * # 查询可用路口列表 from proto.phase_grpc import QueryCrossRunningPhase def phase_cross_list(params): nodeid = check_param(params, 'nodeid') if not nodeid: return json.dumps(make_common_res(1, '缺少nodeid, 请刷新后重试')) area_id = check_param(params, 'area_id') if not area_id: return json.dumps(make_common_res(2, '缺少area_id, 请刷新后重试')) userid = check_param(params, 'userid') if not userid: return json.dumps(make_common_res(3, '缺少userid, 请刷新后重试')) area_list = db_user.query_areaid_list(userid) if not area_list or len(area_list) < 1: return json.dumps(make_common_res(4, '用户信息异常')) area_list = map(int, area_list) if not str(area_id).lstrip('-').isdigit() or int(area_id) not in area_list: return json.dumps(make_common_res(5, '辖区id异常,请检查后重试')) cross_road_list, error = db_tmnet.query_cross_list_road(str(nodeid), str(area_id)) if error: return json.dumps(make_common_res(2, f"{error}"), ensure_ascii=False) cross_map = {} for item_cross_road_list in cross_road_list: if item_cross_road_list['crossid'] not in cross_map: cross_map[item_cross_road_list['crossid']] = { "crossid": item_cross_road_list['crossid'], "name": item_cross_road_list['name'], "src_dir": [] } if item_cross_road_list['src_direct'] not in cross_map[item_cross_road_list['crossid']]['src_dir']: cross_map[item_cross_road_list['crossid']]['src_dir'].append(item_cross_road_list['src_direct']) res = make_common_res(0, 'ok') res["data"] = list(cross_map.values()) return json.dumps(res, ensure_ascii=False)