package jnpf.model.attendance.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.AssertTrue;
import java.util.List;

/**
 * 获取有效用户列表DTO
 * 
 * @author Generated
 * @create 2026-04-16
 */
@Data
@Schema(description = "获取有效用户列表DTO")
public class GetValidUsersDto {

    /**
     * 组织ID列表
     */
    @Schema(description = "组织ID列表")
    private List<String> organizeList;

    /**
     * 用户ID列表
     */
    @Schema(description = "用户ID列表")
    private List<String> userIdList;
    /**
     * 月份
     */
    @Schema(description = "月份")
    private String month;

    /**
     * 自定义校验：组织ID列表和用户ID列表至少需要一个不为空
     */
    @AssertTrue(message = "组织ID列表和用户ID列表至少需要一个不为空")
    @Schema(hidden = true)
    public boolean isValidParams() {
        return (organizeList != null && !organizeList.isEmpty()) 
            || (userIdList != null && !userIdList.isEmpty());
    }
}
