WhimsyWorld/src/main/java/com/alterdekim/game/entity/PromotionBanner.java

50 lines
1.5 KiB
Java

package com.alterdekim.game.entity;
import com.alterdekim.game.controller.result.api.ApiResult;
import com.alterdekim.game.controller.result.api.PromotionBannerResult;
import com.alterdekim.game.controller.result.api.PromotionResult;
import com.alterdekim.game.xml.NumericBooleanSerializer;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name="promotion_banners")
@JsonRootName(value = "i")
public class PromotionBanner implements ApiResult {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private Long id;
@JacksonXmlProperty(isAttribute = true, localName = "MRId")
@Column(nullable = false)
private Integer mrId;
@JsonIgnore
@Column(nullable = false)
private Boolean isSelected;
public PromotionBanner(Integer mrId, Boolean isSelected) {
this.mrId = mrId;
this.isSelected = isSelected;
}
@Override
public PromotionBannerResult toAPIResult() {
return new PromotionBannerResult(this.id, this.mrId, this.isSelected);
}
}