<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package com.chataak.api.entity;

import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

@Entity
@AllArgsConstructor
@NoArgsConstructor
@Data
@Table(name = "order_products")
public class OrderProducts {

    @EmbeddedId
    private OrderProductsKeyId id;

    @ManyToOne
    @MapsId("orderKeyId")
    @JoinColumn(name = "orderKeyId")
    private Order order;


    @ManyToOne
    @JoinColumn(name = "storeKeyId")
    private OrganizationStore store;

    @ManyToOne
    @MapsId("productKeyId")
    @JoinColumn(name = "productKeyId")
    private Products products;

    @Column(name = "quantity")
    private Integer quantity;

    @Column(name = "sellingPriceCurrency")
    private String sellingPriceCurrency;

    @Column(name = "sellingUOM")
    private String sellingUOM;

    @Column(name = "actualSellingPrice")
    private BigDecimal actualSellingPrice;

    @ManyToOne
    @JoinColumn(name = "promotionKeyId")
    private ProductPromotion promotion;

    @Column(name = "createdOn")
    private Date createdOn;

    @Column(name = "discountPercentage")
    private BigDecimal discountPercentage;

    @Column(name = "discountAmount")
    private BigDecimal discountAmount;

    @Column(name = "taxRate")
    private BigDecimal taxRate;

    @Column(name = "netAmount")
    private BigDecimal netAmount;

    @Column(name = "displayAmount", precision = 11, scale = 2)
    private BigDecimal displayAmount;

    @Column(name = "expectedDeliveryDate")
    private Date expectedDeliveryDate;

    @Column(name = "cartSessionID")
    private Long cartSessionID;

    // Additional fields
    @Column(name = "cgstRate")//, precision = 5, scale = 2)
    private Double cgstRate;

    @Column(name = "sgstRate")//, precision = 5, scale = 2)
    private Double sgstRate;

    @Column(name = "igstRate")//, precision = 5, scale = 2)
    private Double igstRate;

    @Column(name = "spInclusiveTax")
    private Boolean spInclusiveTax;

    @Column(name = "tax2Rate")//, precision = 11, scale = 2)
    private Double tax2Rate;

    @Column(name = "orignalPrice", precision = 11, scale = 2)
    private BigDecimal orignalPrice;

    @Column(name = "taxableAmount", precision = 11, scale = 2)//, precision = 11, scale = 2)
    private BigDecimal taxableAmount;

    @Column(name = "cgstAmount")//, precision = 11, scale = 2)
    private Double cgstAmount;

    @Column(name = "sgstAmount")//, precision = 11, scale = 2)
    private Double sgstAmount;

    @Column(name = "igstAmount")//, precision = 11, scale = 2)
    private Double igstAmount;

    @Column(name = "tax2Amount")//, precision = 11, scale = 2)
    private Double tax2Amount;

    @Column(name = "promoDiscountAmount")
    private BigDecimal promoDiscountAmount;


}</pre></body></html>