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

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

import java.util.List;

/**
 * 分账信息
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SeparateInfo {

    /**
     * 分账商户号，即发起分账方，分账资金来源方
     */
    private String oriSeparateMchtCode;
    /**
     * 分账流水号，商户号下唯一
     */
    private String separaBatchTrace;
    /**
     * 分账订单明细
     */
    private List<SeparateOrderDetailList> separateOrderDetailList;
    /**
     * 分账订单总金额，单位分
     */
    private long transSumAmt;
    /**
     * 分账订单总笔数
     */
    private long transSumCount;

    /**
     * 分账订单明细
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class SeparateOrderDetailList {

        /**
         * 分账收款方商户号，可以商户号或分账接收方编号
         */
        private String receiveMchtCode;

        /**
         * 分账比例，分账金额和分账比例2选一必填，30代表30%，仅可上送整数
         */
        private Long sepaRatio;
        /**
         * 分账手续费承担本金比例，金额和比例2选1必填，30代表30%，仅可上送整数
         */
        private Long sepaFeeRatio;
        /**
         * 分账子单流水号
         */
        private String separateTrade;

    }
}
