package com.bailuntec.domain.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
public class DcBaseFinanceAmazonItem {
    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.id
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.amazon_id
     *
     * @mbg.generated
     */
    private Integer amazonId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.campaign_id
     *
     * @mbg.generated
     */
    private String campaignId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.ad_group_id
     *
     * @mbg.generated
     */
    private String adGroupId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.sku
     *
     * @mbg.generated
     */
    private String sku;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.item_id
     *
     * @mbg.generated
     */
    private String itemId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.bailun_sku
     *
     * @mbg.generated
     */
    private String bailunSku;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.site
     *
     * @mbg.generated
     */
    private String site;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.cost
     *
     * @mbg.generated
     */
    private BigDecimal cost;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.sku_cost
     *
     * @mbg.generated
     */
    private BigDecimal skuCost;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.sku_ratio
     *
     * @mbg.generated
     */
    private BigDecimal skuRatio;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.report_date
     *
     * @mbg.generated
     */
    private LocalDate reportDate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.asin
     *
     * @mbg.generated
     */
    private String asin;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.currency
     *
     * @mbg.generated
     */
    private String currency;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.account_id
     *
     * @mbg.generated
     */
    private Integer accountId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.company_id
     *
     * @mbg.generated
     */
    private Integer companyId;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.exchange_rate
     *
     * @mbg.generated
     */
    private BigDecimal exchangeRate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_amazon_item.exchange_rate_usd
     *
     * @mbg.generated
     */
    private BigDecimal exchangeRateUsd;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_finance_amazon_item
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", amazonId=").append(amazonId);
        sb.append(", campaignId=").append(campaignId);
        sb.append(", adGroupId=").append(adGroupId);
        sb.append(", sku=").append(sku);
        sb.append(", itemId=").append(itemId);
        sb.append(", bailunSku=").append(bailunSku);
        sb.append(", site=").append(site);
        sb.append(", cost=").append(cost);
        sb.append(", skuCost=").append(skuCost);
        sb.append(", skuRatio=").append(skuRatio);
        sb.append(", reportDate=").append(reportDate);
        sb.append(", asin=").append(asin);
        sb.append(", currency=").append(currency);
        sb.append(", accountId=").append(accountId);
        sb.append(", companyId=").append(companyId);
        sb.append(", exchangeRate=").append(exchangeRate);
        sb.append(", exchangeRateUsd=").append(exchangeRateUsd);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_finance_amazon_item
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DcBaseFinanceAmazonItem other = (DcBaseFinanceAmazonItem) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getAmazonId() == null ? other.getAmazonId() == null : this.getAmazonId().equals(other.getAmazonId()))
            && (this.getCampaignId() == null ? other.getCampaignId() == null : this.getCampaignId().equals(other.getCampaignId()))
            && (this.getAdGroupId() == null ? other.getAdGroupId() == null : this.getAdGroupId().equals(other.getAdGroupId()))
            && (this.getSku() == null ? other.getSku() == null : this.getSku().equals(other.getSku()))
            && (this.getItemId() == null ? other.getItemId() == null : this.getItemId().equals(other.getItemId()))
            && (this.getBailunSku() == null ? other.getBailunSku() == null : this.getBailunSku().equals(other.getBailunSku()))
            && (this.getSite() == null ? other.getSite() == null : this.getSite().equals(other.getSite()))
            && (this.getCost() == null ? other.getCost() == null : this.getCost().equals(other.getCost()))
            && (this.getSkuCost() == null ? other.getSkuCost() == null : this.getSkuCost().equals(other.getSkuCost()))
            && (this.getSkuRatio() == null ? other.getSkuRatio() == null : this.getSkuRatio().equals(other.getSkuRatio()))
            && (this.getReportDate() == null ? other.getReportDate() == null : this.getReportDate().equals(other.getReportDate()))
            && (this.getAsin() == null ? other.getAsin() == null : this.getAsin().equals(other.getAsin()))
            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
            && (this.getAccountId() == null ? other.getAccountId() == null : this.getAccountId().equals(other.getAccountId()))
            && (this.getCompanyId() == null ? other.getCompanyId() == null : this.getCompanyId().equals(other.getCompanyId()))
            && (this.getExchangeRate() == null ? other.getExchangeRate() == null : this.getExchangeRate().equals(other.getExchangeRate()))
            && (this.getExchangeRateUsd() == null ? other.getExchangeRateUsd() == null : this.getExchangeRateUsd().equals(other.getExchangeRateUsd()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_finance_amazon_item
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getAmazonId() == null) ? 0 : getAmazonId().hashCode());
        result = prime * result + ((getCampaignId() == null) ? 0 : getCampaignId().hashCode());
        result = prime * result + ((getAdGroupId() == null) ? 0 : getAdGroupId().hashCode());
        result = prime * result + ((getSku() == null) ? 0 : getSku().hashCode());
        result = prime * result + ((getItemId() == null) ? 0 : getItemId().hashCode());
        result = prime * result + ((getBailunSku() == null) ? 0 : getBailunSku().hashCode());
        result = prime * result + ((getSite() == null) ? 0 : getSite().hashCode());
        result = prime * result + ((getCost() == null) ? 0 : getCost().hashCode());
        result = prime * result + ((getSkuCost() == null) ? 0 : getSkuCost().hashCode());
        result = prime * result + ((getSkuRatio() == null) ? 0 : getSkuRatio().hashCode());
        result = prime * result + ((getReportDate() == null) ? 0 : getReportDate().hashCode());
        result = prime * result + ((getAsin() == null) ? 0 : getAsin().hashCode());
        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
        result = prime * result + ((getAccountId() == null) ? 0 : getAccountId().hashCode());
        result = prime * result + ((getCompanyId() == null) ? 0 : getCompanyId().hashCode());
        result = prime * result + ((getExchangeRate() == null) ? 0 : getExchangeRate().hashCode());
        result = prime * result + ((getExchangeRateUsd() == null) ? 0 : getExchangeRateUsd().hashCode());
        return result;
    }
}