CustomerGrade.java
package com.deveagles.be15_deveagles_be.features.customers.command.domain.aggregate;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Entity
@Table(name = "customer_grade")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Builder
public class CustomerGrade {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "customer_grade_id")
private Long id;
@Column(name = "shop_id", nullable = false)
private Long shopId;
@Column(name = "customer_grade_name", nullable = false, length = 10)
private String customerGradeName;
@Column(name = "discount_rate", nullable = false)
private Integer discountRate;
// Business methods
public void updateGradeName(String customerGradeName) {
this.customerGradeName = customerGradeName;
}
public void updateDiscountRate(Integer discountRate) {
this.discountRate = discountRate;
}
}