package com.ltgk.port.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ltgk.common.annotation.Excel;
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.sql.Time;
import java.util.Date;

/**
 * 港区服务管理-油/冰/水/餐饮店铺对象 ds_port_service_store
 *
 * @author Qi ChengBin
 * @date 2025-01-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ds_port_service_store")
@ApiModel(value = "港区服务管理-油/冰/水/餐饮店铺对象", description = "港区服务管理-油/冰/水/餐饮店铺表")
public class DsPortServiceStore extends Model<DsPortServiceStore> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "港区服务管理-油/冰/水/餐饮店铺主键")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "渔港id")
    @TableField(value = "port_id")
    private String portId;

    @ApiModelProperty(value = "渔港名称")
    @TableField(value = "port_name", condition = SqlCondition.LIKE)
    @Excel(name = "渔港名称", width = 25, height = 18)
    private String portName;

    @ApiModelProperty(value = "店铺名称")
    @TableField(value = "store_name", condition = SqlCondition.LIKE)
    @Excel(name = "店铺名称", width = 25, height = 18)
    private String storeName;

    @ApiModelProperty(value = "店铺描述【有什么冰  什么水  什么油，就像柴油、汽油等】")
    @TableField(value = "store_desc", condition = SqlCondition.LIKE)
    @Excel(name = "店铺描述", width = 25, height = 18)
    private String storeDesc;

    @ApiModelProperty(value = "店铺类型【0-冰/1-水/2-油】")
    @TableField(value = "store_type")
    @Excel(name = "店铺类型", width = 25, height = 18, readConverterExp = "0=冰,1=水,2=油")
    private Integer storeType;

    @ApiModelProperty(value = "经度")
    @TableField(value = "longitude")
    @Excel(name = "经度", width = 25, height = 18)
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    @TableField(value = "latitude")
    @Excel(name = "纬度", width = 25, height = 18)
    private BigDecimal latitude;

    @ApiModelProperty(value = "详细地址信息")
    @TableField(value = "store_addr", condition = SqlCondition.LIKE)
    @Excel(name = "详细地址信息", width = 25, height = 18)
    private String storeAddr;

    @ApiModelProperty(value = "状态【0-正常，1-歇业】")
    @TableField(value = "store_state")
    @Excel(name = "状态", width = 25, height = 18, readConverterExp = "0=正常,1=歇业")
    private Integer storeState;

    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "营业开始时间")
    @TableField(value = "business_start_time")
    @Excel(name = "营业开始时间", width = 25, height = 18)
    private Time businessStartTime;

    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "营业结束时间")
    @TableField(value = "business_end_time")
    @Excel(name = "营业结束时间", width = 25, height = 18)
    private Time businessEndTime;

    @ApiModelProperty(value = "店主名称")
    @TableField(value = "owner_name", condition = SqlCondition.LIKE)
    @Excel(name = "店主名称", width = 25, height = 18)
    private String ownerName;

    @ApiModelProperty(value = "联系方式")
    @TableField(value = "owner_tel", condition = SqlCondition.LIKE)
    @Excel(name = "联系方式", width = 25, height = 18)
    private String ownerTel;

    @ApiModelProperty(value = "预留字段1")
    @TableField(value = "obligate_file_1")
    private String obligateFile1;

    @ApiModelProperty(value = "预留字段2")
    @TableField(value = "obligate_file_2")
    private String obligateFile2;

    @ApiModelProperty(value = "预留字段3")
    @TableField(value = "obligate_file_3")
    private String obligateFile3;

    @ApiModelProperty(value = "预留字段4")
    @TableField(value = "obligate_file_4")
    private String obligateFile4;

    @ApiModelProperty(value = "预留字段5")
    @TableField(value = "obligate_file_5")
    private String obligateFile5;

    @ApiModelProperty(value = "预留字段6")
    @TableField(value = "obligate_file_6")
    private String obligateFile6;

    @ApiModelProperty(value = "预留字段7")
    @TableField(value = "obligate_file_7")
    private String obligateFile7;

    @ApiModelProperty(value = "预留字段8")
    @TableField(value = "obligate_file_8")
    private String obligateFile8;

    @ApiModelProperty(value = "预留字段9")
    @TableField(value = "obligate_file_9")
    private String obligateFile9;

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

    @ApiModelProperty(value = "行政区域编码")
    @TableField(value = "area_code")
    private String areaCode;

    @ApiModelProperty(value = "行政区域名称")
    @TableField(value = "area_name")
    private String areaName;

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

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

    @ApiModelProperty(value = "更新人")
    @TableField(value = "update_by")
    private String updateBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_at")
    private Date updateAt;

    @ApiModelProperty(value = "备注")
    @TableField(value = "remark")
    private String remark;
}
