|
|
@@ -126,6 +126,7 @@ def _convert_to_legacy_batch_info(new_info: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
"project_id": new_info.get("project_id", ""),
|
|
|
"timestamp": normalized_ts,
|
|
|
"datetime": datetime.fromtimestamp(normalized_ts).isoformat(),
|
|
|
+ "install_address": new_info.get("install_address", ""),
|
|
|
"total_persons": len(persons),
|
|
|
"ptz_images_count": len(persons),
|
|
|
"panorama": {
|
|
|
@@ -353,12 +354,17 @@ class ThirdPartyPusher:
|
|
|
return False
|
|
|
|
|
|
url = f"{self.base_url}{self.batch_report_url}"
|
|
|
-
|
|
|
+
|
|
|
# 构建请求数据
|
|
|
payload = self._build_payload(report)
|
|
|
-
|
|
|
+
|
|
|
+ try:
|
|
|
+ logger.info("[第三方平台] 上报 payload: %s", json.dumps(payload, ensure_ascii=False))
|
|
|
+ except Exception:
|
|
|
+ logger.info("[第三方平台] 上报 payload: %s", payload)
|
|
|
+
|
|
|
headers = self._get_auth_headers()
|
|
|
-
|
|
|
+
|
|
|
for attempt in range(self.retry_count):
|
|
|
try:
|
|
|
if self.data_format == 'json':
|
|
|
@@ -438,11 +444,13 @@ class ThirdPartyPusher:
|
|
|
payload = {
|
|
|
'createTime': datetime.fromtimestamp(normalized_ts).strftime("%Y-%m-%d %H:%M:%S"),
|
|
|
'addr': f"设备{report.device_id}批次上报",
|
|
|
+ 'installAddress': batch_info.get('install_address', ''),
|
|
|
'ext1': json.dumps([image_url]),
|
|
|
'ext2': json.dumps({
|
|
|
'batchId': report.batch_id,
|
|
|
'deviceId': report.device_id,
|
|
|
'projectId': report.project_id,
|
|
|
+ 'installAddress': batch_info.get('install_address', ''),
|
|
|
'totalPersons': len(batch_info.get('detections', [])),
|
|
|
'ptzImagesCount': 1 if batch_info.get('camera_type') == 'ptz' else 0,
|
|
|
'persons': batch_info.get('detections', []),
|