package com.rj.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 音频文本-家具意向分析结果表实体
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("audio_text_analysis_furniture")
@Schema(description = "音频文本-家具意向分析结果")
public class AudioTextAnalysisFurniture implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "记录唯一标识，存放UUID字符")
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    @Schema(description = "租户ID")
    @TableField("tenant_id")
    private String tenantId;

    @Schema(description = "音频管理ID/父级ID")
    @TableField("parent_id")
    private String parentId;

    @Schema(description = "客户类型（个人、企业等）")
    @TableField("customer_type")
    private String customerType;

    @Schema(description = "家庭结构")
    @TableField("family_structure")
    private String familyStructure;

    @Schema(description = "意向产品清单")
    @TableField("intention_products")
    private String intentionProducts;

    @Schema(description = "装修风格")
    @TableField("decoration_style")
    private String decorationStyle;

    @Schema(description = "一句话总结")
    @TableField("summary_sentence")
    private String summarySentence;

    @Schema(description = "沙发需求描述")
    @TableField("sofa")
    private String sofa;

    @Schema(description = "茶桌需求描述")
    @TableField("tea_table")
    private String teaTable;

    @Schema(description = "餐桌椅需求描述")
    @TableField("dining_table")
    private String diningTable;

    @Schema(description = "学习桌需求描述")
    @TableField("study_desk")
    private String studyDesk;

    @Schema(description = "电视柜需求描述")
    @TableField("tv_cabinet")
    private String tvCabinet;

    @Schema(description = "橱柜需求描述")
    @TableField("cabinet")
    private String cabinet;

    @Schema(description = "酒柜需求描述")
    @TableField("wine_cabinet")
    private String wineCabinet;

    @Schema(description = "主卧柜体需求描述")
    @TableField("master_bedroom_cabinet")
    private String masterBedroomCabinet;

    @Schema(description = "次卧柜体需求描述")
    @TableField("secondary_bedroom_cabinet")
    private String secondaryBedroomCabinet;

    @Schema(description = "鞋柜需求描述")
    @TableField("shoe_cabinet")
    private String shoeCabinet;

    @Schema(description = "床和床垫需求描述")
    @TableField("bed_and_mattress")
    private String bedAndMattress;

    @Schema(description = "所属人电话")
    @TableField("owner_phone")
    private String ownerPhone;

    @Schema(description = "所属人ID")
    @TableField("owner_id")
    private String ownerId;

    @Schema(description = "客户电话")
    @TableField("customer_phone")
    private String customerPhone;

    @Schema(description = "客户ID")
    @TableField("customer_id")
    private String customerId;

    @Schema(description = "总结1")
    @TableField("summary1")
    private String summary1;

    @Schema(description = "总结2")
    @TableField("summary2")
    private String summary2;

    @Schema(description = "总结3")
    @TableField("summary3")
    private String summary3;

    @Schema(description = "录音文本")
    @TableField(exist = false)
    private String recordingText;

    @Schema(description = "创建时间")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    @TableField("updated_at")
    private LocalDateTime updatedAt;
}

