package com.pig4cloud.pig.statistics.api.dto.retention;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * @author: lwh
 * @date: 2025-08-25
 * @description: 查询用户新鲜度趋势入参
 */
@Data
@Schema(description = "查询用户新鲜度趋势入参")
public class GetFreshnessTrendDTO implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

	/**
	 * 应用ID
	 */
	@NotBlank(message = "应用ID不能为空")
	@Schema(description = "应用ID", example = "Fqs2CL9CUn7U1AqilSFXgb")
	private String appId;

	/**
	 * 开始时间
	 */
	@NotNull(message = "开始时间不能为空")
	@Schema(description = "开始时间", example = "2025-07-29")
	private LocalDate fromDate;

	/**
	 * 结束时间
	 */
	@NotNull(message = "结束时间不能为空")
	@Schema(description = "结束时间", example = "2025-08-05")
	private LocalDate toDate;

	/**
	 * 时间单位
	 */
	@NotBlank(message = "时间单位不能为空")
	@Schema(description = "时间单位,day-天,week-周,month-月", example = "day")
	private String timeUnit;

}
