52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
# -*- 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)
|