package com.caliverse.admin.domain.entity;

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

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class LandInfo {
    private Long id;
    @JsonProperty("row_num")
    private Integer rowNum;
    @JsonProperty("land_id")
    private Integer landId;
    @JsonProperty("land_name")
    private String landName;
    @JsonProperty("land_desc")
    private String landDesc;
    @JsonProperty("land_size")
    private String landSize;
    @JsonProperty("land_type")
    private String landType;
    private String category;
    @JsonProperty("building_id")
    private Integer buildingId;
    @JsonProperty("building_name")
    private String buildingName;
    @JsonProperty("owner_user_guid")
    private String ownerUserGuid;
    @JsonProperty("owner_user_nickname")
    private String ownerUserNickname;
    @JsonProperty("owner_user_create_date")
//    private LocalDateTime ownerUserCreateDate;
    private String ownerUserCreateDate;
    @JsonProperty("owner_price")
    private String ownerPrice;
    @JsonProperty("non_auction")
    private boolean nonAuction;
    private Integer socket;
    private String editor;
    private String status;
    private String isUpdate;
    private boolean isOwned;
    @JsonProperty("owner_changes")
    private List<LandOwnerChange> ownerChanges;

    public enum LAND_STATUS {
        NONE,
        AUCTION_RUNNING,
        AUCTION_WAIT,
        AUCTION_END,
        OWNED,
        OWNED_WAIT
        ;
    }
}
