2025-10-31 11:18:32 +08:00
|
|
|
|
# -*- 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, 请刷新后重试'))
|
2025-11-12 10:11:05 +08:00
|
|
|
|
area_list = db_user.query_areaid_list(userid)
|
2025-10-31 11:18:32 +08:00
|
|
|
|
if not area_list or len(area_list) < 1:
|
|
|
|
|
|
return json.dumps(make_common_res(4, '用户信息异常'))
|
2025-11-12 10:11:05 +08:00
|
|
|
|
area_list = map(int, area_list)
|
2025-10-31 11:18:32 +08:00
|
|
|
|
if int(area_id) not in area_list:
|
|
|
|
|
|
return json.dumps(make_common_res(5, '用户信息异常'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|