6eef6cbd29
CI / build (push) Failing after 14m23s
- WalletRequest 유형 검증에 CASH 허용 - netWorth: CASH를 자산으로 합산(기존 else 분기에서 부채로 잡히던 것 방지) - 추이(trend)는 부호있는 openingBalance+흐름이라 CASH 자동 반영(변경 불필요) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
1.3 KiB
Java
41 lines
1.3 KiB
Java
package com.sb.web.account.dto;
|
|
|
|
import jakarta.validation.constraints.NotBlank;
|
|
import jakarta.validation.constraints.Pattern;
|
|
import jakarta.validation.constraints.Size;
|
|
import lombok.Data;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
/**
|
|
* 계좌/카드/대출 생성/수정 요청.
|
|
*/
|
|
@Data
|
|
public class WalletRequest {
|
|
|
|
@NotBlank(message = "유형을 선택하세요.")
|
|
@Pattern(regexp = "BANK|CASH|CARD|LOAN|INVEST", message = "유형이 올바르지 않습니다.")
|
|
private String type;
|
|
|
|
@NotBlank(message = "이름을 입력하세요.")
|
|
@Size(max = 50, message = "이름은 50자 이내여야 합니다.")
|
|
private String name;
|
|
|
|
@Size(max = 50, message = "50자 이내여야 합니다.")
|
|
private String issuer; // 은행명 / 카드사
|
|
|
|
@Size(max = 50, message = "50자 이내여야 합니다.")
|
|
private String accountNumber; // 계좌번호 (BANK)
|
|
|
|
@Pattern(regexp = "CREDIT|CHECK|", message = "카드 종류가 올바르지 않습니다.")
|
|
private String cardType; // CREDIT / CHECK (CARD)
|
|
|
|
/** 초기 잔액 (부호있음: 자산+, 부채-). 미입력 시 0 */
|
|
private Long openingBalance;
|
|
|
|
private LocalDate openingDate;
|
|
|
|
/** 현재 평가금액 (INVEST 전용, 수동 갱신) */
|
|
private Long currentValue;
|
|
}
|