package dev.lions.unionflow.server.entity;

import jakarta.persistence.*;
import lombok.*;

import java.math.BigDecimal;
import java.util.UUID;

/**
 * Paramètres LCB-FT par organisation ou globaux (organisationId null).
 * Seuils au-dessus desquels l'origine des fonds est obligatoire / validation manuelle.
 */
@Entity
@Table(name = "parametres_lcb_ft", indexes = {
    @Index(name = "idx_param_lcb_ft_org", columnList = "organisation_id")
})
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class ParametresLcbFt extends BaseEntity {

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "organisation_id")
    private Organisation organisation;

    @Column(name = "code_devise", nullable = false, length = 3)
    private String codeDevise;

    @Column(name = "montant_seuil_justification", nullable = false, precision = 18, scale = 4)
    private BigDecimal montantSeuilJustification;

    @Column(name = "montant_seuil_validation_manuelle", precision = 18, scale = 4)
    private BigDecimal montantSeuilValidationManuelle;
}
