package com.iotechn.unimall.data.domain;

import com.iotechn.unimall.data.domain.SuperDO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel.ColumnType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.iotechn.unimall.core.util.StringUtils;
import java.util.Date;
import java.util.List;

/**
 * 圈子管理对象 circle_management_info
 * 
 * @author jlb
 * @date 2023-04-10
 */
@Data
@TableName("circle_management_info")
public class CircleManagementInfo extends SuperDO {
    private static final long serialVersionUID = 1L;

    /**  */
    @TableId("id")
    private Long id;

    /** 个人id */
    @Excel(name = "个人id")
    @TableField("common_id")
    private Long commonId;

    /** 圈子名称 */
    @Excel(name = "圈子名称")
    @TableField("circle_name")
    private String circleName;

    /** 圈子标签 */
    @Excel(name = "圈子标签")
    @TableField("circle_label")
    private String circleLabel;

    /** 圈子头像 */
    @Excel(name = "圈子头像")
    @TableField("circle_head")
    private String circleHead;

    /** 0未审核 1已通过 */
    @Excel(name = "0未审核 1已通过")
    @TableField("status")
    private Long status;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_create")
    private Date gmtCreate;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_update")
    private Date gmtUpdate;

    /** 删除标识 */
    @Excel(name = "删除标识")
    @TableField("delete_flag")
    private Long deleteFlag;

    @TableField(exist = false)
    private List<CardManagementInfo> cardManagementInfoList;
    /** 我的圈子标识 */
    @TableField(exist = false)
    private Long addedFlag;
    /** 圈子内人数 */
    @TableField(exist = false)
    private Integer cardNum;
    @TableField(exist = false)
    private CircleCardInfo circleCardInfo;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("commonId", getCommonId())
            .append("circleName", getCircleName())
            .append("circleLabel", getCircleLabel())
            .append("status", getStatus())
            .append("gmtCreate", getGmtCreate())
            .append("gmtUpdate", getGmtUpdate())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
