From ff3a77020ad9dd7734c0fe0c7b754f7b6a214f3b Mon Sep 17 00:00:00 2001 From: bwstudio <7469504@qq.com> Date: Sat, 27 Sep 2025 20:50:58 +0800 Subject: [PATCH] home0927 --- ewcc2.py | 21 ++++++++++++--------- query_processor.py | 11 ++++++----- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ewcc2.py b/ewcc2.py index 6d9ff32..49982a1 100644 --- a/ewcc2.py +++ b/ewcc2.py @@ -209,20 +209,24 @@ class Sinopec_ewcc(object): def send_message(self): pass - def query_car_info(self, plate_number=None, phone_number=None, additional_info={}): + def query_car_info(self, plate_number=None, phone_number=None, result_list=None): """查询车辆信息 Args: plate_number: 车牌号 phone_number: 手机号 - additional_info: 附加查询信息 + result_list: 用于存储查询结果的列表(通过参数返回) Returns: - list: 查询到的车辆信息列表 + bool: 查询是否成功,成功返回True,失败返回False """ # 参数校验 if not plate_number and not phone_number: logger.warning("车牌号和手机号至少需要提供一个") - return [] - + return False + + # 初始化结果列表 + if result_list is None: + result_list = [] + logger.info(f"查询车牌号: {plate_number} 电话:{phone_number}") try: @@ -257,11 +261,10 @@ class Sinopec_ewcc(object): DataPacket = myframe.listen.wait(timeout=10) # 添加超时参数 except Exception as e: logger.error(f"等待查询响应超时: {str(e)}") - return [] + return False finally: myframe.listen.stop() - result_list = [] if DataPacket and hasattr(DataPacket, 'response') and hasattr(DataPacket.response, 'body'): if DataPacket.response.body.get('success'): total_num = DataPacket.response.body['data'].get('total', 0) @@ -284,11 +287,11 @@ class Sinopec_ewcc(object): finally: self.tab.listen.stop() - return result_list + return True except Exception as e: logger.error(f"查询车辆信息时发生异常: {str(e)}") - return [] + return False diff --git a/query_processor.py b/query_processor.py index 774c459..7625f8a 100644 --- a/query_processor.py +++ b/query_processor.py @@ -184,7 +184,7 @@ def main(): time.sleep(30) continue - # 只留浏览器cookies + # 保留浏览器cookies save_param4( ewcc.tab.cookies()) # 获取待处理查询 @@ -193,10 +193,11 @@ def main(): # 处理每条查询 for query in pending_queries: # 处理查询数据 - rtn_cars_info=ewcc.query_car_info(query['plate_number'],query['phone']) - # 更新查询结果 - logger.info(f"查询结果数量: {len(rtn_cars_info)}") - update_query_result(query['id'], len(rtn_cars_info), rtn_cars_info) + rtn_cars_info=[] + if ewcc.query_car_info(query['plate_number'],query['phone'],rtn_cars_info) : + # 更新查询结果 + logger.info(f"查询结果数量: {len(rtn_cars_info)}") + update_query_result(query['id'], len(rtn_cars_info), rtn_cars_info) # 等待一段时间后再次检查 wait_time = 60 # 默认等待60秒