package com.caliverse.admin.dynamodb.domain.atrrib;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.*;
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;

@Setter
@ToString(callSuper = true)
@NoArgsConstructor
@DynamoDbBean
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class LandAuctionHighestBidUserAttrib {
    @JsonProperty("land_meta_id")
    private Integer landMetaId;
    @JsonProperty("auction_number")
    private Integer auctionNumber;
    @JsonProperty("bid_currency_type")
    private String bidCurrencyType;
    @JsonProperty("highest_bid_price")
    private Double highestBidPrice;
    @JsonProperty("highest_user_guid")
    private String highestBidUserGuid;
    @JsonProperty("highest_user_nickname")
    private String highestBidUserNickname;
    @JsonProperty("normal_highest_bid_price")
    private Double normalHighestBidPrice;
    @JsonProperty("normal_highest_user_guid")
    private String normalHighestBidUserGuid;
    @JsonProperty("normal_highest_user_nickname")
    private String normalHighestBidUserNickname;
    @JsonProperty("highest_rank_version_time")
    private String highestRankVersionTime;

    @DynamoDbAttribute("land_meta_id")
    public Integer getLandMetaId() {
        return landMetaId;
    }

    @DynamoDbAttribute("auction_number")
    public Integer getAuctionNumber() {
        return auctionNumber;
    }

    @DynamoDbAttribute("bid_currency_type")
    public String getBidCurrencyType() {
        return bidCurrencyType;
    }

    @DynamoDbAttribute("highest_bid_price")
    public Double getHighestBidPrice() {
        return highestBidPrice;
    }

    @DynamoDbAttribute("highest_user_guid")
    public String getHighestBidUserGuid() {
        return highestBidUserGuid;
    }

    @DynamoDbAttribute("highest_user_nickname")
    public String getHighestBidUserNickname() {
        return highestBidUserNickname;
    }

    @DynamoDbAttribute("normal_highest_bid_price")
    public Double getNormalHighestBidPrice() {
        return normalHighestBidPrice;
    }

    @DynamoDbAttribute("normal_highest_user_guid")
    public String getNormalHighestBidUserGuid() {
        return normalHighestBidUserGuid;
    }

    @DynamoDbAttribute("normal_highest_user_nickname")
    public String getNormalHighestBidUserNickname() {
        return normalHighestBidUserNickname;
    }

    @DynamoDbAttribute("highest_rank_version_time")
    public String getHighestRankVersionTime() {
        return highestRankVersionTime;
    }

}
