package com.codvision.auth.entity.ding.gov;

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.codvision.auth.entity.Org;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.ArrayList;
import java.util.List;

@Data
@ToString
@Builder
@TableName("tbl_gov_ding_org")
@ApiModel(description = "tbl_gov_ding_org--对表的描述")
@AllArgsConstructor
@NoArgsConstructor
public class GovDingOrg {

    @ApiModelProperty("父组织名称")
    private String parentName;

    @ApiModelProperty("创建时间")
    private String gmtCreate;

    @ApiModelProperty("组织类型名称")
    private String typeName;

    @ApiModelProperty("排序码")
    private Integer displayOrder;

    @ApiModelProperty("")
    private String gmtLoad;

    @ApiModelProperty("组织code的path")
    private String organizationCodePath;

    @ApiModelProperty("显示名称")
    private String organizationName;

    @ApiModelProperty("组织code")
    @TableId(type = IdType.INPUT)
    private String organizationCode;

    @ApiModelProperty("排序level")
    private Integer displayLevel;

    @ApiModelProperty("父组织Code")
    private String parentCode;

    @ApiModelProperty("行政区划code")
    private String divisionCode;

    @ApiModelProperty("组织状态")
    private String status;

    @ApiModelProperty("组织类型Code")
    private String typeCode;

    @ApiModelProperty("数据同步类型：专有钉钉，门户")
    private Integer syncType;


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

    @TableField(exist = false)
    private Org sysOrg;

    @TableField(exist = false)
    private List<GovDingOrg> children = new ArrayList<>();
}
