RegularLeave.java
package com.deveagles.be15_deveagles_be.features.schedules.command.domain.aggregate;
import jakarta.persistence.*;
import lombok.*;
@Entity
@Table(name = "regular_leave")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Builder
public class RegularLeave {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "regular_leave_id")
private Long regularLeaveId;
@Column(name = "staff_id", nullable = false)
private Long staffId;
@Column(name = "shop_id", nullable = false)
private Long shopId;
@Column(name = "regular_leave_title", nullable = false, length = 50)
private String regularLeaveTitle;
@Column(name = "monthly_leave")
private Integer monthlyLeave;
@Enumerated(EnumType.STRING)
@Column(name = "weekly_leave")
private DayOfWeekEnum weeklyLeave;
@Column(name = "regular_leave_memo")
private String regularLeaveMemo;
public void update(String title, Integer monthly, DayOfWeekEnum weekly, String memo) {
this.regularLeaveTitle = title;
this.monthlyLeave = monthly;
this.weeklyLeave = weekly;
this.regularLeaveMemo = memo;
}
}