package com.hdkj.lt.modle.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 重构结果主表 (L0 标量 + 折叠 finalCheck / switchResult.summary)
 * 对应表: fhzg_recon_result
 */
@Data
@NoArgsConstructor
@TableName("fhzg_recon_result")
public class FhzgReconResult {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 事件ID */
    private String eventId;

    /** 方案名称 */
    private String schemeName;

    /** 馈线组ID */
    private String groupId;

    /** 馈线组SID */
    private String groupSid;

    /** 馈线组名称 */
    private String groupName;

    /** 区域ID */
    private Integer stAreaId;

    /** 计算状态 */
    private String status;

    /** 重构算法 */
    private String algo;

    /** 计算代号(computeResult) */
    private String computeResult;

    /** 详细描述(detalDesc) */
    private String detalDesc;

    // ===== [FHZG-RECON-MULTI] 多方案字段 (raw_result.reconfiguration_schemes.list[] 每项) =====
    /** 方案序号(rank); rank 为 MySQL 保留字, 需反引号 */
    @TableField("`rank`")
    private Integer rank;

    /** 方案ID(scheme_id) */
    private String schemeId;

    /** 方案 objective(JSON 串, 存 JSON 列; 含 value/improvement_vs_initial。顶层共享 objective 不入库) */
    private String objective;
    // ===== [FHZG-RECON-MULTI] END =====

    /** 安全校核是否安全(finalCheck.is_safe) */
    private Boolean finalCheckIsSafe;

    /** 安全校核详情(finalCheck.details) */
    private String finalCheckDetails;

    /** 开关状态概要(switchResult.summary) */
    private String switchResultSummary;

    /** 快照时间(运行时间) */
    private LocalDateTime snapshotTime;

    /** 原始结果JSON(raw_result节点) */
    private String rawResult;

    /** 入库时间 */
    private LocalDateTime createTime;
}
