package com.fzm.mall.midea.pay.params;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @author tangtuo
 * @date 2021/5/24 13:51
 */

@Data
@Accessors(chain = true)
public class BatchTradeNotifyParam extends BaseParam {

    /**
     * 美的支付合作商户网站唯一订单号（确保在合作伙伴系统中唯一）
     * 不可为空
     */
    private String out_trade_no;

    /**
     * 美的支付交易订单号
     */
    private String trade_no;

    /**
     * 美的支付交易订单创建时间，格式yyyyMMddHHmmss
     * 不可为空
     */
    private String trade_accept_time;

    /**
     * 美的支付通知商户时间，格式为yyyyMMddHHmmss
     */
    private String notify_time;


    /**
     * 货币类型：
     * CNY：人民币
     */
    private String currency_type;


    /**
     * 总金额等于总支付金额加总营销金额
     */
    private String total_order_amount;

    /**
     * 支付总金额（单位分）
     */
    private String total_amount;

    /**
     * 订单总数
     */
    private String total_count;

    /**
     * 交易成功的金额，单位：分
     */
    private String success_amount;

    /**
     * 交易成功的订单数（<=total_count）
     */
    private String success_count;

    /**
     * NOT_EXIST：订单不存在
     * WAIT_PAY：订单已接收
     * PAYING：支付中
     * COMPLETE：支付完成
     */
    private String complete_status;

    /**
     * 支付结果描述
     */
    private String complete_status_info;

    /**
     * 该笔交易的支付完成时间，格式为yyyyMMddHHmmss
     */
    private String complete_time;

    /**
     * 商户自定义信息，原值返回给商户
     */
    private String attach;

    /**
     * 支付方式：三级业务类型
     * 注：B2C下单版本>=3.1.0才返回此参数
     */
    private String business_types;

    /**
     * 子单列表，格式为json字符串
     */
    private String sub_orders;

    /**
     * 由sub_orders转换而来
     */
    private List<SubOrder> subOrderList;

    @Data
    public static class SubOrder {

        /**
         * 签约的美的支付唯一商户号，10位纯数字组成
         */
        private String partner;

        /**
         * 子B2C订单商户订单号
         */
        private String sub_out_trade_no;

        /**
         * 美的支付生成的交易单号
         */
        private String sub_trade_no;

        /**
         * 营销商户号
         */
        private String market_acc_partner;

        /**
         * 营销金额，单位:分
         */
        private String market_amount;

        /**
         * 子B2C订单金额，单位: 分
         */
        private String pay_amount;

        /**
         * 该笔交易的支付时间，格式为yyyyMMddHHmmss
         */
        private String pay_time;

        /**
         * NOT_EXIST：订单不存在
         * WAIT_PAY：未支付
         * PAYING：支付中
         * SUCCESS：成功
         * FAIL：失败
         */
        private String trade_status;

        /**
         * 支付结果描述
         */
        private String trade_status_info;

        /**
         * 商户自定义的信息，原值返回给商户
         */
        private String sub_attach;

    }


}

