package com.hdkj.lt.bf.service;

/**
 * 状估断面处理 Service
 * <p>
 * 接收同事推送的状估 JSON 字符串（多区县断面），解析后：
 * 1. 写断面明细表 fhzg_se_snapshot_detail
 * 2. UPSERT 电流状态机 fhzg_se_monitor_current（馈线负载率）
 * 3. UPSERT 电压状态机 fhzg_se_monitor_voltage（馈线/配变/用户电压）
 * 4. 写告警事件 fhzg_se_current_event / fhzg_se_voltage_event
 * 5. 配变电压越限时发 Spring 事件，异步查用户电压
 *
 * @author lsl
 * @since 2026-07-23
 */
public interface SeSnapshotService {

    /**
     * 处理一个状估断面（单县 JSONObject）<br>
     * 正常模式：已有数据则跳过（防重）。
     *
     * @param snapshotJson 状估JSON字符串（单县）
     */
    void processSnapshot(String snapshotJson);

    /**
     * 处理一个状估断面（单县 JSONObject）<br>
     * 覆盖模式：先删该断面时刻的存量明细，再重新写入并触发状态机。
     *
     * @param snapshotJson 状估JSON字符串（单县）
     */
    void processSnapshotOverwrite(String snapshotJson);

    /**
     * 处理一批状估断面（多县 JSONArray）
     *
     * @param snapshotJsonArray 状估JSON字符串（多县数组）
     */
    void processSnapshots(String snapshotJsonArray);
}