package com.ga.core.vo.settle;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 지급대상 배치 API 응답 — 상태명 조인 포함.
 * selectById 시 items(List<PaymentBatchItemResp>)가 채워진다.
 */
@Data
public class PaymentBatchResp {
    private Long batchId;
    private String settleMonth;
    private String batchName;
    /** DRAFT / FINALIZED / CANCELLED */
    private String status;
    /** 공통코드 PAYMENT_BATCH_STATUS */
    private String statusName;
    private Integer totalCount;
    private BigDecimal totalPayable;
    private LocalDateTime createdAt;
    private Long createdBy;
    private LocalDateTime finalizedAt;
    private Long finalizedBy;
    /** users.user_name 조인 */
    private String finalizedByName;
    private LocalDateTime updatedAt;
    /** 상세 조회 시 populate (목록 조회에서는 null) */
    private List<PaymentBatchItemResp> items;
}
