package com.ltgk.port.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ltgk.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @Author: wan kun
 * @Description: TODO
 * @Date: 2025/2/11 16:39
 * @Version: 1.0
 */
@Data
public class WarnAreaInfoVo {

    @ApiModelProperty(value = "行政区域编码")
    @Excel(name = "行政区域编码", width = 25, height = 18,
            readConverterExp = "331002=椒江区,331003=黄岩区,331004=路桥区,331081=温岭市,331082=临海市,331083=玉环市",
            combo = "椒江区,黄岩区,路桥区,温岭市,临海市,玉环市",
            type = Excel.Type.IMPORT)
    private String areaCode;

    @ApiModelProperty(value = "警戒区名称")
    @Excel(name = "警戒区名", width = 25, height = 18)
    private String warnAreaName;

    @ApiModelProperty(value = "创建者")
    @Excel(name = "创建人", width = 25, height = 18, type = Excel.Type.EXPORT)
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", width = 25, height = 18, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT)
    private Date createAt;

    @ApiModelProperty(value = "区域类型；0-多边形，1-线，2-圆形")
    @Excel(name = "区域类型", width = 25, height = 18, type = Excel.Type.IMPORT, readConverterExp = "0=多边形,1=线,2=圆形", combo = "多边形,线,圆形")
    private Integer type;

    // 范围坐标
    @ApiModelProperty(value = "警戒区范围，经纬度组合，例：124,39.55;123.3333333,38.93333333;")
    @Excel(name = "警戒区范围，经纬度组合，例：124,39.55;123.3333333,38.93333333;", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String points;

    @ApiModelProperty(value = "报警类型")
    @Excel(name = "警戒类型", width = 25, height = 18, readConverterExp = "0=违规锚泊,1=不准进入,2=不准停留,3=违规停留预警", combo = "违规锚泊,不准进入,不准停留,违规停留预警", type = Excel.Type.IMPORT)
    private Integer warnAreaTypeId;

    @ApiModelProperty(value = "报警类型名称")
    @Excel(name = "警戒类型", width = 25, height = 18, type = Excel.Type.EXPORT)
    private String warnAreaTypeName;

    @ApiModelProperty(value = "用户范围：0个人 , 1所有用户")
    @Excel(name = "用户范围", width = 25, height = 18, readConverterExp = "0=个人,1=所有用户", combo = "个人,所有用户")
    private Integer userRange;


    @ApiModelProperty(value = "是否发送预警短信；0-否，1-是")
    @Excel(name = "发送预警短信", width = 25, height = 18, readConverterExp = "0=否,1=是", combo = "否,是")
    private Integer beSendAlertMessage;

    @ApiModelProperty(value = "预警信息")
    @Excel(name = "预警短信", width = 25, height = 18)
    private String alertMessage;

    @ApiModelProperty(value = "是否发送警告短信；0-否，1-是")
    @Excel(name = "发送警告短信", width = 25, height = 18, readConverterExp = "0=否,1=是", combo = "否,是")
    private Integer beSendWarnMessage;

    @ApiModelProperty(value = "警告信息")
    @Excel(name = "警告短信", width = 25, height = 18)
    private String warnMessage;


    @ApiModelProperty(value = "坐标数")
    @Excel(name = "坐标数", width = 25, height = 18, type = Excel.Type.EXPORT)
    private Integer coordinateNum;

    @ApiModelProperty(value = "是否特定时间生效，0否 1 是，如果是则需要输入生效开始时间和结束时间，否则为永久生效")
    @Excel(name = "特定时间生效", width = 25, height = 18, readConverterExp = "1=是,0=否", combo = "是,否")
    private Integer isBindTime;

    @ApiModelProperty(value = "生效时间")
    @Excel(name = "生效时间", width = 25, height = 18, prompt = "开始时间,结束时间  如果有两个时间范围请用英文分号分割 e.g. 2025-01-01,2025-02-28;2025-08-01,2025-12-31")
    private String effectiveDate;

    @ApiModelProperty(value = "状态：1正常，0停用")
    @Excel(name = "是否生效", width = 25, height = 18, readConverterExp = "1=是,0=否", type = Excel.Type.EXPORT)
    private Integer status;

    @ApiModelProperty(value = "停留时长,单位分钟")
    @TableField(value = "stay_time")
    private Integer stayTime;

    @ApiModelProperty(value = "类型  1：养殖区 2:事故多发海域")
    @TableField(value = "area_type")
    @Excel(name = "区划类型", width = 25, height = 18,
            readConverterExp = "0=警戒区,1=养殖区,2=事故多发海域,3=管控区域,4=捕捞区,5=中日协定水域,6=中韩协定水域,9=3海里海域缓冲区,11=禁渔区,12=机轮拖网休渔区,13=机轮拖网六百马力渔轮限制线的位置,14=机轮拖网保护区",
            combo = "警戒区,养殖区,事故多发海域,管控区域,捕捞区,中日协定水域,中韩协定水域,3海里海域缓冲区,禁渔区,机轮拖网休渔区,机轮拖网六百马力渔轮限制线的位置,机轮拖网保护区")
    private Integer areaType;

    @ApiModelProperty(value = "填充色")
    @Excel(name = "填充色; #FF0000", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String fillColor;

    @ApiModelProperty(value = "透明度")
    @Excel(name = "透明度, 0.5", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String diaphaneity;

    @ApiModelProperty(value = "线条颜色")
    @Excel(name = "线条颜色; #FF0000", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String lineColor;

    @ApiModelProperty(value = "线框线宽")
    @Excel(name = "线框线宽;1 ", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String lineWidth;

    @ApiModelProperty(value = "备注")
    @Excel(name = "备注", width = 25, height = 18, type = Excel.Type.IMPORT)
    private String remark;
}
