package com.wzj.soopin.transaction.domain.bo.easypay.separate.apply.req;

import com.wzj.soopin.transaction.domain.bo.easypay.trade.jsapi.req.SeparateInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SeparateReqOrderInfo {
    /**
     * 异步通知地址
     */
    private String backUrl;
    /**
     * 原商户交易的orgTrace，需要对哪笔交易进行分账，就传那笔交易的orgTrace。就是支付交易的orgTrace
     */
    private String oriOrgTrace;
    /**
     * 原商户交易日期
     */
    private String oriTransDate;
    /**
     * 营销信息，仅支持ToB营销活动
     */
    private List<PromoList> promoList;
    /**
     * 分账总单流水号，分账批次号，自定义，要唯一
     */
    private String separateBatchTrace;
    /**
     * 分账子单明细，可送多条
     */
    private List<SeparateInfo.SeparateOrderDetailList> separateOrderDetailList;
    /**
     * 分账订单总金额，单位分
     */
    private long transSumAmt;
    /**
     * 分账订单总笔数
     */
    private long transSumCount;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class PromoList {
        /**
         * 营销ID
         */
        private String promoCode;
        /**
         * 营销手续费金额
         */
        private long promoFeeAmount;
    }
}
