package com.tashow.cloud.ai.dal.dataobject.dialog;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * ai-对话消息 DO
 *
 * @author 芋道源码
 */
@TableName("tz_ai_dialog_message")
@KeySequence("tz_ai_dialog_message_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AiDialogMessageDO  {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 对话id
     */
    private Long dialogId;
    /**
     * 内容
     */
    private String contentText;
    /**
     * 文件名
     */
    private String fileName;
    /**
     * 文件类型
     */
    private String fileType;
    /**
     * 文件时长
     */
    private Long contentDuration;

    /**
     * 文本类型（1text，2image，3file，4audio）
     */
    private Integer contentType;
    /**
     * 对话中的顺序
     */
    private Integer messageOrder;
    /**
     * 消息状态 1正常 0删除
     */
    private Integer messageStatus;
    /**
     * 宠物id
     */
    private Long petId;
    /**
     * 宠物名称
     */
    private String petName;
    /**
     * 宠物头像
     */
    private String petAvatar;
    /**
     * 宠物类型
     */
    private String petType;
    /**
     * 原始结果
     */
    private String sourceResult;
    /**
     * 翻译结果
     */
    private String transResult;
    /**
     * 翻译结果
     */
    private Integer transStatus;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    private Integer emotion;
    private String terminal;

}