ItemSales.java
package com.deveagles.be15_deveagles_be.features.sales.command.domain.aggregate;
import jakarta.persistence.*;
import java.time.LocalDateTime;
import lombok.*;
@Entity
@Table(name = "item_sales")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Builder
public class ItemSales {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "item_sales_id")
private Long itemSalesId;
@Column(name = "secondary_item_id", nullable = false)
private Long secondaryItemId;
@Column(name = "sales_id", nullable = false)
private Long salesId;
@Column(name = "quantity")
private Integer quantity;
@Column(name = "discount_rate")
private Integer discountRate;
@Column(name = "created_at", nullable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at", nullable = false)
private LocalDateTime modifiedAt;
@Column(name = "deleted_at")
private LocalDateTime deletedAt;
@Column(name = "coupon_id", nullable = false)
private Long couponId;
public void updateItemSales(
Long secondaryItemId, Integer quantity, Integer discountRate, Long couponId) {
this.secondaryItemId = secondaryItemId;
this.quantity = quantity;
this.discountRate = discountRate;
this.couponId = couponId;
}
}