package com.fuint.repository.model;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * 国家表实体
 *
 * @Created by pzg
 * CopyRight https://www.fuint.cn
 */
@Getter
@Setter
@TableName("mt_country")
@ApiModel(value = "country表对象", description = "country表对象")
public class MtCountry implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("区号")
    private String areaCode;

    @ApiModelProperty("国家代码")
    private String countryCode;

    @ApiModelProperty("国家/洲名称")
    private String countryName;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("创建用户id")
    private String createUserId;

    @ApiModelProperty("是否删除 0否 1是")
    @TableLogic
    private Integer deleteFlag;

    @ApiModelProperty("英文名称")
    private String englishName;

    @ApiModelProperty("文件/图片id")
    private String fileId;

    @ApiModelProperty("拼音首字母")
    private String firstCode;

    @ApiModelProperty("主键")
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("所属洲")
    private Long parentId;

    @ApiModelProperty("拼音")
    private String pinYin;

    @ApiModelProperty("项目标识")
    private String project;

    @ApiModelProperty("服务状态，默认0,-0未开通，-1开通")
    private Integer serveState;

    @ApiModelProperty("服务费比率")
    private BigDecimal serviceChargeValue;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("更新时间")
    private Date updateTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("修改用户id")
    private String updateUserId;

    //用于树形结构
    @TableField(exist = false)
    private List<MtCountry> children;

}
