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


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;
import java.util.List;

/**
 * @author: lwh
 * @date: 2025-08-06
 * @description: 分页查询活跃详情入参
 */

@Data
@Schema(description = "分页查询活跃详情入参")
public class PageActiveDetailDTO implements Serializable {

	@Serial
	private static final long serialVersionUID = 1L;

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

	/**
	 * 渠道
	 */
	@Schema(description = "渠道", example = "[\"App Store\"]")
	private List<String> channel;

	/**
	 * 开始时间
	 */
	@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 = "时间单位,hour-小时,day-天,week-周,month-月", example = "day")
	private String timeUnit;

	/**
	 * 版本
	 */
	@Schema(description = "版本", example = "[\"1.0.0\"]")
	private List<String> version;

	/**
	 * 每页显示条数，默认 10
	 */
	@Schema(description = "每页显示条数")
	private long size = 10;

	/**
	 * 当前页
	 */
	@Schema(description = "当前页")
	private long current = 1;

}
