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.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
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 LandAuctionRefundBidPriceAttrib {
    @JsonProperty("land_meta_id")
    private Integer landMetaId;
    @JsonProperty("auction_number")
    private Integer auctionNumber;
    @JsonProperty("bid_user_guid")
    private String bidUserGuid;
    @JsonProperty("last_bid_type")
    private String lastBidType;
    @JsonProperty("bid_currency_type")
    private String bidCurrencyType;
    @JsonProperty("bid_price")
    private Double bidPrice;
    @JsonProperty("refundable_normal_bid_price")
    private Double refundableNormalBidPrice;
    @JsonProperty("refundable_blind_bid_price")
    private Double refundableBlindBidPrice;

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

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

    @DynamoDbAttribute("bid_user_guid")
    public String getBidUserGuid() {
        return bidUserGuid;
    }

    @DynamoDbAttribute("last_bid_type")
    public String getLastBidType() { return lastBidType; }

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

    @DynamoDbAttribute("bid_price")
    public Double getBidPrice() {
        return bidPrice;
    }

    @DynamoDbAttribute("refundable_normal_bid_price")
    public Double getRefundableNormalBidPrice() {
        return refundableNormalBidPrice;
    }

    @DynamoDbAttribute("refundable_blind_bid_price")
    public Double getRefundableBlindBidPrice() {
        return refundableBlindBidPrice;
    }

}
