package com.wzj.soopin.transaction.domain.bo.easypay.trade.jsapi.req;

import com.wzj.soopin.transaction.enums.easypay.DelaySettleFlag;
import com.wzj.soopin.transaction.enums.easypay.PatnerSettleFlag;
import com.wzj.soopin.transaction.enums.easypay.SplitSettleFlag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MergeOrder {

    /**
     * 代理结算模式
     */
    private String agentStlmMode;
    /**
     * 币种
     */
    private String currency;
    /**
     * 请求方自定义信息
     */
    private String customInfo;
    /**
     * 延时结算标识
     */
    private DelaySettleFlag delaySettleFlag;
    /**
     * 下游手续费, 单位分
     */
    private Double handlingFee;
    /**
     * 下游机构商户唯一标识
     */
    private String orgSmerCode;
    /**
     * 小商户终端号
     */
    private String orgSterminalCode;
    /**
     * 特殊计费
     */
    private String otherFee;
    /**
     * D0标识，0: 非D0交易，即按进件商户开通功能结算周期结算
     * 1: D0交易，商户需开通了D0，且此字段送1时，会d0到账
     * 默认值0
     */
    private PatnerSettleFlag patnerSettleFlag;
    /**
     * 分账信息，子单支持分账
     */
    private JsapiSeparateInfo separateInfo;
    /**
     * 小商户号
     */
    private String smallMchtCode;
    /**
     * 分账标识，与主单分账标识互斥，不能同时上送1
     */
    private SplitSettleFlag splitSettleFlag;
    /**
     * 子单商户号，子单商户号
     */
    private String subMchtCode;
    /**
     * 商户子单流水号
     */
    private String subOrgTrace;
    /**
     * 子单商户终端号
     */
    private String subTermCode;
    /**
     * 子单商户订单金额，单位分
     */
    private double transAmount;
}
