- account_entry pending/notif_key 컬럼 추가(멱등 마이그레이션)
- CardNotificationParser: 카드사·금액·가맹점·승인/취소 파싱
- POST /entries/notification(미확인 지출 생성, 중복방지, 카드 자동매칭)
- POST /entries/{id}/confirm(확정), GET /entries/pending/count
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
1.2 KiB
Java
38 lines
1.2 KiB
Java
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;
|
|
}
|