package com.sb.web.account.domain; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; /** * 가계부 항목. account_entry 테이블과 매핑. (소유자 member_id 격리) */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class AccountEntry implements Serializable { private Long id; private Long memberId; private LocalDate entryDate; private String type; // INCOME / EXPENSE private String category; private Long amount; // 원(양수) private String memo; private Long walletId; // 발생/출금 계좌(wallet.id) private String walletName; // 조인 표시용 private Long toWalletId; // 이체 입금 계좌 private String toWalletName; private Integer installmentMonths; // 카드 할부 개월수(2~24, 일시불은 null) private Boolean pending; // 확인 필요(미확정) 여부 — 알림 자동인식 건 private String notifKey; // 알림 자동인식 중복방지 키 private LocalDateTime createdAt; private LocalDateTime updatedAt; }