package com.persagy.labsl.domain

import com.baomidou.mybatisplus.annotation.TableField
import com.baomidou.mybatisplus.annotation.TableName
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
import com.github.jeffreyning.mybatisplus.anno.MppMultiId
import lombok.Data
import java.io.Serializable
import java.util.*

/**
 *
 * @TableName marker
 */
@TableName(value = "marker",autoResultMap = true)
@Data
class MarkerEntity : Serializable {
    /**
     * 图对象id
     */
    @MppMultiId
    @TableField(value = "id")
    var id: String? = null
    /**
     * 标识id
     */
    @MppMultiId
    @TableField(value = "marker_id")
    var markerId: String? = null
    /**
     * 图id
     */
    @MppMultiId
    @TableField(value = "graph_id")
    var graphId: String? = null
    /**
     * 标识名称
     */
    @TableField(value = "name")
    var name: String? = null
    /**
     * 图标（Image），线类型(Line)，文本（Text）
     */
    @TableField(value = "type")
    var type: String? = null
    /**
     * 位置信息
     */
    @TableField(value = "pos",typeHandler = JacksonTypeHandler::class)
    var pos: Any? = null
    /**
     * 缩放
     */
    @TableField(value = "scale",typeHandler = JacksonTypeHandler::class)
    var scale: Any? = null
    /**
     * 旋转
     */
    @TableField(value = "rotate",typeHandler = JacksonTypeHandler::class)
    var rotate: Any? = null
    /**
     * 大小
     */
    @TableField(value = "size",typeHandler = JacksonTypeHandler::class)
    var size: Any? = null
    /**
     * 应用自定义
     */
    @TableField(value = "properties",typeHandler = JacksonTypeHandler::class)
    var properties: Any? = null
    /**
     * 图状态（1一般，2待审核，3审核完成，4回收站 ,0发布）
     */
    @TableField(value = "state")
    var state: Int? = null
    /**
     * 线的绘图样式
     */
    @TableField(value = "style",typeHandler = JacksonTypeHandler::class)
    var style: Any? = null
    /**
     * 更新时间
     */
    @TableField(value = "last_update")
    var lastUpdate: Date? = null
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    var createTime: Date? = null

    companion object {
        @TableField(exist = false)
        val serialVersionUID = 1L
    }
}