package com.bb.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Onix Seamless API 응답 DTO
 * 모든 Onix 콜백 응답 (balance, changeBalance)에 사용
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OnixResponse {
	
	/**
	 * 결과 코드: 1(성공), 0(실패)
	 */
	private int result;
	
	/**
	 * 사용자 현재 잔고 (result=1일 때만 포함)
	 */
	private long balance;
	
	/**
	 * 성공 응답 생성 (result=1, balance 포함)
	 */
	public static OnixResponse success(long balance) {
		return OnixResponse.builder()
			.result(1)
			.balance(balance)
			.build();
	}
	
	/**
	 * 실패 응답 생성 (result=0, 에러 메시지 없음)
	 */
	public static OnixResponse failure() {
		return OnixResponse.builder()
			.result(0)
			.build();
	}
}
