package com.codvision.basic.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author codvision
 */
@Data
@ApiModel
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("tbl_social_org")
public class SocialOrg implements Serializable {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty("登记机关(字典：SOCIAL_REGISTRATION_AUTHORITY)")
    private String registrationAuthority;

    @ApiModelProperty("发证日期")
    private String issuanceDate;

    @ApiModelProperty("是否有境外背景")
    private String flagOverseasBackground;

    @ApiModelProperty("有效期限(yyyy-MM-dd至yyyy-MM-dd)")
    private String validPeriod;

    @ApiModelProperty("城市")
    private String city;

    @ApiModelProperty("行政处罚种类(字典：SOCIAL_ADMINISTRATIVE_PENALTY_TYPE)")
    private String administrativePenaltyType;

    @ApiModelProperty("区县")
    private String county;

    @ApiModelProperty("是否列入严重违法失信名单")
    private String flagIllegalityDishonesty;

    @ApiModelProperty("法定代表人联系方式")
    private String legalPersonPhone;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("列入活动异常名录日期")
    private String activityAbnormalDate;

    @ApiModelProperty("网格编码")
    private String gridCode;

    @ApiModelProperty("社会组织标签(其他信息)")
    private String socialOrgTags;

    @ApiModelProperty("是否为已取缔非法社会组织")
    private String flagBanningNoSocial;

    @ApiModelProperty("法定代表人证件类型(字典：ID_TYPE)")
    private String legalPersonIdType;

    @ApiModelProperty("是否列入活动异常名录")
    private String flagActivityAbnormal;

    @ApiModelProperty("列入活动异常名录事由(字典：ACTIVITY_ABNORMAL_REASON)")
    private String activityAbnormalReason;

    @ApiModelProperty("统一社会信用代码")
    private String creditCode;

    @ApiModelProperty("住所")
    private String residence;

    @ApiModelProperty("纬度")
    private String lat;

    @ApiModelProperty("行政处罚机关(字典：SOCIAL_ADMINISTRATIVE_PENALTY_AUTHORITY)")
    private String administrativePenaltyAuthority;

    @ApiModelProperty("统一地址代码")
    private String addressCode;

    @TableLogic
    @ApiModelProperty("删除标记,1:已删除,0:正常")
    private Integer delFlag;

    @ApiModelProperty("列入严重违法失信名单日期")
    private String illegalityDishonestyDate;

    @ApiModelProperty("统一地址")
    private String sourceAddress;

    @ApiModelProperty("镇街")
    private String town;

    @ApiModelProperty("经度")
    private String lng;

    @ApiModelProperty("是否收到行政处罚决定")
    private String flagAdministrativePenalty;

    @ApiModelProperty("社区")
    private String community;

    @ApiModelProperty("注册资金、开办资金(万元)")
    private String registeredCapital;

    @ApiModelProperty("列入严重违法失信名单事由(字典：ILLEGALITY_DISHONESTY_REASON)")
    private String illegalityDishonestyReason;

    @ApiModelProperty("社会组织类型(字典：SOCIAL_ORG_TYPE)")
    private String socialOrgType;

    @ApiModelProperty("业务范围")
    private String businessScope;

    @ApiModelProperty("法定代表人证件号码")
    private String legalPersonIdCard;

    @ApiModelProperty("业务主管单位(字典：SUPERVISORY_UNIT)")
    private String supervisoryUnit;

    @ApiModelProperty("是否进行年检")
    private String flagInspectAnnually;

    @ApiModelProperty("行政处罚日期")
    private String administrativePenaltyDate;

    @ApiModelProperty("网格")
    private String grid;

    @ApiModelProperty("法定代表人")
    private String legalPersonName;

    @ApiModelProperty("资金来源(字典：CAPITAL_SOURCE)")
    private String capitalSource;

    @ApiModelProperty("社会组织名称")
    private String name;

    @ApiModelProperty("注册资本币种")
    private String registeredCurrency;

    @ApiModelProperty("状态(字典：SOCIAL_ORG_STATUS)")
    private String status;

    @ApiModelProperty("取缔日期")
    private String banningDate;

    @ApiModelProperty("组织id")
    private Integer oid;

    @ApiModelProperty("是否为涉嫌非法社会组织")
    private String flagIllegalSocietyOrg;

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

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

}