

package com.lutao.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.lutao.annotate.Validation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 平台详情
 *
 * @author guoyc
 * @date 2023-07-20 10:56:48
 */
@Data
@TableName("platform_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "平台详情")
public class PlatformInfo extends Model<PlatformInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 平台id,自增主键
     */
    @TableId
    @ApiModelProperty(value="平台id,自增主键")
    private Integer id;

    /**
     * 原始id
     */
    @ApiModelProperty(value="原始id")
    @Validation(message = "platform_info表{id}不能为空")
    private String originId;

    /**
     * 应用id
     */
    @ApiModelProperty(value="应用id")
    private String appId;

    /**
     * 平台名称
     */
    @ApiModelProperty(value="平台名称")
    @Validation(message = "platform_info表{platform_name}不能为空")
    private String platformName;

    /**
     * 平台编码
     */
    @ApiModelProperty(value="平台编码")
    @Validation(message = "platform_info表{platform_code}不能为空")
    private String platformCode;


    @ApiModelProperty(value="平台类型1固定平台 2FPSO 3钻井平台 4人工岛")
    @Validation(message = "platform_info表{platform_type}不能为空")
    private Integer platformType;

    @ApiModelProperty(value = "油气田名称")
    @Validation(message = "platform_info表{oil_gas_name}不能为空")
    private String oilGasName;

    @ApiModelProperty(value = "作业公司名称")
    @Validation(message = "platform_info表{operating_company}不能为空")
    private String operatingCompany;

    /**
     * 平台经度
     */
    @ApiModelProperty(value="平台经度")
    @Validation(message = "platform_info表{platform_lat}不能为空")
    private Double platformLat;

    /**
     * 平台纬度
     */
    @ApiModelProperty(value="平台纬度")
    @Validation(message = "platform_info表{platform_lng}不能为空")
    private Double platformLng;

    @ApiModelProperty(value = "定员")
    @Validation(message = "platform_info表{personnel_quantity}不能为空")
    private Integer personnelQuantity;

    /**
     * 救生艇数量
     */
    @ApiModelProperty(value="救生艇数量")
    private Integer lifeboatQuantity;

    /**
     * 救生艇定员
     */
    @ApiModelProperty(value="救生艇定员")
    private Integer personnelLifeboatQuantity;

    /**
     * 救生筏数量
     */
    @ApiModelProperty(value="救生筏数量")
    private Integer liferaftQuantity;

    /**
     * 救生筏定员
     */
    @ApiModelProperty(value="救生筏定员")
    private Integer personnelLiferaftQuantity;

    /**
     * 生活楼定员
     */
    @ApiModelProperty(value="生活楼定员")
    private Integer personnelLqQuantity;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createDate;

    /**
     * 创建人姓名
     */
    @ApiModelProperty(value="创建人姓名")
    private String createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value="修改时间")
    private LocalDateTime updateDate;

    /**
     * 修改人
     */
    @ApiModelProperty(value="修改人")
    private String updateBy;

    @ApiModelProperty(value = "数据收集时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "数据更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
