新增根据路口查询配时方案更新时间

Signed-off-by: yinzijian <yinzijian@haomozhixing.onaliyun.com>
This commit is contained in:
yinzijian 2026-03-23 16:05:02 +08:00
parent 4219d99106
commit acbf7c5987
4 changed files with 94 additions and 3 deletions

View File

@ -328,3 +328,27 @@ def TaskWaveCrossTpPhaseRPC(citycode: int, crossids: List[str], tps: List):
return None, e
finally:
channel.close()
def CrossPhaseUpdateTime(citycode: int, crossids: List[str]):
"""
根据路口查询配时方案更新时间
citycode = 130200
crossids = ['crossid1','crossid2']
return {'crossid1': '2022-01-01 13:13:13', 'crossid2': '2022-01-01 13:13:13'}, None
"""
stub, channel = channel_stub()
try:
return_data = {}
request_params = phase_server_pb2.CrossPhaseUpdateTimeRequest(citycode=citycode,crossids=crossids)
response = stub.CrossPhaseUpdateTime(request_params, timeout=30)
if response.code != 0:
raise Exception(response.msg)
if len(response.data) > 0:
for item_data in response.data:
return_data[item_data.crossid] = item_data.update_time
return return_data, None
except Exception as e:
return None, e
finally:
channel.close()

View File

@ -36,6 +36,8 @@ service PhaseService {
rpc LedgerTaskDetailPhaseStateUpdate (LedgerTaskDetailPhaseStateUpdateRequest) returns (LedgerTaskDetailPhaseStateUpdateResponse);
//绿
rpc TaskWaveCrossTpPhase (TaskWaveCrossTpPhaseRequest) returns (TaskWaveCrossTpPhaseResponse);
//
rpc CrossPhaseUpdateTime (CrossPhaseUpdateTimeRequest) returns (CrossPhaseUpdateTimeResponse);
}
message EmptyRequest {}
@ -476,3 +478,18 @@ message TaskWaveCrossTpPhaseResponse {
string phase_name = 9;
}
}
message CrossPhaseUpdateTimeRequest {
int32 citycode = 1;
repeated string crossids = 2;
}
message CrossPhaseUpdateTimeResponse {
int32 code = 1;
string msg = 2;
repeated List data = 3;
message List {
string crossid = 1;
string update_time = 2;
}
}

File diff suppressed because one or more lines are too long

View File

@ -119,6 +119,11 @@ class PhaseServiceStub(object):
request_serializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.SerializeToString,
response_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.FromString,
_registered_method=True)
self.CrossPhaseUpdateTime = channel.unary_unary(
'/phase_server.PhaseService/CrossPhaseUpdateTime',
request_serializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString,
response_deserializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString,
_registered_method=True)
class PhaseServiceServicer(object):
@ -243,6 +248,13 @@ class PhaseServiceServicer(object):
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def CrossPhaseUpdateTime(self, request, context):
"""路口配时方案更新时间
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_PhaseServiceServicer_to_server(servicer, server):
rpc_method_handlers = {
@ -331,6 +343,11 @@ def add_PhaseServiceServicer_to_server(servicer, server):
request_deserializer=phase__server__pb2.TaskWaveCrossTpPhaseRequest.FromString,
response_serializer=phase__server__pb2.TaskWaveCrossTpPhaseResponse.SerializeToString,
),
'CrossPhaseUpdateTime': grpc.unary_unary_rpc_method_handler(
servicer.CrossPhaseUpdateTime,
request_deserializer=phase__server__pb2.CrossPhaseUpdateTimeRequest.FromString,
response_serializer=phase__server__pb2.CrossPhaseUpdateTimeResponse.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'phase_server.PhaseService', rpc_method_handlers)
@ -800,3 +817,30 @@ class PhaseService(object):
timeout,
metadata,
_registered_method=True)
@staticmethod
def CrossPhaseUpdateTime(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/CrossPhaseUpdateTime',
phase__server__pb2.CrossPhaseUpdateTimeRequest.SerializeToString,
phase__server__pb2.CrossPhaseUpdateTimeResponse.FromString,
options,
channel_credentials,
insecure,
call_credentials,
compression,
wait_for_ready,
timeout,
metadata,
_registered_method=True)