package com.bocloud.cmp.model;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 公有云账单model
 *
 * @author admin
 */
@Data
public class PublicCloudBillModel {
    private String businessCodeName; // 产品
    private String productName; // 子产品
    private String payModeName; // 计费模式
    private String regionName; // 地域
    private String zoneName; // 可用区
    private String resourceId; // 资源实例ID
    private String regionId;
    private String resourceName; // 资源实例名称
    private String actionTypeName; // 交易类型
    private String orderSn; // 订单ID
    private String payTime; // 扣费时间
    private Date feeBeginTime; // 开始使用时间
    private Date feeEndTime; // 结束使用时间
    private String configDesc; // 配置描述
    private BigDecimal totalCost; // 原价，单位为元
    private String reduceType; // 优惠类型
    private BigDecimal money; // 优惠后总价，单位为元
    private String status;
    private String productDetail;
    private String productCode;
    private String subscriptionType;// 订阅类型
    private BigDecimal deductedByCashCoupons;// 现金券扣除
    private BigDecimal deductedByCoupons;// 优惠券扣除
    private BigDecimal deductedByPrepaidCard;// 预付卡扣款
    private BigDecimal invoiceDiscount;// 发票扣款
    private BigDecimal outstandingAmount;// 未付金额
    private BigDecimal pretaxAmount;// 税前金额
    private BigDecimal pretaxGrossAmount;// 税前总额
    private BigDecimal roundDownDiscount;// 四舍五入折扣
    //azure
    private String subscriptionId;//订阅ID
    private String subscriptionName;//订阅名称
    private String resourceGroupName;//资源组
    private BigDecimal quantity;//使用数量
    private String orderSnName; // 订单名称
    private BigDecimal unitPrice;//单价是适用于您的价格。 （您的 EA 或其他合同价格）。
    private String billingCurrency;//计费币种。
    private String consumedService;//资源服务类别  云主机/硬盘。。。。

    private String meterId;//azure账单和官方定价唯一标识
    private Date useResourceData;//使用记录的日期
    private String month;
    private String productLine; //产品线
    private MeterDetailsModel meterDetailsModel;//账单明细

    /**
     * 项目名称
     * <p>
     * 对应华为账单的[enterpriseProjectName]字段
     * </p>
     */
    private String projectName;

    @Data
    public class MeterDetailsModel {
        private String meterName;
        private String meterCategory;
        private String meterSubCategory;
        private String unitOfMeasure;
    }
}
