kate522
8e1fd0a30f
fix(admin): 让后台「销量浮动」设置真正生效
资源 metabox 和快捷编辑都能设置「销量浮动」(pay_count),但设了完全
不起作用——所有读取方用的是另一个键 virtual_sales(§3.8 电商的虚拟
销量加成),pay_count 只被写、从未被读。
新增统一读取口径 aksrt_get_content_sales_count($post, $pay_meta):
真实订单销量 + pay_count,并把四处各自拼装销量的地方全部接到这个
口径上:
- aksrt_get_download_box_meta() 的 sales_count(内容帖)
- aksrt_get_resource_meta() 的 sales_count(资源帖)
- 付费墙 aksrt_get_paywall_html() 的已售徽标
- 付费盒 aksrt_get_paid_box_html() 的已售徽标
- 后台「所有文章」销售数据列的销量
此前资源帖的 sales_count 走的是「虚拟销量 + 下载量」这条与内容帖
不一致的口径,现统一。
快捷编辑的 pay_count 运算本是整数加减 + max(0,...) 归零,与读取口径
一致,无需改动。
_aksrt_sales_volume 保持不变,它仍是订单流水累加的副本;列表列取
订单表统计与 meta 副本的较大值再加浮动量,避免两条链路数字打架。
新增 sales-volume-float-contract.test.cjs 4 项,锁住「pay_count 必须
被销量读取方消费」这一契约,防止以后又被改成摆设。
验证:node --test tests/widget-system/*.test.cjs 449 项全部通过
(原有 445 项 + 新增 4 项);php -l 三个 PHP 文件无语法错误。
2026-10-06 19:52:03 +08:00
..
2026-10-06 14:13:51 +08:00
2026-09-27 00:37:00 +08:00
2026-09-24 19:12:45 +08:00
2026-10-06 14:13:51 +08:00
2026-08-22 16:16:30 +08:00
2026-10-06 14:13:51 +08:00
2026-10-06 14:13:51 +08:00
2026-08-22 16:16:30 +08:00
2026-09-24 15:39:25 +08:00
2026-10-04 03:04:02 +08:00
2026-08-23 20:30:01 +08:00
2026-10-05 20:55:20 +08:00
2026-10-03 15:42:18 +08:00
2026-08-24 15:59:11 +08:00
2026-10-05 16:42:25 +08:00
2026-07-17 13:29:22 +08:00
2026-10-06 11:09:05 +08:00
2026-08-18 16:06:47 +08:00
2026-10-06 14:13:51 +08:00
2026-09-05 11:28:00 +08:00
2026-08-22 16:16:30 +08:00
2026-09-19 14:49:58 +08:00
2026-09-18 23:17:05 +08:00
2026-08-22 16:16:30 +08:00
2026-09-19 16:39:59 +08:00
2026-09-06 12:59:03 +08:00
2026-09-20 18:48:22 +08:00
2026-09-27 00:37:00 +08:00
2026-09-24 13:43:51 +08:00
2026-08-22 16:16:30 +08:00
2026-08-22 16:16:30 +08:00
2026-08-17 14:52:19 +08:00
2026-10-06 19:52:03 +08:00
2026-10-06 09:26:55 +08:00
2026-08-17 21:47:40 +08:00
2026-10-06 19:52:03 +08:00
2026-10-05 16:42:25 +08:00
2026-09-27 13:49:32 +08:00
2026-07-17 13:29:22 +08:00
2026-08-22 19:21:11 +08:00
2026-10-06 14:13:51 +08:00
2026-10-06 14:13:51 +08:00
2026-08-31 13:12:45 +08:00
2026-09-05 18:53:45 +08:00
2026-08-17 21:47:40 +08:00
2026-08-24 17:21:06 +08:00
2026-08-30 13:49:54 +08:00
2026-10-05 20:55:20 +08:00
2026-10-05 20:55:20 +08:00
2026-10-04 19:40:24 +08:00
2026-09-27 00:37:00 +08:00
2026-09-18 23:17:05 +08:00
2026-07-17 10:33:00 +08:00
2026-09-18 23:17:05 +08:00
2026-10-03 22:22:15 +08:00
2026-09-22 19:53:03 +08:00