package com.ltgk.port.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * 水野保护区域
 */
@ApiModel(description = "水野保护区域")
@Data
@TableName(value = "water_area_info")
public class WaterAreaInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    @Size(max = 50, message = "主键最大长度要小于 50")
    @NotBlank(message = "主键不能为空")
    private String id;

    @ApiModelProperty(value = "区域编码")
    @TableField(value = "code", condition = SqlCondition.LIKE)
    private String code;

    @ApiModelProperty(value = "区域名称")
    @TableField(value = "name", condition = SqlCondition.LIKE)
    private String name;

    @TableField(value = "`type`")
    @ApiModelProperty(value = "区域类型：0=面，1=线，2=圆")
    private Integer type;

    @TableField(value = "points")
    @ApiModelProperty(value = "区域坐标：124,39.55;123.3333333,38.93333333;")
    @Size(max = 2000, message = "区域坐标：124,39.55;123.3333333,38.93333333;最大长度要小于 2000")
    private String points;

    @TableField(value = "border_color")
    @ApiModelProperty(value = "区域边框颜色")
    @Size(max = 64, message = "区域边框颜色最大长度要小于 64")
    private String borderColor;

    @TableField(value = "border_width")
    @ApiModelProperty(value = "区域边框宽度")
    private Integer borderWidth;

    @TableField(value = "fill_color")
    @ApiModelProperty(value = "填充色")
    private String fillColor;

    @TableField(value = "diaphaneity")
    @ApiModelProperty(value = "透明度")
    private String diaphaneity;

    @TableField(value = "status")
    @ApiModelProperty(value = "状态：0=停用，1=启用")
    private Integer status;

    @TableField(value = "area_code")
    @ApiModelProperty(value = "区域代码")
    @Size(max = 125, message = "区域代码最大长度要小于 125")
    private String areaCode;

    @TableField(value = "area_name")
    @ApiModelProperty(value = "区域名称")
    @Size(max = 125, message = "区域名称最大长度要小于 125")
    private String areaName;

    @TableField(value = "del_flag")
    @ApiModelProperty(value = "删除标志: 0-未删除, 1-已删除")
    private Integer delFlag;

    @TableField(value = "create_by")
    @ApiModelProperty(value = "创建者")
    @Size(max = 32, message = "创建者最大长度要小于 32")
    private String createBy;

    @TableField(value = "create_at")
    @ApiModelProperty(value = "创建时间")
    private Date createAt;

    @TableField(value = "update_by")
    @ApiModelProperty(value = "更新者")
    @Size(max = 32, message = "更新者最大长度要小于 32")
    private String updateBy;

    @TableField(value = "update_at")
    @ApiModelProperty(value = "更新时间")
    private Date updateAt;

    @TableField(value = "remark")
    @ApiModelProperty(value = "备注")
    @Size(max = 900, message = "备注最大长度要小于 900")
    private String remark;
}