package com.zcloud.personnel.positioning.domain.model;

import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;

/**
 * web-domain
 *
 * @Author fangjiakai
 * @Date 2026-07-07
 */
@Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class AlarmRuleItemE extends BaseE {
    /**
     * 告警规则id
     */
    private Long ruleId;

    /**
     * 企业id/公司id（公司及子公司数据隔离）
     */
    private String corpinfoId;

    /**
     * 企业名称/公司名称
     */
    private String corpinfoName;

    /**
     * 告警等级
     */
    private Integer level;

    /**
     * 是否启用
     */
    private Integer enable;

    /**
     * 进入/离开持续时间 秒
     */
    private Long crossDuration;

    /**
     * 滞留时长 分钟
     */
    private BigDecimal retentionMin;

    /**
     * 静止时间 分钟
     */
    private Integer stayMin;

    /**
     * 静止时间 秒
     */
    private Integer staticDuration;

    /**
     * 速度上限 km/h
     */
    private BigDecimal overSpeed;

    /**
     * 全局速度上限 km/h
     */
    private BigDecimal globalOverSpeed;

    /**
     * 低电量百分比
     */
    private BigDecimal lowBattery;

    /**
     * 超员人数
     */
    private Integer crowdedNum;

    /**
     * 缺员人数
     */
    private Integer lackedNum;

    /**
     * 聚集持续时间 秒
     */
    private Integer clusterDuration;

    /**
     * 聚集数量
     */
    private Integer clusterQuantity;

    /**
     * 聚集半径 米
     */
    private BigDecimal clusterRadius;

    /**
     * 碰撞距离 米
     */
    private BigDecimal crashDistance;

    /**
     * 碰撞车速 km/h
     */
    private BigDecimal crashSpeed;

    /**
     * 告警参数JSON
     */
    private String alarmParamJson;

    /**
     * 告警动作JSON
     */
    private String alarmActionJson;
}
