package com.example.demo.product.entity;

import jakarta.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Entity
@Table(name = "product_prices")
public class ProductPrice {

    @Id
    @Column(name = "product_id")
    private Long productId;

    @Column(name = "shop_id", nullable = false)
    private Long shopId;

    @Column(name = "user_id", nullable = false)
    private Long userId;

    @Column(name = "purchase_price", precision = 18, scale = 2, nullable = false)
    private BigDecimal purchasePrice = BigDecimal.ZERO;

    @Column(name = "retail_price", precision = 18, scale = 2, nullable = false)
    private BigDecimal retailPrice = BigDecimal.ZERO;

    @Column(name = "distribution_price", precision = 18, scale = 2, nullable = false)
    private BigDecimal distributionPrice = BigDecimal.ZERO;

    @Column(name = "wholesale_price", precision = 18, scale = 2, nullable = false)
    private BigDecimal wholesalePrice = BigDecimal.ZERO;

    @Column(name = "big_client_price", precision = 18, scale = 2, nullable = false)
    private BigDecimal bigClientPrice = BigDecimal.ZERO;

    @Column(name = "updated_at", nullable = false)
    private LocalDateTime updatedAt;

    public Long getProductId() { return productId; }
    public void setProductId(Long productId) { this.productId = productId; }
    public Long getShopId() { return shopId; }
    public void setShopId(Long shopId) { this.shopId = shopId; }
    public Long getUserId() { return userId; }
    public void setUserId(Long userId) { this.userId = userId; }
    public BigDecimal getPurchasePrice() { return purchasePrice; }
    public void setPurchasePrice(BigDecimal purchasePrice) { this.purchasePrice = purchasePrice; }
    public BigDecimal getRetailPrice() { return retailPrice; }
    public void setRetailPrice(BigDecimal retailPrice) { this.retailPrice = retailPrice; }
    public BigDecimal getDistributionPrice() { return distributionPrice; }
    public void setDistributionPrice(BigDecimal distributionPrice) { this.distributionPrice = distributionPrice; }
    public BigDecimal getWholesalePrice() { return wholesalePrice; }
    public void setWholesalePrice(BigDecimal wholesalePrice) { this.wholesalePrice = wholesalePrice; }
    public BigDecimal getBigClientPrice() { return bigClientPrice; }
    public void setBigClientPrice(BigDecimal bigClientPrice) { this.bigClientPrice = bigClientPrice; }
    public LocalDateTime getUpdatedAt() { return updatedAt; }
    public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
}







