update-service: - 修复华为 appId 解析 NPE(支持直接从响应体顶层读取 value 字段) - 修复 OPPO 更新描述不足5字符时自动补空格 - 修复 VIVO 签名中文字符需 URL 编码 - 修复 RestTemplate 无超时(30s连接/5min读取) - AppVersionEntity 添加 grayCallbackUrl 字段 tenant-service: - FeatureServiceController switch 添加 FILE 分支(修复编译错误) - FeatureServiceManager 添加 buildFileConfig 方法 - AppController 添加应用用户列表代理端点 - AppUserClient 新增 IM/Push 用户列表客户端 push-service: - 新增 PushUserEntity/PushUserRepository/PushAccountService - 新增 PushAuthController(内部鉴权接口) - PushManagementController 添加用户管理接口 - PushAppSecretClient 对接 tenant-service 鉴权 im-service: - ImAccountRepository/ImAccountService 添加用户搜索接口 - ImAdminController 添加管理端用户列表 - InternalPresenceController 完善在线状态接口 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
70 行
2.0 KiB
Java
70 行
2.0 KiB
Java
package com.xuqm.push.entity;
|
|
|
|
import jakarta.persistence.Column;
|
|
import jakarta.persistence.Entity;
|
|
import jakarta.persistence.EnumType;
|
|
import jakarta.persistence.Enumerated;
|
|
import jakarta.persistence.Id;
|
|
import jakarta.persistence.Table;
|
|
import jakarta.persistence.UniqueConstraint;
|
|
import java.time.LocalDateTime;
|
|
|
|
@Entity
|
|
@Table(name = "push_user",
|
|
uniqueConstraints = @UniqueConstraint(columnNames = {"appKey", "userId"}))
|
|
public class PushUserEntity {
|
|
|
|
public enum Gender { UNKNOWN, MALE, FEMALE }
|
|
public enum Status { ACTIVE, BANNED }
|
|
|
|
@Id
|
|
private String id;
|
|
|
|
@Column(nullable = false, length = 64)
|
|
private String appKey;
|
|
|
|
@Column(nullable = false, length = 128)
|
|
private String userId;
|
|
|
|
@Column(length = 64)
|
|
private String nickname;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(length = 16)
|
|
private Gender gender;
|
|
|
|
@Column(length = 512)
|
|
private String avatar;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(nullable = false, length = 16)
|
|
private Status status;
|
|
|
|
@Column(nullable = false)
|
|
private LocalDateTime createdAt;
|
|
|
|
public String getId() { return id; }
|
|
public void setId(String id) { this.id = id; }
|
|
|
|
public String getAppKey() { return appKey; }
|
|
public void setAppKey(String appKey) { this.appKey = appKey; }
|
|
|
|
public String getUserId() { return userId; }
|
|
public void setUserId(String userId) { this.userId = userId; }
|
|
|
|
public String getNickname() { return nickname; }
|
|
public void setNickname(String nickname) { this.nickname = nickname; }
|
|
|
|
public Gender getGender() { return gender; }
|
|
public void setGender(Gender gender) { this.gender = gender; }
|
|
|
|
public String getAvatar() { return avatar; }
|
|
public void setAvatar(String avatar) { this.avatar = avatar; }
|
|
|
|
public Status getStatus() { return status; }
|
|
public void setStatus(Status status) { this.status = status; }
|
|
|
|
public LocalDateTime getCreatedAt() { return createdAt; }
|
|
public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
|
|
}
|