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;

/**
 * 名片管理对象 card_management_info
 * 
 * @author jlb
 * @date 2023-04-10
 */
@Data
@TableName("card_management_info")
public class CardManagementInfo 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("card_business")
    private String cardBusiness;

    /** 姓名 */
    @Excel(name = "姓名")
    @TableField("name")
    private String name;

    /** 职务 */
    @Excel(name = "职务")
    @TableField("post")
    private String post;

    /** 公司名 */
    @Excel(name = "公司名")
    @TableField("company_name")
    private String companyName;

    /** 定位 */
    @Excel(name = "定位")
    @TableField("location")
    private String location;
    /** 省 */
    @Excel(name = "省")
    @TableField("province")
    private String province;
    /** 市 */
    @Excel(name = "市")
    @TableField("city")
    private String city;
    /** 区 */
    @Excel(name = "区")
    @TableField("area")
    private String area;

    /** 详细地址 */
    @Excel(name = "详细地址")
    @TableField("detailed_address")
    private String detailedAddress;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @TableField("phone")
    private String phone;

    /** 头像 */
    @Excel(name = "头像")
    @TableField("head_sculpture")
    private String headSculpture;

    /** 他人分享二维码 */
    @Excel(name = "他人分享二维码")
    @TableField("qr_code")
    private String qrCode;

    /** 个人展示二维码 */
    @Excel(name = "个人展示二维码")
    @TableField("qr_code_myself")
    private String qrCodeMyself;

    /** 置顶标识 */
    @Excel(name = "置顶标识")
    @TableField("top_marking")
    private Long topMarking;

    /**  */
    @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;
    /**
     * 删除条件 1所有拥有此名片用户列表删除
     */
    @TableField(exist = false)
    private String deleteCondition;
    /**
     * 主页id
     */
    @TableField(exist = false)
    private Long personalHomeId;
    /** 允许圈子成员查看主页(1允许) */
    @TableField(exist = false)
    private Long lookPage;
    /** 交换按钮不显示标识(1不显示) */
    @TableField(exist = false)
    private Long notDisplay;
    /** 业务范围 */
    @TableField(exist = false)
    private String scopeOfBusiness;
    /** 状态 */
    @TableField(exist = false)
    private String status;
    /** 接收人id */
    @TableField(exist = false)
    private Long receiveId;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("commonId", getCommonId())
            .append("cardBusiness", getCardBusiness())
            .append("name", getName())
            .append("post", getPost())
            .append("companyName", getCompanyName())
            .append("location", getLocation())
            .append("detailedAddress", getDetailedAddress())
            .append("phone", getPhone())
            .append("headSculpture", getHeadSculpture())
            .append("qrCode", getQrCode())
            .append("gmtCreate", getGmtCreate())
            .append("gmtUpdate", getGmtUpdate())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
