package com.fs.oms.domain;

import java.math.BigDecimal;
import java.util.Map;

import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品属性值对象 oms_product_attr_value
 *
 * @author fs
 * @date 2023-06-07
 */
public class OmsProductAttrValue extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long productId;

    /** 商品属性索引值 (attr_value|attr_value[|....]) */
    @Excel(name = "商品属性索引值 (attr_value|attr_value[|....])")
    private String sku;

    /** 属性金额 */
    @Excel(name = "属性金额")
    private BigDecimal price;

    /** 图片 */
    @Excel(name = "图片")
    private String image;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal cost;

    /** 商品条码 */
    @Excel(name = "商品条码")
    private String barCode;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal otPrice;

    @Excel(name = "营销价")
    private BigDecimal activityPrice;

    @Excel(name = "市场价")
    private BigDecimal marketPrice;

    @Excel(name = "结算价")
    private BigDecimal clearingPrice;

    @Excel(name = "内部分摊价")
    private BigDecimal innerPrice;

    /** 重量 */
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 体积 */
    @Excel(name = "体积")
    private BigDecimal volume;

    private Map<String, String> detail;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setSku(String sku)
    {
        this.sku = sku;
    }

    public String getSku()
    {
        return sku;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }
    public void setCost(BigDecimal cost)
    {
        this.cost = cost;
    }

    public BigDecimal getCost()
    {
        return cost;
    }
    public void setBarCode(String barCode)
    {
        this.barCode = barCode;
    }

    public String getBarCode()
    {
        return barCode;
    }
    public void setOtPrice(BigDecimal otPrice)
    {
        this.otPrice = otPrice;
    }

    public BigDecimal getOtPrice()
    {
        return otPrice;
    }
    public void setWeight(BigDecimal weight)
    {
        this.weight = weight;
    }

    public BigDecimal getWeight()
    {
        return weight;
    }
    public void setVolume(BigDecimal volume)
    {
        this.volume = volume;
    }

    public BigDecimal getVolume()
    {
        return volume;
    }

    public Map<String, String> getDetail() {
        return detail;
    }

    public void setDetail(Map<String, String> detail) {
        this.detail = detail;
    }

    public BigDecimal getActivityPrice() {
        return activityPrice;
    }

    public void setActivityPrice(BigDecimal activityPrice) {
        this.activityPrice = activityPrice;
    }

    public BigDecimal getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(BigDecimal marketPrice) {
        this.marketPrice = marketPrice;
    }

    public BigDecimal getClearingPrice() {
        return clearingPrice;
    }

    public void setClearingPrice(BigDecimal clearingPrice) {
        this.clearingPrice = clearingPrice;
    }

    public BigDecimal getInnerPrice() {
        return innerPrice;
    }

    public void setInnerPrice(BigDecimal innerPrice) {
        this.innerPrice = innerPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("sku", getSku())
            .append("price", getPrice())
            .append("image", getImage())
            .append("cost", getCost())
            .append("barCode", getBarCode())
            .append("otPrice", getOtPrice())
            .append("weight", getWeight())
            .append("volume", getVolume())
                .append("activityPrice",getActivityPrice())
                .append("marketPrice",getMarketPrice())
                .append("clearingPrice",getClearingPrice())
                .append("innerPrice",getInnerPrice())
            .toString();
    }
}
