package itn.let.mail.service;

import java.time.LocalDateTime;

import org.springframework.http.HttpStatus;

import itn.let.mjo.pay.service.RefundVO;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 
 * @packageName : itn.let.mail.service 
 * @fileName 	: SuccessResponse.java 
 * @author 		: 이호영 
 * @date 		: 2022.07.04
 * @description : RestApi 응답에 사용할 Class
 * @TODO : CLASS 위치를 다시 잡아서 사용해야함
 * =========================================================== 
 * DATE          AUTHOR   NOTE 
 * ----------------------------------------------------------- *
 * 2022.07.04    이호영      최초 생성
 * 
 * 
 * 
 */
@Getter
@Setter
@NoArgsConstructor
public class StatusResponse {

	private  HttpStatus status;

	private  String message;
	
	private  RefundVO refundVO;
	
	private  Object object;
	
	private  String messageTemp;

	private LocalDateTime timestamp;

	public StatusResponse(HttpStatus status, RefundVO refundVO, LocalDateTime timestamp) {
		this.status = status;
		this.refundVO = refundVO;
		this.timestamp = timestamp;
	}
	
	public StatusResponse(HttpStatus status, Object object, LocalDateTime timestamp) {
		this.status = status;
		this.object = object;
		this.timestamp = timestamp;
	}
	
	public StatusResponse(HttpStatus status, String message, LocalDateTime timestamp) {
		this.status = status;
		this.message = message;
		this.timestamp = timestamp;
	}

	public StatusResponse(HttpStatus status, String message, String messageTemp, LocalDateTime timestamp) {
		this.status = status;
		this.message = message;
		this.timestamp = timestamp;
		this.messageTemp = messageTemp;
	}
	
	@Builder
	public StatusResponse(HttpStatus status, String msg, Object data) {
		this.status = status;
		this.message = msg;
		this.object = data;
	}
 
	
	
}
