package com.ruoyi.robot.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 瓦片地图配置对象 ld_tilemap_config
 */
@Data
public class LdTilemapConfig {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 所属地图名称
     */
    private String mapName;

    /**
     * 瓦片层级数
     */
    private Integer layerCnt;

    /**
     * 起始层级
     */
    private Integer minZoom;

    /**
     * 最大层级
     */
    private Integer maxZoom;

    /**
     * 瓦片尺寸（像素）
     */
    private Integer tileSize;

    /**
     * 投影类型
     */
    private String projectionType;

    /**
     * extent左边界
     */
    private BigDecimal extentLeft;

    /**
     * extent下边界
     */
    private BigDecimal extentBottom;

    /**
     * extent右边界
     */
    private BigDecimal extentRight;

    /**
     * extent上边界
     */
    private BigDecimal extentTop;

    /**
     * 瓦片存储根路径
     */
    private String tileStoragePath;

    /**
     * 瓦片访问基础URL
     */
    private String tileBaseUrl;

    /**
     * 原点X坐标
     */
    private BigDecimal originX;

    /**
     * 原点Y坐标
     */
    private BigDecimal originY;

    /**
     * 分辨率（米/像素）
     */
    private BigDecimal resolution;

    /**
     * 瓦片图片格式
     */
    private String format;

    /**
     * 原始配置JSON
     */
    private String configJson;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
