package incheon.sgp.thm.dto;

import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 비오톱 Geometry 응답 DTO
 * MyBatis CamelCase 매핑을 위해 필드명은 CamelCase로,
 * JSON 출력은 SnakeCase로 맞춤.
 */
@Data
public class SgpThmBiotopeGeomDto {

    /**
     * POI ID (예: "BIOTP_10_000001")
     * DB Column: poi_id -> MyBatis Result: poiId
     */
    @JsonProperty("poi_id")
    private String poiId;

    /**
     * GeoJSON geometry (Raw JSON String)
     * DB Column: geom -> MyBatis Result: geom
     * 
     * @JsonRawValue: 문자열을 JSON Object로 출력
     */
    @JsonRawValue
    private String geom;

    /**
     * 생태등급 (Ⅰ, Ⅱ, Ⅲ, Ⅳ, Ⅴ)
     * DB Column: bio_val -> MyBatis Result: bioVal
     */
    @JsonProperty("bio_val")
    private String bioVal;
}
