package com.example.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.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; import java.util.Date; /** * 聊天消息实体类 */ @Data @TableName("chat_message") @JsonIgnoreProperties(ignoreUnknown = true) // 忽略未知属性 public class ChatMessage { /** * 消息ID */ @TableId(type = IdType.AUTO) private Integer id; /** * 发送者ID */ private Integer senderId; /** * 接收者ID */ private Integer receiverId; /** * 发送者类型(doctor/patient) */ private String senderType; /** * 接收者类型(doctor/patient) */ private String receiverType; /** * 消息内容 */ private String content; /** * 发送时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date sendTime; /** * 是否已读(0-未读,1-已读) */ private Boolean isRead; /** * 阅读时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date readTime; /** * 发送者名称(非数据库字段) */ @TableField(exist = false) private String senderName; /** * 接收者名称(非数据库字段) */ @TableField(exist = false) private String receiverName; /** * 发送者头像(非数据库字段) */ @TableField(exist = false) private String senderAvatar; /** * 临时消息ID(用于前端标识临时消息,非数据库字段) */ @TableField(exist = false) private String tempId; }