package com.bohuikeji.delivery.backstage.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bohuikeji.frame.module.admin.annotation.TableNewField;
import com.bohuikeji.frame.module.admin.annotation.TableQueryField;
import com.bohuikeji.frame.module.admin.annotation.TableShowField;
import com.bohuikeji.frame.module.admin.base.EntityBase;
import com.bohuikeji.frame.module.admin.entity.vo.AddressVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 派送员位置记录表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TLogistics对象", description="物流包裹信息表")
@TableName("t_courier_location")
public class TLocation extends EntityBase<TLocation> {


    @ApiModelProperty(value = "位置记录id")
    @TableId(value = "location_id", type = IdType.AUTO)
    @TableShowField(value = "ID",id = true,show = false)
    @TableNewField(show = false)
    private Integer locationId;

    @ApiModelProperty(value = "派送员ID")
    @TableField("courier_id")
    @TableShowField("派送员ID")
    @TableQueryField(show = false)
    @TableNewField(edit = false)
    private Integer courierId;

    @ApiModelProperty(value = "经纬度")
    @TableField("location_xy")
    @TableShowField("经纬度")
    @TableQueryField(show = false)
    @TableNewField(edit = false)
    private String locationXY;

    @ApiModelProperty(value = "结构化地址")
    @TableField("location_address")
    @TableShowField("结构化地址")
    @TableQueryField(show = false)
    @TableNewField(edit = false)
    private AddressVo locationAddress;

    @ApiModelProperty(value = "上报类型")
    @TableField("location_type")
    @TableShowField("上报类型")
    @TableQueryField(show = false)
    @TableNewField(edit = false)
    private String locationType;


    @ApiModelProperty(value = "上报时间")
    @TableField("create_time")
    @TableShowField("上报时间")
    @TableQueryField(show = false)
    @TableNewField(edit = false)
    private LocalDateTime createTime;
}
