package com.caliverse.admin.domain.request;

import com.caliverse.admin.domain.entity.LandAuction;
import com.caliverse.admin.domain.entity.Message;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LandRequest {

    private Long id;
    @JsonProperty("land_id")
    private Integer landId;
    @JsonProperty("land_name")
    private String landName;
    @JsonProperty("land_size")
    private String landSize;
    @JsonProperty("land_socket")
    private Integer landSocket;
    // 경매 번호
    @JsonProperty("auction_seq")
    private Integer auctionSeq;
    // 예약 시작 시간
    @JsonProperty("resv_start_dt")
    private LocalDateTime resvStartDt;
    // 예약 종료 시간
    @JsonProperty("resv_end_dt")
    private LocalDateTime resvEndDt;
    // 경매 시작 시간
    @JsonProperty("auction_start_dt")
    private LocalDateTime auctionStartDt;
    // 예약 종료 시간
    @JsonProperty("auction_end_dt")
    private LocalDateTime auctionEndDt;
    @JsonProperty("currency_type")
    private String currencyType;
    //경매 시작가
    @JsonProperty("start_price")
    private Double startPrice;
    @JsonProperty("message_list")
    private List<Message> massageList;

    //소유권 변경
    @JsonProperty("user_guid")
    private String userGuid;
    @JsonProperty("user_name")
    private String userName;
    @JsonProperty("is_reserve")
    private boolean isReserve;
    @JsonProperty("reservation_dt")
    private LocalDateTime reservationDt;

    @JsonProperty("building_id")
    private Integer buildingId;
    @JsonProperty("building_name")
    private String buildingName;

    @JsonProperty("create_by")
    private Long createBy;
    @JsonProperty("create_dt")
    private LocalDateTime createDt;
    @JsonProperty("update_by")
    private Long updateBy;
    @JsonProperty("update_dt")
    private LocalDateTime updateDt;

    //삭제용 id
    private List<LandAuction> list;

}
