package com.emotion.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.emotion.common.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import java.time.LocalDateTime; import java.util.List; import java.util.Map; /** * Social content voluntarily imported by a user. */ @Data @EqualsAndHashCode(callSuper = true) @SuperBuilder @NoArgsConstructor @AllArgsConstructor @TableName(value = "t_social_content_item", autoResultMap = true) public class SocialContentItem extends BaseEntity { @TableField("user_id") private String userId; @TableField("platform") private String platform; @TableField("source_type") private String sourceType; @TableField("source_url") private String sourceUrl; @TableField("title") private String title; @TableField("content") private String content; @TableField(value = "image_urls", typeHandler = JacksonTypeHandler.class) private List imageUrls; @TableField("published_at") private LocalDateTime publishedAt; @TableField("import_status") private String importStatus; @TableField("approved_for_ai") private Integer approvedForAi; @TableField("content_hash") private String contentHash; @TableField(value = "raw_metadata", typeHandler = JacksonTypeHandler.class) private Map rawMetadata; @TableField("deleted_at") private LocalDateTime deletedAt; }