feat(platform): harden telemetry pipeline and unify Semi UI workspaces
This commit is contained in:
@@ -337,10 +337,30 @@ func projectDailyMileageWithExec(ctx context.Context, exec Execer, vin string, s
|
||||
return err
|
||||
}
|
||||
|
||||
const upsertSourceStatDateStartSQL = `CAST(CONCAT(VALUES(stat_date), ' 00:00:00') AS DATETIME)`
|
||||
|
||||
const upsertSourcePreferIncomingFirstSQL = `(
|
||||
first_event_time IS NULL
|
||||
OR (
|
||||
first_event_time < ` + upsertSourceStatDateStartSQL + `
|
||||
AND VALUES(first_event_time) < ` + upsertSourceStatDateStartSQL + `
|
||||
AND VALUES(first_event_time) >= first_event_time
|
||||
)
|
||||
OR (
|
||||
first_event_time >= ` + upsertSourceStatDateStartSQL + `
|
||||
AND VALUES(first_event_time) < ` + upsertSourceStatDateStartSQL + `
|
||||
)
|
||||
OR (
|
||||
first_event_time >= ` + upsertSourceStatDateStartSQL + `
|
||||
AND VALUES(first_event_time) >= ` + upsertSourceStatDateStartSQL + `
|
||||
AND VALUES(first_event_time) <= first_event_time
|
||||
)
|
||||
)`
|
||||
|
||||
const upsertSourceMergedFirstTotalSQL = `CASE
|
||||
WHEN first_total_mileage_km IS NULL OR first_total_mileage_km <= 0
|
||||
THEN VALUES(first_total_mileage_km)
|
||||
WHEN first_event_time IS NULL OR VALUES(first_event_time) <= first_event_time
|
||||
WHEN ` + upsertSourcePreferIncomingFirstSQL + `
|
||||
THEN VALUES(first_total_mileage_km)
|
||||
ELSE first_total_mileage_km
|
||||
END`
|
||||
@@ -354,7 +374,7 @@ const upsertSourceMergedLatestTotalSQL = `CASE
|
||||
END`
|
||||
|
||||
const upsertSourceMergedFirstEventSQL = `CASE
|
||||
WHEN first_event_time IS NULL OR VALUES(first_event_time) <= first_event_time
|
||||
WHEN ` + upsertSourcePreferIncomingFirstSQL + `
|
||||
THEN VALUES(first_event_time)
|
||||
ELSE first_event_time
|
||||
END`
|
||||
@@ -490,6 +510,8 @@ WHERE s.vin = ?
|
||||
AND s.stat_date = ?
|
||||
AND s.protocol = ?
|
||||
AND s.quality_status IN ('` + QualityOK + `', '` + QualityNoPreviousBaseline + `')
|
||||
AND s.first_total_mileage_km IS NOT NULL
|
||||
AND s.latest_total_mileage_km IS NOT NULL
|
||||
AND COALESCE(NULLIF(TRIM(ds.source_code), ''), vi.source_code) IS NOT NULL
|
||||
AND COALESCE(NULLIF(TRIM(s.phone), ''), NULLIF(TRIM(s.device_id), '')) IS NOT NULL
|
||||
AND s.source_key <> CONCAT(s.protocol, ':', COALESCE(NULLIF(TRIM(s.phone), ''), NULLIF(TRIM(s.device_id), '')), '` + platformSourceKeyPrefix + `', COALESCE(NULLIF(TRIM(ds.source_code), ''), vi.source_code))
|
||||
@@ -558,6 +580,8 @@ WHERE s.vin = ?
|
||||
AND s.stat_date = ?
|
||||
AND s.protocol = ?
|
||||
AND s.quality_status IN ('` + QualityOK + `', '` + QualityNoPreviousBaseline + `')
|
||||
AND s.first_total_mileage_km IS NOT NULL
|
||||
AND s.latest_total_mileage_km IS NOT NULL
|
||||
AND COALESCE(NULLIF(TRIM(ds.source_code), ''), vi.source_code) IS NOT NULL
|
||||
AND COALESCE(NULLIF(TRIM(s.phone), ''), NULLIF(TRIM(s.device_id), '')) IS NOT NULL
|
||||
AND s.source_key <> CONCAT(s.protocol, ':', COALESCE(NULLIF(TRIM(s.phone), ''), NULLIF(TRIM(s.device_id), '')), '` + platformSourceKeyPrefix + `', COALESCE(NULLIF(TRIM(ds.source_code), ''), vi.source_code))
|
||||
|
||||
Reference in New Issue
Block a user