package cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo;

import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 工厂信息 DO
 *
 * @author 姚君
 */
@TableName("sf_factory_info")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FactoryInfoDO extends BaseDO {

    /**
     * 0:全国, 1: 省，2 市，3区
     */
    public static final Integer ADDRESS_TYPE_NATIONWIDE = 0;
    public static final Integer ADDRESS_TYPE_PROVINCE = 1;
    public static final Integer ADDRESS_TYPE_CITY = 2;
    public static final Integer ADDRESS_TYPE_DISTRICT_NAME = 3;


    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 工厂名字
     */
    private String name;
    /**
     * 工厂简称
     */
    private String shortName;
    /**
     * 工厂类型
     */
    private String type;
    /**
     * 工厂简介
     */
    private String description;
    /**
     * 省id
     * <p>
     * 枚举 {@link TODO infra_codegen_template_type 对应的类}
     */
    private Long provinceId;
    /**
     * 城市id
     * <p>
     * 枚举 {@link TODO infra_codegen_template_type 对应的类}
     */
    private Long cityId;
    /**
     * 区县id
     * <p>
     * 枚举 {@link TODO infra_codegen_template_type 对应的类}
     */
    @TableField(value = "district_id")
    private Long adCode;
    /**
     * 省名称
     */
    private String provinceName;
    /**
     * 城市名称
     */
    private String cityName;
    /**
     * 区县名称
     */
    private String districtName;
    /**
     * 工厂地址
     */
    private String address;
    /**
     * 经度
     */
    private BigDecimal lng;
    /**
     * 纬度
     */
    private BigDecimal lat;
    /**
     * 显示顺序
     */
    private Integer sort;
    /**
     * 状态
     * <p>
     * 枚举 {@link CommonStatusEnum 枚举类}
     */
    private Integer status;

}