package com.liquidnet.common.third.sqb.param.response.data;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;


import lombok.Data;

import java.util.List;

/**
 * 商城列表查询响应数据
 */

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class MallListQueryData {

    /** 商城编号 */
    private String mallSn;

    /** 商城签名 */
    private String signature;

    /** 商城名称 */
    private String mallName;

    /** 商城状态 0:待上线 1:已上线 2:已下线 */
    private Byte state;

    /** 商城状态描述 */
    private String stateDesc;

    /** 内部状态 1启用 0禁用 */
    private Byte internalState;

    /** 内部状态描述 */
    private String internalStateDesc;

    /** 删除状态 0未删除 1已删除 */
    private Byte isDelete;

    /** 删除时间 */
    private String deleteTime;

    /** 大额开通状态 */
    private Byte crossCityPaymentStatus;

    /** 大额开通状态描述 */
    private String crossCityPaymentStatusDesc;

    /** 应用类型 0拼塔商城 目前都是0，无需关注 */
    private Integer appType;

    /** 行业code */
    private String industryCode;

    /** 商户信息 */
    private Seller seller;

    /** 订单统计 */
    private OrderStatistics orderStatistics;

    /** 商户统计 */
    private SellerStatisticsModel sellerStatisticsModel;

    /** 创建时间 */
    private String ctime;

    /** 跨城状态明细 */
    private List<CrossCityPayment> crossCityPayments;


    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    /**
 * 商户信息
 */
    public static class Seller {
        /** 商户号 */
        private String merchantSn;

        /** 商户id */
        private String merchantId;

        /** 商户名称 */
        private String merchantName;

        /** 门店号 */
        private String storeSn;

        /** 门店id */
        private String storeId;

        /** 门店名称 */
        private String storeName;

        /** 终端号 */
        private String terminalSn;

        /** 大额终端编号 */
        private String crossCityTerminalSn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    /**
 * 订单统计
 */
    public static class OrderStatistics {
        /** 订单数量 */
        private Long totalNum;

        /** 商品数量 */
        private String totalQuantity;

        /** 订单总额（分） */
        private Long totalAmount;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    /**
 * 商户统计
 */
    public static class SellerStatisticsModel {
        /** 异地交易失败订单数量 */
        private Long orderFailNum;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    /**
 * 跨城支付明细
 */
    public static class CrossCityPayment {
        /** 支付工具code 2:支付宝 3:微信 */
        private Byte payToolCode;

        /** 支付工具描述 */
        private String payToolCodeDesc;

        /** 大额开通状态 */
        private Integer status;

        /** 大额开通状态描述 */
        private String statusDesc;
    }
}
