package com.jeesharp.business.modules.finance.merchantsettlement.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 按账期生成商户结算单请求 DTO。
 *
 * @author jeesharp
 * @since 2026-06-29
 */
@Data
@Schema(description = "生成商户结算单请求")
public class MerchantSettlementBillGenerateDTO {

    @NotBlank(message = "商户租户ID不能为空")
    @Schema(description = "子单商户租户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private String merchantTenantId;

    @NotNull(message = "账期开始时间不能为空")
    @Schema(description = "账期开始（含）", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime periodStart;

    @NotNull(message = "账期结束时间不能为空")
    @Schema(description = "账期结束（含）", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime periodEnd;

    @Schema(description = "备注")
    private String remarks;
}
