package com.jeequan.jeepay.core.model.rqrs.settle;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * TODO
 *
 * @author crystal
 * @date 2023/12/6 16:48
 */
@Data
@AllArgsConstructor
public class ChannelSettleRq {

    public final static Long DETAULT_PAGE = 1L;

    public final static Long DETAULT_PAGE_SIZE = 50L;

    /**
     * 商户号集合
     */
    private List<String> mercNos;

    /**
     * 通道商户号
     */
    private String mercNo;
    /**
     * 开始日期
     */
    private Date startDate;

    /**
     * 结束日期
     */
    private Date endDate;
    /**
     * 当前页
     */
    private Long page;

    /**
     * 条数
     */
    private Long size;

    /**
     *
     */
    private String billNo;

    /**
     * 扩展参数
     */
    private JSONObject ext;

    /**
     * 扩展商户号
     */
    private String extMchNo;

    /**
     * 交易日期范围
     */
    private String transDateScope;

    public ChannelSettleRq(String mercNo, Date startDate, Date endDate, Long page, Long size) {
        this.mercNo = mercNo;
        this.startDate = startDate;
        this.endDate = endDate;
        this.page = page;
        this.size = size;
    }

    public ChannelSettleRq(String channelMchNo, String billNo,Date startDate,Date endDate,String transDateScope) {
        this(channelMchNo,startDate,endDate,DETAULT_PAGE,DETAULT_PAGE_SIZE);
        this.billNo = billNo;
        this.transDateScope = transDateScope;
    }
}
