guke
e9c0a80d44
feat(admin): 两看板逐行补「本次广告收益」(ad_revenue_yuan)
...
按本页 trace_id 一次性聚合 ad_ecpm_record 展示收益(元),挂到领券数据
看板明细行(dict 字段)与比价记录列表项(ORM 瞬态属性),防 N+1 范式与
现有 _attach_user_info / _ad_coins_by_trace 一致。
- CouponDataRow: 新增 ad_revenue_yuan: float = 0.0 字段
- AdminComparisonListItem: 新增 ad_revenue_yuan: float = 0.0 字段
- coupon_data.py: _session_to_row 增 ad_revenue_yuan 参数;coupon_data_report
在分页后调用 crud_ecpm.revenue_yuan_by_trace 按本页批量聚合
- queries.py: list_comparison_records 在 _attach_user_info 后瞬态挂 ad_revenue_yuan
- 新增 tests/test_board_ad_revenue.py:两个看板各一个集成测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-10 14:24:07 +08:00
zhuzihao
6241543119
运营后台后端:RBAC 权限管理 + 系统配置下发修复 + 比价记录店/商品搜索 ( #117 )
...
一、RBAC 权限管理(角色 → 可见页面)
- 新增 admin_role 表 + 权限目录 permissions.py:角色持有一组页面 key,登录后左侧只展示这些页
- 内建角色 管理员(super_admin 全权锁定)/运营/财务/技术,页集对齐原型;key 承重(require_role 用),另加中文 label 展示
- 角色 CRUD 端点(仅 super_admin)+ 目录端点;登录/me 下发当前角色有效可见页
- admins 加删除、角色存在性校验;可复看已确定登录密码:UI 建的账号留存明文 plain_password,脚本建的超管不留存
二、系统配置下发修复
- 首页数据「保存即生效」:显式保存(apply_now)对 real/manual 直接落配置目标值、绕过只增不减护栏(修「改了 app 端不变」),护栏仍管自动 tick
- 首页轮播新增数据源三选一:mixed(真实优先+种子)/real(只真实)/seed(只种子),get_feed 分支 + /marquee-seeds/mode 端点
- 福利页 Tab 隐藏 任务/里程碑,及看广告的单次金币/每轮次数/信息流开关:CONFIG_DEFS 加 hidden + list_config 过滤,业务读取默认值不受影响
三、比价记录店/商品搜索
- comparison_record 加 product_names 派生列(从下单 items 拼商品名),迁移建列并回填历史行
- admin 比价记录列表店/商品分列可搜:走 product_names 普通列 LIKE,规避 SQLite JSON 中文 ensure_ascii 转义搜不到的坑
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: zzhyyyyy <2685922758@qq.com >
Reviewed-on: #117
Co-authored-by: zhuzihao <zhuzihao@wonderable.ai >
Co-committed-by: zhuzihao <zhuzihao@wonderable.ai >
2026-07-05 09:46:19 +08:00