no_gen_mu
4d821bec26
feat(invite): 发奖口径改为「比价并下单」+ 好友已比价状态(is_compared) + DEV 造数/重置接口
...
- 邀请发奖触发从「上报比价」改为「实际下单」(order.py + compare_record.py + repositories/invite.py)
- 好友列表返回 is_compared 已比价状态 (schemas/invite.py + repositories/invite.py)
- 新增 DEV 内部接口(生产 is_prod 一律 404):
- POST/DELETE /invite/seed-fake 造/清虚拟好友(测在途、好友列表 UI)
- POST /invite/dev-reset 把固定测试号打回出厂态(反复当新用户测发奖)
- fix(deploy): 每日兑换定时器锁北京时区 Asia/Shanghai (daily-exchange.service/.timer)
不含测试文件(tests/ 及 scripts/invite_reward_e2e.* 本地自用,不入库)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-03 17:13:50 +08:00
xiebing
19f5987436
feat(invite): 邀请奖励金账户(与金币隔离) + 比价发奖 + 奖励金提现 ( #82 )
...
Reviewed-on: #82
Co-authored-by: xiebing <xiebing@wonderable.ai >
Co-committed-by: xiebing <xiebing@wonderable.ai >
2026-06-26 21:10:21 +08:00
marco
a584e1f59f
feat(comparison): 比价记录累计 LLM token(入/出)并在 admin 展示
...
server 从 llm_calls[].usage 累加 prompt/completion_tokens 落库,admin 比价记录列表/详情据此展示 token 数与估算成本;配套迁移 comparison_token_cols。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 17:24:54 +08:00
marco
3cab3b9055
fix(compare-record): admin 放行 cancelled 筛选 + llm_calls 拉取改后台任务
...
- admin 列表 status pattern 加 cancelled(客户端会上报用户终止比价)
- 上报端点拉 pricebot llm_calls 改 BackgroundTasks 异步回填, 不阻塞上报响应(独立 session)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 23:32:36 +08:00
marco
a2fd666203
feat(admin): 比价记录 debug 页后端——补全链路 + DB 迁移
...
model/schema 的 debug 字段已在 4ee6de2 起头,本次补完整条链路:
- repo upsert 存客户端环境/性能字段;端点同机拉 pricebot llm_calls 落库 + 算 llm次数/重试
- schema 加 platform_results 透传(admin「卡在哪一步」从 raw_payload 读)
- admin 比价记录查询接口(按 user_id/phone 列表分页 + 详情含 llm_calls)
- 迁移 comparison_debug_fields: 给 comparison_record 加环境/性能/llm_calls 列(全 nullable)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 22:33:33 +08:00
marco
003fd9d986
feat(compare): 失败比价记录支持 trace 链接
...
compare.py 加 /trace/finalize 透传(按 trace_id 一致性 hash 落同一 pricebot 进程);compare_record.py list_records 加 include_trace,对本人记录在调试态(客户端 agent 调试模式)放行 trace_url。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 15:56:15 +08:00
marco
953a05a5e6
feat(debug-trace): 调试链接权限 + trace_url 落库与按权限下发 ( #35 )
...
- user 加 debug_trace_enabled、comparison_record 加 trace_url
- 迁移 f8d3b1e60a27:加两列,down_revision 用 tuple 顺带合并既存双 head(invite_fingerprint_table + 044dce6e9b1f)
- UserOut 加 debug_trace_enabled → /me 与登录响应带出
- ComparisonRecordIn/Out 加 trace_url;upsert 落库
- /compare/records 列表与详情按 user.debug_trace_enabled 下发;详情连 raw_payload 里那份一并抹掉,防权限绕过
- admin 加 POST /users/{id}/debug-trace(operator + 审计),列表带该字段
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Reviewed-on: #35
2026-06-10 15:35:08 +08:00
ouzhou
766666601e
feat(platform): 首页门面三统计 + 运营后台展示模式配置 ( #22 )
...
Co-authored-by: OuYingJun1024 <1034284404@qq.com >
Reviewed-on: #22
Reviewed-by: marco <marco@wonderable.ai >
Co-authored-by: ouzhou <ouzhou@wonderable.ai >
Co-committed-by: ouzhou <ouzhou@wonderable.ai >
2026-06-07 23:17:27 +08:00
ouzhou
da7ce69494
feat(ad): eCPM 上报接口 + 冷却策略解耦纯函数 + savings JSONB 跨库修复 ( #8 )
...
- 新增 POST /api/v1/ad/ecpm-report:激励视频展示后客户端上报本次 eCPM,落 ad_ecpm_record 做内部收益统计(model/repository/schema/alembic 迁移 + 接口文档)
- 看广告冷却策略抽到 app/core/ad_cooldown.py 纯函数;ad_reward.today_status 只取数据,换策略只改这一处
- savings.dishes 改 JSON().with_variant(JSONB,"postgresql"):SQLite 无 visit_JSONB 会让 create_all 编译崩,修复后测试套件恢复
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: OuYingJun1024 <1034284404@qq.com >
Reviewed-on: #8
Co-authored-by: ouzhou <ouzhou@wonderable.ai >
Co-committed-by: ouzhou <ouzhou@wonderable.ai >
2026-06-01 22:23:15 +08:00