增加根据citycode查询有路口配时方案路口ID

Signed-off-by: yinzijian <yinzijian@haomozhixing.onaliyun.com>
This commit is contained in:
yinzijian 2025-11-12 14:10:19 +08:00
parent 418c39766d
commit 71b0accf60
4 changed files with 79 additions and 3 deletions

View File

@ -159,3 +159,19 @@ def QueryCrossPhaseDiagnosis(citycode: int, crossid: str, date_list: List, tp: s
return None, e return None, e
finally: finally:
channel.close() channel.close()
def QueryCrossPhaseByCity(citycode: int):
"""
根据城市ID查询有配时方案路口ID
"""
stub, channel = channel_stub()
try:
request_params = phase_server_pb2.CrossPhaseByCityRequest(citycode=citycode)
response = stub.CrossPhaseByCity(request_params, timeout=30)
if response.code != 0:
raise Exception(response.msg)
return list(response.data), None
except Exception as e:
return [], e
finally:
channel.close()

View File

@ -24,6 +24,8 @@ service PhaseService {
rpc CrossRunningPhase (CrossRunningPhaseRequest) returns (CrossRunningPhaseResponse); rpc CrossRunningPhase (CrossRunningPhaseRequest) returns (CrossRunningPhaseResponse);
// //
rpc CrossPhaseDiagnosis (CrossPhaseDiagnosisRequest) returns (CrossPhaseDiagnosisResponse); rpc CrossPhaseDiagnosis (CrossPhaseDiagnosisRequest) returns (CrossPhaseDiagnosisResponse);
//ID查询路口配时方案相关信息
rpc CrossPhaseByCity (CrossPhaseByCityRequest) returns (CrossPhaseByCityResponse);
} }
message EmptyRequest {} message EmptyRequest {}
@ -323,4 +325,14 @@ message CrossPhaseDiagnosisResponse {
string tp_start = 5; string tp_start = 5;
string day = 6; string day = 6;
} }
}
message CrossPhaseByCityRequest {
int32 citycode = 1;
}
message CrossPhaseByCityResponse {
int32 code = 1;
string msg = 2;
repeated string data = 3;
} }

File diff suppressed because one or more lines are too long

View File

@ -89,6 +89,11 @@ class PhaseServiceStub(object):
request_serializer=phase__server__pb2.CrossPhaseDiagnosisRequest.SerializeToString, request_serializer=phase__server__pb2.CrossPhaseDiagnosisRequest.SerializeToString,
response_deserializer=phase__server__pb2.CrossPhaseDiagnosisResponse.FromString, response_deserializer=phase__server__pb2.CrossPhaseDiagnosisResponse.FromString,
_registered_method=True) _registered_method=True)
self.CrossPhaseByCity = channel.unary_unary(
'/phase_server.PhaseService/CrossPhaseByCity',
request_serializer=phase__server__pb2.CrossPhaseByCityRequest.SerializeToString,
response_deserializer=phase__server__pb2.CrossPhaseByCityResponse.FromString,
_registered_method=True)
class PhaseServiceServicer(object): class PhaseServiceServicer(object):
@ -171,6 +176,13 @@ class PhaseServiceServicer(object):
context.set_details('Method not implemented!') context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!') raise NotImplementedError('Method not implemented!')
def CrossPhaseByCity(self, request, context):
"""根据城市ID查询路口配时方案相关信息
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_PhaseServiceServicer_to_server(servicer, server): def add_PhaseServiceServicer_to_server(servicer, server):
rpc_method_handlers = { rpc_method_handlers = {
@ -229,6 +241,11 @@ def add_PhaseServiceServicer_to_server(servicer, server):
request_deserializer=phase__server__pb2.CrossPhaseDiagnosisRequest.FromString, request_deserializer=phase__server__pb2.CrossPhaseDiagnosisRequest.FromString,
response_serializer=phase__server__pb2.CrossPhaseDiagnosisResponse.SerializeToString, response_serializer=phase__server__pb2.CrossPhaseDiagnosisResponse.SerializeToString,
), ),
'CrossPhaseByCity': grpc.unary_unary_rpc_method_handler(
servicer.CrossPhaseByCity,
request_deserializer=phase__server__pb2.CrossPhaseByCityRequest.FromString,
response_serializer=phase__server__pb2.CrossPhaseByCityResponse.SerializeToString,
),
} }
generic_handler = grpc.method_handlers_generic_handler( generic_handler = grpc.method_handlers_generic_handler(
'phase_server.PhaseService', rpc_method_handlers) 'phase_server.PhaseService', rpc_method_handlers)
@ -536,3 +553,30 @@ class PhaseService(object):
timeout, timeout,
metadata, metadata,
_registered_method=True) _registered_method=True)
@staticmethod
def CrossPhaseByCity(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(
request,
target,
'/phase_server.PhaseService/CrossPhaseByCity',
phase__server__pb2.CrossPhaseByCityRequest.SerializeToString,
phase__server__pb2.CrossPhaseByCityResponse.FromString,
options,
channel_credentials,
insecure,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
_registered_method=True)