package com.jeesharp.business.modules.finance.merchantreceivable.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;

/**
 * 商户应收账流水分页查询条件。
 *
 * @author jeesharp
 * @since 2026-06-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "商户应收账查询参数")
public class MerchantReceivableQueryVO extends PaginationVO {

    @Schema(description = "应收流水号")
    private String receivableNo;

    @Schema(description = "流水类型：PAY、REFUND")
    private String entryType;

    @Schema(description = "商城子订单ID")
    private String mallOrderId;

    @Schema(description = "商城子订单编号（关联查询）")
    private String orderNo;

    @Schema(description = "合并支付批次ID（仅 MALL_ORDER 商城合单）")
    private String payBatchId;

    @Schema(description = "合并支付批次编号，仅商城合并支付有效（关联 mall_pay_batch.batch_no）")
    private String batchNo;

    @Schema(description = "子单商户租户ID")
    private String merchantTenantId;

    @Schema(description = "微信 transaction_id")
    private String transactionId;

    @Schema(description = "业务发生开始时间")
    private LocalDateTime bizTimeStart;

    @Schema(description = "业务发生结束时间")
    private LocalDateTime bizTimeEnd;
}
