package com.jeesharp.business.modules.finance.reconcile.vo;

import com.jeesharp.framework.pojo.query.PaginationVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * 财务对账导出查询条件：按业务时间范围聚合支付/分账/退款。
 *
 * @author jeesharp
 * @since 2026-06-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "财务对账查询参数")
public class FinanceReconcileQueryVO extends PaginationVO {

    @Schema(description = "业务开始时间（含）", required = true)
    private LocalDateTime bizTimeStart;

    @Schema(description = "业务结束时间（含）", required = true)
    private LocalDateTime bizTimeEnd;

    /**
     * @see com.jeesharp.business.modules.finance.paymentrecord.enums.PayRecordBizSceneEnum
     */
    @Schema(description = "业务场景编码，空表示全部")
    private String bizScene;

    /**
     * @see com.jeesharp.business.modules.finance.reconcile.enums.FinanceReconcileRecordTypeEnum
     */
    @Schema(description = "导出类型：PAY/SHARING/REFUND，空或空列表表示全部")
    private List<String> recordTypes;
}
