package com.ltgk.boat.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 渔船最新动态对象 ds_dynamic_new
 *
 * @author Qi ChengBin
 * @date 2024-12-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ds_dynamic_new")
@ApiModel(value = "渔船最新动态对象", description = "渔船最新动态表")
public class DsDynamicNew extends Model<DsDynamicNew> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "uuid", type = IdType.ASSIGN_UUID)
    private String uuid;

    @ApiModelProperty(value = "报文类型")
    @TableField(value = "msg_type")
    private String msgType;

    @ApiModelProperty(value = "设备终端号")
    @TableField(value = "mmsi")
    private String mmsi;

    @ApiModelProperty(value = "船舶号")
    @TableField(value = "boat_name")
    private String boatName;

    @ApiModelProperty(value = "经度")
    @TableField(value = "longitude")
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    @TableField(value = "latitude")
    private BigDecimal latitude;

    @ApiModelProperty(value = "航速")
    @TableField(value = "sog")
    private String sog;

    @ApiModelProperty(value = "对地航向")
    @TableField(value = "cog")
    private String cog;

    @ApiModelProperty(value = "报文内容")
    @TableField(value = "msg_content")
    private String msgContent;

    @ApiModelProperty(value = "通信服务商代码")
    @TableField(value = "service_code")
    private String serviceCode;

    @ApiModelProperty(value = "服务商类型")
    @TableField(value = "service_type")
    private String serviceType;

    @ApiModelProperty(value = "ais目标头")
    @TableField(value = "target_length")
    private String targetLength;

    @ApiModelProperty(value = "目标id")
    @TableField(value = "target_id")
    private String targetId;

    @ApiModelProperty(value = "渔船标识")
    @TableField(value = "boat_sign")
    private String boatSign;

    @ApiModelProperty(value = "gps编号")
    @TableField(value = "gps_code")
    private String gpsCode;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "gps定位时间")
    @TableField(value = "gps_time")
    private Date gpsTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "入库时间")
    @TableField(value = "pushin_time")
    private Date pushinTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "编辑时间")
    @TableField(value = "update_time")
    private Date updateTime;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "create_by")
    private String createBy;

    @ApiModelProperty(value = "编辑人")
    @TableField(value = "update_by")
    private String updateBy;

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

}
