master
lion 6 days ago
parent 507b077760
commit be0849d69c

@ -75,12 +75,21 @@ class CameraMonitoringController extends Controller
$health->fill([
'status' => $r['healthStatus'] ?? ($r['pushStatus'] ?? ($r['sdkStatus'] ?? 'UNKNOWN')),
'sdk_status' => $r['sdkStatus'] ?? null,
'tcp_reachable' => array_key_exists('tcpReachable', $r) ? $r['tcpReachable'] : null,
'last_pdc_at' => $r['lastPdcAt'] ?? null,
'pdc_count' => $r['pdcCount'] ?? 0,
'push_age_seconds' => ($r['pushAgeSeconds'] ?? -1) >= 0 ? $r['pushAgeSeconds'] : null,
'last_tcp_error' => $r['networkReason'] ?? null,
'reconnect_attempts' => $r['autoReconnectFailures'] ?? 0,
'observed_at' => now(),
])->save();
// 设备已重新登录在线时,页面刷新也应同步关闭同场馆的遗留告警。
if (($r['sdkStatus'] ?? null) === 'ONLINE' && $camera->venue_id) {
CameraAlert::query()
->where('venue_id', $camera->venue_id)
->whereIn('status', ['OPEN', 'ACKNOWLEDGED'])
->update(['status' => 'RESOLVED', 'recovered_at' => now()]);
}
$health->setAttribute('last_pdc_at_source', $r['lastPdcAt'] ?? null);
$camera->setRelation('health', $health);
});

Loading…
Cancel
Save