package com.sonic.frog.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.sonic.frog.enums.BubbleUnlockTypeEnum;
import com.sonic.frog.enums.HeartbeatLevelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 聊天气泡字典
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("chat_bubble_dict")
@ApiModel("聊天气泡字典")
public class ChatBubbleDict {
    @ApiModelProperty("id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("code")
    @TableField("code")
    private String code;

    @ApiModelProperty("名称")
    @TableField("name")
    private String name;

    @ApiModelProperty("颜色")
    @TableField("color")
    private String color;

    @ApiModelProperty("图片url")
    @TableField("img_url")
    private String imgUrl;

    @ApiModelProperty("web端图片url")
    @TableField("web_img_url")
    private String webImgUrl;


    @ApiModelProperty("解锁类型 MEMBER:会员 HEARTBEAT_LEVEL:心动等级")
    @TableField("unlock_type")
    private BubbleUnlockTypeEnum unlockType;

    @ApiModelProperty("解锁心动等级   类型为HEARTBEAT_LEVEL时才有用")
    @TableField("unlock_heartbeat_level")
    private HeartbeatLevelEnum unlockHeartbeatLevel;

    @ApiModelProperty("排序")
    @TableField("sort")
    private Integer sort;

    @ApiModelProperty("是否默认聊天气泡 1：是 0：不是")
    @TableField("is_default")
    private Boolean isDefault;

    @ApiModelProperty("是否删除 0：未删除 1：删除")
    @TableField("is_delete")
    private Boolean isDelete;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    @TableField("edit_time")
    private LocalDateTime editTime;
}