Zhou Weidong
|
3e2d6a06d9
|
perf(playback): 观看进度上报异步化(Redis write-behind 批量落库)
- POST /app/watch/progress 只写 Redis 缓冲立即返回(p95 75ms→2ms),
WatchProgressFlusher 每 2s 把 watch:pg:dirty 队列按身份合并批量 UPSERT,
Redis 异常自动回退同步写库,接口契约不变
- 读接口用缓冲覆盖 DB 行保证读己之写;Caffeine 缓存剧集校验免去上报路径两条 DB 查询
- 落库按「新增进度/新增流水/更新行」分组攒批(MyBatis BATCH 只合并连续同形状语句),
配合 reWriteBatchedInserts 多值 INSERT,12.4 万积压 45 秒消化完,
1650 QPS 持续压测队列稳态归零
|
2026-10-28 14:59:09 +08:00 |
|
Zhou Weidong
|
fc9e429187
|
feat(monitoring): 接入 Loki + Promtail 日志采集,Grafana 可直接搜索容器日志
|
2026-10-28 10:38:41 +08:00 |
|
Zhou Weidong
|
5d139783c9
|
fix(media): 缩略图唯一索引改为部分索引,避免软删行占用 episode_id 导致登记冲突
|
2026-10-27 21:07:10 +08:00 |
|
Zhou Weidong
|
ddd2406f32
|
fix(build): Docker 构建阶段固定阿里云 Maven 中央镜像
容器内从 Maven Central 拉依赖时 maven-filtering:3.3.1 解析失败,
且 dependency:go-offline 被 || true 静默吞掉,导致发布时才暴露。
构建阶段写入 settings.xml 走阿里云 central 镜像,并让 go-offline 失败即中断。
|
2026-10-27 20:14:19 +08:00 |
|
Vicky
|
272aa62434
|
feat: phase1 UI prep — P1 安全(XFF防护), P2 规模化(平台索引+region保护), P3 文档补全
P1 安全: WebUtils.getClientIp 改为 remoteAddr 优先 + 可信代理 CIDR 配置
P2 规模化: DISTINCT ON 查询补匹配排序的部分索引 (migrate-k113)
P2 一致性: syncCountryByIp regionCode 同语言/时区/币种加保护,不覆盖用户自定义
P3 文档: api-phase1.md 新增 platform 参数说明, IpRegionService 新增集成测试 + VERSION
新增: CountryProfile 52 国映射 + IpRegionService 离线 ip2region 解析
平台筛选: app-users/favorites/likes/watch-history 按最近一次会话 ANDROID/IOS 筛选
v0.9.0
|
2026-10-27 15:45:15 +08:00 |
|
jianghaifeng
|
a41ab18636
|
perf(admin): 优化观看记录列表并统一时间格式
- 新增 watched_at 索引,默认倒序翻页走 Merge Append 而不是全表排序
- 装配只取展示所需列,会话查询不再拉 refresh_token_hash
- 关键词预检索加 2000 条上限
- admin-api 的 LocalDateTime 统一输出 yyyy-MM-dd HH:mm:ss
|
2026-10-27 14:39:13 +08:00 |
|
jianghaifeng
|
8999ff395d
|
feat(admin): 收藏/点赞/观看记录支持按客户端平台筛选
- 设备画像按 device_id 命中,登录用户按最近一次登录会话的平台命中
- 修正 orderBy 先于动态条件导致 SQL 拼接错误的问题
|
2026-10-27 14:27:10 +08:00 |
|
jianghaifeng
|
229f1d0198
|
refactor(device): 设备平台只记 iOS/Android
去掉系统版本、机型与版本号上报,表结构收敛为 device_id + platform。
|
2026-10-27 14:00:12 +08:00 |
|
jianghaifeng
|
2dadca6288
|
chore(merge): 合并设备画像与后台系统展示
|
2026-10-27 13:53:49 +08:00 |
|
Vicky
|
2cf8f9a1c3
|
feat(device): 按 device_id 记录客户端系统与机型
- 新增 app_device_profile 表与 upsert,匿名请求同样建档
- app-api 设备画像过滤器,同设备 60 秒节流写一次
- 收藏/点赞/观看列表优先用设备画像,缺失回退最近会话
|
2026-10-27 13:53:47 +08:00 |
|
jianghaifeng
|
d9a1670a72
|
chore(merge): 合并互动计数校准
|
2026-10-27 13:29:09 +08:00 |
|
Vicky
|
5ff4626b33
|
chore(sql): 校准被压测数据污染的互动计数
剧集点赞数与剧收藏数改回按实际未删除互动行重算,可重复执行。
|
2026-10-27 13:29:09 +08:00 |
|
jianghaifeng
|
6bbde0b100
|
chore(merge): 合并剧级点赞历史数据清理
|
2026-10-27 13:28:15 +08:00 |
|
Vicky
|
884324b8fd
|
chore(sql): 清理历史遗留的剧级点赞数据
客户端点赞入口只作用于剧集,13 条 DRAMA 记录为旧模型遗留;
软删并同步校准 drama.like_count。
|
2026-10-27 13:28:15 +08:00 |
|
jianghaifeng
|
7baaeddf26
|
chore(merge): 合并点赞筛选说明文档
|
2026-10-27 13:25:52 +08:00 |
|
Vicky
|
99d49a1765
|
docs(admin): 说明点赞列表三种目标与 episodeId 筛选边界
- 明确客户端点赞落 EPISODE,DRAMA 为历史数据
- 说明 episodeId 只命中该集及该集评论,不含对短剧本身的点赞
|
2026-10-27 13:25:51 +08:00 |
|
jianghaifeng
|
92f7606f65
|
chore(merge): 合并收藏与点赞列表查询加固
|
2026-10-27 13:23:23 +08:00 |
|
Vicky
|
c2ba3df47c
|
fix(admin): 加固收藏与点赞列表查询
- 关键词/剧名预检索加 2000 条上限,避免 IN 列表超限并给出可操作提示
- 新增 created_at 分页索引迁移,避免无条件列表退化为全表排序
- dramaPublished 改为三态,短剧已不存在时不再误报未发布
|
2026-10-27 13:23:21 +08:00 |
|
Zhou Weidong
|
226dc275bb
|
merge(admin): 合并收藏与点赞只读查询
|
2026-10-27 12:32:23 +08:00 |
|
Zhou Weidong
|
7a2ff3f80e
|
feat(admin): 新增收藏与点赞只读查询接口
|
2026-10-27 12:32:23 +08:00 |
|
Zhou Weidong
|
23321a0b0c
|
feat(favorites): 支持设备批量取消收藏
|
2026-10-27 10:33:59 +08:00 |
|
Zhou Weidong
|
5d44ac239b
|
fix(watch): 修复匿名进度查询参数类型
|
2026-10-27 10:01:21 +08:00 |
|
Zhou Weidong
|
848c746505
|
feat(watch): 支持设备观看与登录合并
|
2026-10-27 09:54:47 +08:00 |
|
Zhou Weidong
|
4b0fbd73d3
|
feat(interaction): 支持游客互动与登录合并
|
2026-10-26 22:34:14 +08:00 |
|
Zhou Weidong
|
2fe24b9db7
|
feat(interaction): 新增分集计数统计接口
|
2026-10-26 21:31:17 +08:00 |
|
Zhou Weidong
|
15b540cdd6
|
chore(merge): 合并内容多语言与转码通知
|
2026-10-24 16:57:31 +08:00 |
|
Zhou Weidong
|
50b3dd4a8e
|
docs(api): 同步多语言筛选与转码通知契约
|
2026-10-24 16:53:26 +08:00 |
|
Zhou Weidong
|
1d34e47673
|
feat(admin): 增加工作台指标和转码通知
|
2026-10-24 16:53:26 +08:00 |
|
Zhou Weidong
|
2367a5d12b
|
feat(app): 全部短剧改为请求体分页
|
2026-10-24 16:53:26 +08:00 |
|
Zhou Weidong
|
ebc5f890fd
|
feat(playback): 观看记录返回标题多语言
|
2026-10-24 16:53:26 +08:00 |
|
Zhou Weidong
|
e60c47123c
|
feat(content): 短剧分类和标签支持多语言
|
2026-10-24 16:53:26 +08:00 |
|
Zhou Weidong
|
5c20cf1ab9
|
Merge branch feat/app-version-and-c-end
|
2026-10-23 16:45:55 +08:00 |
|
Zhou Weidong
|
45cf405285
|
feat(api): 加C端分类频道和剧单详情接口
|
2026-10-23 16:45:28 +08:00 |
|
Zhou Weidong
|
4f80a691d1
|
feat(app-version): 加批量创建接口
|
2026-10-23 16:45:20 +08:00 |
|
Zhou Weidong
|
47f19a98eb
|
chore(merge): 合并 App 版本管理后端
|
2026-10-23 15:27:35 +08:00 |
|
Zhou Weidong
|
62792413df
|
feat(app): 新增后台 App 版本管理接口
|
2026-10-23 15:27:35 +08:00 |
|
Zhou Weidong
|
34c775620d
|
chore(merge): 合并 compose Redis 依赖修复
|
2026-10-23 14:58:46 +08:00 |
|
Zhou Weidong
|
b3774e0112
|
fix(deploy): compose 编排补充 REDIS_HOST 依赖
|
2026-10-23 14:58:46 +08:00 |
|
Zhou Weidong
|
0e6f7531d4
|
chore(merge): 合并大盘趋势与分布接口
|
2026-10-23 14:58:33 +08:00 |
|
Zhou Weidong
|
73a8db8498
|
feat(dashboard): 大盘趋势与分布接口
|
2026-10-23 14:58:33 +08:00 |
|
Zhou Weidong
|
cf657707f9
|
chore(merge): 合并转码补齐功能
|
2026-10-23 14:14:39 +08:00 |
|
Zhou Weidong
|
40728e685b
|
feat(media): 新增缺失转码产物自动补齐
|
2026-10-23 14:14:39 +08:00 |
|
Zhou Weidong
|
df2da25833
|
chore(merge): 合并用户系统协议与播放改动
|
2026-10-23 12:34:26 +08:00 |
|
Zhou Weidong
|
1ea4cfeba3
|
test(media): 按物理删除校验重转码清理
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
ce6e3ef70a
|
docs(api): 同步搜索协议播放与收藏契约
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
87e20c31a9
|
feat(security): 允许匿名搜索与打开协议页
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
22edf34ff1
|
feat(system): 支持后台维护三语协议
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
16ba79a336
|
feat(interaction): 支持批量取消收藏
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
9c25b1b397
|
fix(playback): 恢复已删除的观看进度
|
2026-10-23 12:34:13 +08:00 |
|
Zhou Weidong
|
5a80e6693f
|
feat(playback): 播放票据返回各清晰度地址
|
2026-10-23 12:34:13 +08:00 |
|