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_exchange_info
 * 
 * @author jlb
 * @date 2023-04-12
 */
@Data
@TableName("card_exchange_info")
public class CardExchangeInfo extends SuperDO {
    private static final long serialVersionUID = 1L;

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

    /** 发起人id */
    @Excel(name = "发起人id")
    @TableField("send_id")
    private Long sendId;

    /** 接收人id */
    @Excel(name = "接收人id")
    @TableField("receive_id")
    private Long receiveId;

    /** 发起人名片id */
    @Excel(name = "发起人名片id")
    @TableField("send_card_id")
    private Long sendCardId;

    /** 接收人名片id */
    @Excel(name = "接收人名片id")
    @TableField("receive_card_id")
    private Long receiveCardId;

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

    /** 状态(1已接受3已拒绝5已过期) */
    @Excel(name = "状态(1已接受3已拒绝5已过期7已拉黑)")
    @TableField("status")
    private String 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;
    /**
     * 修改标识 1拉黑2拒绝3接受4移除
     */
    @TableField(exist = false)
    private String updateFlag;
    @TableField(exist = false)
    private CardManagementInfo cardManagementInfo;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sendId", getSendId())
            .append("receiveId", getReceiveId())
            .append("sendCarId", getSendCardId())
            .append("receiveCarId", getReceiveCardId())
            .append("circleName", getCircleName())
            .append("status", getStatus())
            .append("gmtCreate", getGmtCreate())
            .append("gmtUpdate", getGmtUpdate())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
