package com.xuqm.im.entity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Index; import jakarta.persistence.Table; import jakarta.persistence.UniqueConstraint; import java.time.LocalDateTime; @Entity @Table( name = "im_friend_request", uniqueConstraints = @UniqueConstraint(columnNames = {"appId", "fromUserId", "toUserId"}), indexes = @Index(name = "idx_friend_request_app_to", columnList = "appId,toUserId") ) public class ImFriendRequestEntity extends BaseIdEntity { public enum Status { PENDING, ACCEPTED, REJECTED } @Column(nullable = false, length = 64) private String appId; @Column(nullable = false, length = 128) private String fromUserId; @Column(nullable = false, length = 128) private String toUserId; @Column(length = 256) private String remark; @Column(nullable = false, length = 16) private String status; @Column(nullable = false) private LocalDateTime createdAt; private LocalDateTime reviewedAt; public String getAppId() { return appId; } public void setAppId(String appId) { this.appId = appId; } public String getFromUserId() { return fromUserId; } public void setFromUserId(String fromUserId) { this.fromUserId = fromUserId; } public String getToUserId() { return toUserId; } public void setToUserId(String toUserId) { this.toUserId = toUserId; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public LocalDateTime getCreatedAt() { return createdAt; } public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } public LocalDateTime getReviewedAt() { return reviewedAt; } public void setReviewedAt(LocalDateTime reviewedAt) { this.reviewedAt = reviewedAt; } }