Пример #1
0
 def reupload_vehicle_plate():
     # 查询过去一天上传失败的
     query_items = db_session.query(VehicleInfoOrm).filter(
         and_(
             VehicleInfoOrm.create_time >
             (datetime.now() - timedelta(days=2)),
             VehicleInfoOrm.upload_flag == 0))
     for item in query_items:
         vehicle_info_json = item.vehicle_info
         # 将data 值base64 后,使用SHA256WithRSA 计算签名
         sign = XlapiSignature.to_sign_with_private_key(
             vehicle_info_json, private_key=ThirdEtcApi.PRIVATE_KEY)
         upload_body = dict(appid=ThirdEtcApi.APPID,
                            data=vehicle_info_json,
                            sign=sign.decode(encoding='utf8'))
         logger.info('上传车辆信息: {}'.format(vehicle_info_json))
         try:
             res = http_session.post(ThirdEtcApi.ETC_UPLOAD_URL,
                                     data=upload_body)
             if res.json()['code'] == '000000':
                 db_session.delete(item)
             else:
                 item.upload_fail_count += 1
         except:
             item.upload_fail_count += 1
             logger.error(traceback.format_exc())
         # 数据修改好后提交
         try:
             db_session.commit()
         except:
             db_session.rollback()
             logger.error(traceback.format_exc())
Пример #2
0
 def reupload_etc_deduct_from_db():
     """
     查找数据库中没能成功上传的数据,重新上传
     :return:
     """
     # 查询过去一天上传失败的
     query_items = db_session.query(ETCFeeDeductInfoOrm).filter(
         and_(
             ETCFeeDeductInfoOrm.create_time >
             (datetime.now() - timedelta(days=1)),
             ETCFeeDeductInfoOrm.upload_flag == 0))
     for item in query_items:
         #  调用第三方api
         request_flag = ThirdEtcApi.etc_deduct_upload(item.etc_info)
         if request_flag:  # 如果上传成功,更新upload_flag为1
             item.upload_flag = 1
         else:  # 如果上传失败,更新upload_fail_count 加 1
             item.upload_fail_count += 1
         # 数据修改好后提交
         try:
             db_session.commit()
         except:
             db_session.rollback()
             logger.error(traceback.format_exc())