package ink.wgink.module.map.pojo.vos.grid;

import ink.wgink.annotation.CheckBeanAnnotation;
import ink.wgink.annotation.CheckEmptyAnnotation;
import ink.wgink.annotation.CheckNullAnnotation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName: BaiduGridVO
 * @Description: 百度地图网格
 * @Author: WangGeng
 * @Date: 2020/10/21 11:02
 * @Version: 1.0
 **/
@ApiModel
public class GridVO {

    @ApiModelProperty(name = "id", value = "网格ID")
    private String id;
    @ApiModelProperty(name = "gridName", value = "网格名称")
    @CheckEmptyAnnotation(name = "网格名称")
    private String gridName;
    @ApiModelProperty(name = "gridSummary", value = "网格描述")
    private String gridSummary;
    @ApiModelProperty(name = "gridGroupId", value = "网格组ID")
    private String gridGroupId;
    @ApiModelProperty(name = "gridDuty", value = "网格职责")
    private String gridDuty;
    @ApiModelProperty(name = "areaCode", value = "区域编码")
    private String areaCode;
    @ApiModelProperty(name = "areaName", value = "区域名称")
    private String areaName;
    @ApiModelProperty(name = "grids", value = "网格列表")
    @CheckNullAnnotation(name = "网格")
    @CheckBeanAnnotation
    private Grid grid;

    public String getId() {
        return id == null ? "" : id.trim();
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getGridName() {
        return gridName == null ? "" : gridName.trim();
    }

    public void setGridName(String gridName) {
        this.gridName = gridName;
    }

    public String getGridSummary() {
        return gridSummary == null ? "" : gridSummary.trim();
    }

    public void setGridSummary(String gridSummary) {
        this.gridSummary = gridSummary;
    }

    public String getGridGroupId() {
        return gridGroupId == null ? "" : gridGroupId.trim();
    }

    public void setGridGroupId(String gridGroupId) {
        this.gridGroupId = gridGroupId;
    }

    public String getGridDuty() {
        return gridDuty == null ? "" : gridDuty.trim();
    }

    public void setGridDuty(String gridDuty) {
        this.gridDuty = gridDuty;
    }

    public String getAreaCode() {
        return areaCode == null ? "" : areaCode.trim();
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getAreaName() {
        return areaName == null ? "" : areaName.trim();
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Grid getGrid() {
        return grid;
    }

    public void setGrid(Grid grid) {
        this.grid = grid;
    }

    public static class Grid {
        @ApiModelProperty(name = "fillColor", value = "填充颜色")
        private String fillColor;
        @ApiModelProperty(name = "relationIdArray", value = "关联ID列表")
        private List<String> relationIdArray;
        @ApiModelProperty(name = "pointArray", value = "网格点列表")
        @CheckEmptyAnnotation(name = "网格点列表")
        private List<GridPointVO> pointArray;

        public String getFillColor() {
            return fillColor == null ? "" : fillColor.trim();
        }

        public void setFillColor(String fillColor) {
            this.fillColor = fillColor;
        }

        public List<String> getRelationIdArray() {
            return relationIdArray == null ? new ArrayList<>() : relationIdArray;
        }

        public void setRelationIdArray(List<String> relationIdArray) {
            this.relationIdArray = relationIdArray;
        }

        public List<GridPointVO> getPointArray() {
            return pointArray == null ? new ArrayList<>() : pointArray;
        }

        public void setPointArray(List<GridPointVO> pointArray) {
            this.pointArray = pointArray;
        }
    }

}
