package com.aegis.resource.team.domain;

import com.aegis.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 应急队伍实体类 resource_team
 * 
 * @author aegis
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("resource_team")
public class Team extends BaseEntity {
    
    private static final long serialVersionUID = 1L;

    /** 队伍ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 队伍名称 */
    @NotBlank(message = "队伍名称不能为空")
    @Size(max = 100, message = "队伍名称长度不能超过100个字符")
    private String teamName;

    /** 队伍类型 */
    @Size(max = 32, message = "队伍类型长度不能超过32个字符")
    private String teamType;

    /** 所属单位名称 */
    @Size(max = 128, message = "所属单位名称长度不能超过128个字符")
    private String belongOrgName;

    /** 所属单位类型 */
    @Size(max = 32, message = "所属单位类型长度不能超过32个字符")
    private String belongOrgType;

    /** 是否外部单位：Y-外部联动单位，N-本系统内部单位 */
    @Size(max = 1, message = "外部单位标志长度不能超过1个字符")
    private String externalFlag;

    /** 状态：available-可用，busy-占用，offline-停用 */
    @Size(max = 16, message = "状态长度不能超过16个字符")
    private String status;

    /** 能力标签（JSON数组） */
    @Size(max = 500, message = "能力标签长度不能超过500个字符")
    private String capabilities;

    /** 联系人 */
    @Size(max = 64, message = "联系人长度不能超过64个字符")
    private String contactPerson;

    /** 联系电话 */
    @Size(max = 20, message = "联系电话长度不能超过20个字符")
    private String contactPhone;

    /** 联系地址 */
    @Size(max = 255, message = "联系地址长度不能超过255个字符")
    private String contactAddress;

    /** 驻扎点名称 */
    @Size(max = 128, message = "驻扎点名称长度不能超过128个字符")
    private String locationName;

    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 删除标志（0代表存在 2代表删除） */
    @Size(max = 1, message = "删除标志长度不能超过1个字符")
    private String delFlag;
}