feat(device): 按 device_id 记录客户端系统与机型
- 新增 app_device_profile 表与 upsert,匿名请求同样建档 - app-api 设备画像过滤器,同设备 60 秒节流写一次 - 收藏/点赞/观看列表优先用设备画像,缺失回退最近会话
This commit is contained in:
1 parent
d9a1670a72
commit
2cf8f9a1c3
13 files changed
+362
-9
No files matched your search
@@ -0,0 +1,29 @@
|
||||
-- Author: fruit.com.cn
|
||||
-- K111 设备画像:记录每个 device_id 的客户端系统与机型。
|
||||
-- 之前的系统信息只存在于 app_user_session / app_user_device,两者都依赖已登录账号,
|
||||
-- 游客行为完全拿不到系统;改成按 device_id 独立建档,匿名请求也能落库。
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS app_device_profile (
|
||||
id BIGINT NOT NULL,
|
||||
device_id VARCHAR(128) NOT NULL,
|
||||
platform VARCHAR(16) NOT NULL DEFAULT '',
|
||||
os_version VARCHAR(64) NOT NULL DEFAULT '',
|
||||
device_model VARCHAR(128) NOT NULL DEFAULT '',
|
||||
app_version VARCHAR(32) NOT NULL DEFAULT '',
|
||||
first_seen_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
last_seen_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 不带 deleted 谓词:写入用的 ON CONFLICT (device_id) 需要能推断到唯一索引;
|
||||
-- 设备画像不做软删,重复建档走更新。
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uk_app_device_profile_device
|
||||
ON app_device_profile (device_id);
|
||||
|
||||
COMMENT ON TABLE app_device_profile IS '设备画像:device_id 维度的客户端系统与机型,匿名请求同样记录';
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user