package dev.lions.unionflow.server.api.dto.tontine;

import dev.lions.unionflow.server.api.dto.base.BaseDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.NoArgsConstructor;
import org.eclipse.microprofile.openapi.annotations.media.Schema;

import java.math.BigDecimal;
import java.time.LocalDate;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(description = "Informations d'un tour spécifique d'une tontine rotative")
public class TourTontineDTO extends BaseDTO {

    private String tontineId;

    @Schema(description = "Ordre cronologique (Tour 1, Tour 2...)")
    private Integer ordreTour;

    private LocalDate dateOuvertureCotisations;
    private LocalDate dateTirageOuRemise;

    @Schema(description = "Montant cible total (Ex: 10 membres x 10 000 = 100 000 cibles)")
    private BigDecimal montantCible;

    @Schema(description = "Montant de la cagnotte réellement collectée pour ce tour")
    private BigDecimal cagnotteCollectee;

    @Schema(description = "Membre désigné pour remporter ce tour (bénéficiaire de la caisse)")
    private String membreBeneficiaireId;

    @Schema(description = "Statut: A_VENIR, EN_COURS, CLOTURE/REMIS")
    private String statutInterne;
}
