package com.common.entity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * 分析时间窗口配置实体类 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class AnalysisGroupByWindow { /** * 主键ID */ private Integer id; /** * 分组ID */ private Integer groupById; /** * 窗口类型:tumble/hop/session */ private String windowType; // ============ 滚动窗口配置 ============ /** * 滚动窗口时间类型:second/minute/hour */ private String tumbleWindowTimeType; /** * 滚动窗口大小 */ private Integer tumbleWindowSize; /** * 滚动窗口单位:s/m/h/d */ private String tumbleWindowSizeUnit; // ============ 滑动窗口配置 ============ /** * 滑动窗口时间类型 */ private String hopWindowTimeType; /** * 滑动窗口大小 */ private Integer hopWindowSize; /** * 滑动窗口单位:s/m/h/d */ private String hopWindowSizeUnit; /** * 滑动窗口步长 */ private Integer hopWindowSlide; /** * 滑动窗口步长单位:s/m/h/d */ private String hopWindowSlideUnit; /** * 滑动窗口告警频率:是否每个窗口仅告警一次 */ private Boolean hopWindowAlarmOncePerWindow; // ============ 会话窗口配置 ============ /** * 会话窗口时间类型 */ private String sessionWindowTimeType; /** * 会话窗口超时时间 */ private Integer sessionWindowSize; /** * 会话窗口单位:s/m/h/d */ private String sessionWindowSizeUnit; // ============ 公共字段 ============ /** * 创建部门 */ private Long createDept; /** * 删除标志:0-未删除,1-已删除 */ private String delFlag; /** * 创建时间 */ private String createTime; /** * 更新时间 */ private String updateTime; /** * 创建人 */ private Long createBy; /** * 更新人 */ private Long updateBy; /** * 备注 */ private String remark; /** * 租户ID */ private String tenantId; }