|
|
@@ -5,7 +5,7 @@
|
|
5
|
5
|
> **说明:** 本文档 **仅描述功能需求、统计口径与业务规则**;**不涉及** 数据库结构、接口路径、Token 实现机制及技术栈细节。
|
|
6
|
6
|
> **v1.0:** 首版定稿;对齐草稿 §1~§7;补全时间口径、分类归属、订单/店铺/评价边界与空数据规则;排除草稿 §8~§9。
|
|
7
|
7
|
> **v1.0.1:** §5.2 **热销农资排行** 回归草稿口径——按 **平台一级品类** 当日销量 **Top5**(非商品 Top5)。
|
|
8
|
|
-> **v1.0.2:** 明示 **完成时间** 含 **买家手动确认收货** 与 **系统自动确认收货**(《商城设置》)写入的时点,口径一致。
|
|
|
8
|
+> **v1.0.4:** §5.1、§5.2 **统计口径改为当前自然年**(与草稿一致);按 **完成时间** 归属 **统计年** 汇总一级品类销量。
|
|
9
|
9
|
|
|
10
|
10
|
---
|
|
11
|
11
|
|
|
|
@@ -17,8 +17,8 @@
|
|
17
|
17
|
|
|
18
|
18
|
| 序号 | 指标(草稿) | 展示形态(建议) |
|
|
19
|
19
|
|:----:|--------------|------------------|
|
|
20
|
|
-| 1 | **农资品类销售** | 饼图:各 **一级品类** 当日销量占比 |
|
|
21
|
|
-| 2 | **热销农资排行(前 5)** | 列表/条形:当日销量 **Top5 一级品类** |
|
|
|
20
|
+| 1 | **农资品类销售** | 饼图:各 **一级品类** **当年**销量占比 |
|
|
|
21
|
+| 2 | **热销农资排行(前 5)** | 列表/条形:**当年**销量 **Top5 一级品类** |
|
|
22
|
22
|
| 3 | **商城订单趋势** | 折线:当年 **逐月订单笔数** |
|
|
23
|
23
|
| 4 | **店铺入驻** | 饼图:当年 **逐月新入驻店铺** 占比 |
|
|
24
|
24
|
| 5 | **消费区域排名(前 5)** | 列表:当年 **Top5 收货城市** 销售额(万元) |
|
|
|
@@ -40,8 +40,8 @@
|
|
40
|
40
|
|
|
41
|
41
|
| 草稿条目 | 定稿处理 |
|
|
42
|
42
|
|----------|----------|
|
|
43
|
|
-| §1 农资品类销售 · 饼图 · 一级分类 · 当天 | §5.1 |
|
|
44
|
|
-| §2 热销农资排行 · 前 5 · 一级分类 · 当天 | §5.2(与 §5.1 **同口径**,输出 **销量 Top5 一级品类** 排行) |
|
|
|
43
|
+| §1 农资品类销售 · 饼图 · 一级分类 · **当前年份** | §5.1 |
|
|
|
44
|
+| §2 热销农资排行 · 前 5 · 一级分类 · **当前年份** | §5.2(与 §5.1 **同口径**,输出 **销量 Top5 一级品类** 排行) |
|
|
45
|
45
|
| §3 商城订单趋势 · 按月 · 当年 · 折线 | §5.3 |
|
|
46
|
46
|
| §4 店铺入驻 · 按月 · 当年 · 饼图 | §5.4 |
|
|
47
|
47
|
| §5 消费区域排名 · 前 5 · 收货城市 · 销售额(万) | §5.5 |
|
|
|
@@ -67,9 +67,9 @@
|
|
67
|
67
|
| 关联模块 | 关系 | 边界说明 |
|
|
68
|
68
|
|----------|------|----------|
|
|
69
|
69
|
| **商品分类** v1.5 | **口径依赖** | 品类统计 **仅平台一级分类**(`shop_id` 为空);商品挂 **二级**,**归并至父级一级** |
|
|
70
|
|
-| **商品管理** v1.3.3 | **间接** | 当日销量 **按订单商品行汇总**;**不得** 用商品档案 **累计销量** 代替(见 §4.2) |
|
|
71
|
|
-| **订单管理** v1.0.1 | **强关联** | 订单趋势、区域销售额 **以订单为准**;**已完成** 参与金额/当日销量;**已删除** **不参与** |
|
|
72
|
|
-| **商城设置** v1.1 | **口径依赖** | **自动确认收货** 写入的 **完成时间** 与 **手动确认** **等价**,纳入 **统计日/统计年(完成侧)** 指标;C 端 **是否展示销量** **不影响** 本模块统计 |
|
|
|
70
|
+| **商品管理** v1.3.3 | **间接** | 当年销量 **按订单商品行汇总**;**不得** 用商品档案 **累计销量** 代替(见 §4.2) |
|
|
|
71
|
+| **订单管理** v1.0.1 | **强关联** | 订单趋势、区域销售额 **以订单为准**;**已完成** 参与金额/当年销量;**已删除** **不参与** |
|
|
|
72
|
+| **商城设置** v1.1 | **口径依赖** | **自动确认收货** 写入的 **完成时间** 与 **手动确认** **等价**,纳入 **统计年(完成侧)** 指标;C 端 **是否展示销量** **不影响** 本模块统计 |
|
|
73
|
73
|
| **店铺管理** v1.3.5 | **强关联** | 入驻统计 **以店铺创建时间** 为准;含 **入驻审核通过建店** 与 **平台代开店** |
|
|
74
|
74
|
| **评价管理** | **口径依赖** | 词云 **仅 C 端可见、未删除** 的买家评价 **正文** |
|
|
75
|
75
|
| **会员管理 / 资金概览** | **无直接** | 本模块 **不输出** 会员数、平台资金 |
|
|
|
@@ -99,10 +99,10 @@
|
|
99
|
99
|
| 项 | 定稿 |
|
|
100
|
100
|
|----|------|
|
|
101
|
101
|
| 订单笔数(§5.3) | 按 **下单时间** 归属自然月;**排除已删除**;**含** 待支付/待发货/已发货/已完成/已关闭 |
|
|
102
|
|
-| 当日销量(§5.1、§5.2) | 按订单 **完成时间** 归属 **自然日**(**含手动确认** 与 **自动确认收货**);统计 **订单商品行销售件数** 之和 |
|
|
|
102
|
+| 当年销量(§5.1、§5.2) | 按订单 **完成时间** 归属 **自然年**(**含手动确认** 与 **自动确认收货**);统计 **订单商品行销售件数** 之和 |
|
|
103
|
103
|
| 区域销售额(§5.5) | 按订单 **完成时间** 归属 **自然年**(**含手动确认** 与 **自动确认收货**);金额 = 订单 **实付金额**(与 O11 **累计消费金额** 同口径) |
|
|
104
|
|
-| 未完成订单 | **不计入** 当日销量与区域销售额 |
|
|
105
|
|
-| 已关闭 | **不计入** 当日销量与区域销售额;**可计入** 订单趋势笔数(若当月曾下单且未删) |
|
|
|
104
|
+| 未完成订单 | **不计入** 当年销量与区域销售额 |
|
|
|
105
|
+| 已关闭 | **不计入** 当年销量与区域销售额;**可计入** 订单趋势笔数(若当月曾下单且未删) |
|
|
106
|
106
|
|
|
107
|
107
|
### 2.3 与平台《商品分类功能需求》
|
|
108
|
108
|
|
|
|
@@ -127,7 +127,7 @@
|
|
127
|
127
|
| 项 | 定稿 |
|
|
128
|
128
|
|----|------|
|
|
129
|
129
|
| 完成路径 | 订单 **已完成** 的 **完成时间** 来源:**买家手动确认收货** 或 **系统自动确认收货**(MC-O1~O3),**二者等价** |
|
|
130
|
|
-| 统计归属 | 以 **完成时间的日历日/日历年** 归属 **统计日**(§5.1、§5.2)或 **统计年完成侧指标**(§5.5);**不** 以发货时间代替 |
|
|
|
130
|
+| 统计归属 | 以 **完成时间的日历年** 归属 **统计年**(§5.1、§5.2、§5.5);**不** 以发货时间代替 |
|
|
131
|
131
|
| 与 O7 | 与 **订单管理 O7**、**商城设置** 自动确认规则 **一致**;平台登记「送达」**不** 写入完成时间 |
|
|
132
|
132
|
|
|
133
|
133
|
---
|
|
|
@@ -136,8 +136,7 @@
|
|
136
|
136
|
|
|
137
|
137
|
| 概念 | 说明 |
|
|
138
|
138
|
|------|------|
|
|
139
|
|
-| 统计日 | **当前自然日**(服务器 **Asia/Shanghai** 日历日,下同) |
|
|
140
|
|
-| 统计年 | **当前自然年**(1 月 1 日~12 月 31 日) |
|
|
|
139
|
+| 统计年 | **当前自然年**(1 月 1 日~12 月 31 日,服务器 **Asia/Shanghai**) |
|
|
141
|
140
|
| 平台一级品类 | 商品分类模块中 **平台维护**、**无上级** 的分类节点 |
|
|
142
|
141
|
| 销售件数 | 某维度下 **已完成订单商品行** 的 **购买数量** 合计 |
|
|
143
|
142
|
| 完成时间 | 订单进入 **已完成** 时写入的时点;含 **手动确认收货** 与 **自动确认收货**(《商城设置》),**口径相同** |
|
|
|
@@ -156,18 +155,18 @@
|
|
156
|
155
|
|
|
157
|
156
|
| 指标组 | 时间范围 | 归属字段(业务语义) |
|
|
158
|
157
|
|--------|----------|----------------------|
|
|
159
|
|
-| 农资品类销售、热销排行 | **统计日 = 当天** | 订单 **已完成** 的 **完成时间**(**含自动确认收货** 写入时刻) |
|
|
|
158
|
+| 农资品类销售、热销排行 | **统计年 = 当年** | 订单 **已完成** 的 **完成时间**(**含自动确认收货** 写入时刻) |
|
|
160
|
159
|
| 订单趋势、店铺入驻 | **统计年 = 当年** | 订单 **下单时间** / 店铺 **创建时间** |
|
|
161
|
160
|
| 消费区域排名 | **统计年 = 当年** | 订单 **已完成** 的 **完成时间**(**含自动确认收货** 写入时刻) |
|
|
162
|
161
|
| 消费者评价词云 | **全量历史**(截至请求时刻) | 评价 **提交时间** **不参与** 过滤(草稿未限定时效) |
|
|
163
|
162
|
|
|
164
|
|
-### 4.2 当日销量 vs 商品累计销量
|
|
|
163
|
+### 4.2 当年销量 vs 商品累计销量
|
|
165
|
164
|
|
|
166
|
|
-| 维度 | 当日销量(§5.1、§5.2) | 商品档案 `sales_count` |
|
|
|
165
|
+| 维度 | 当年销量(§5.1、§5.2) | 商品档案 `sales_count` |
|
|
167
|
166
|
|------|------------------------|-------------------------|
|
|
168
|
|
-| 用途 | 本模块 **当日** 排行/占比 | C 端展示 **累计** 销量 |
|
|
169
|
|
-| 口径 | **仅统计日当天完成** 的件数 | **历史全部已完成** 累计 |
|
|
170
|
|
-| 关系 | **不得** 用 `sales_count` 直接代替当日销量 | — |
|
|
|
167
|
+| 用途 | 本模块 **当年** 排行/占比 | C 端展示 **累计** 销量 |
|
|
|
168
|
+| 口径 | **仅统计年年内完成** 的件数 | **历史全部已完成** 累计 |
|
|
|
169
|
+| 关系 | **不得** 用 `sales_count` 直接代替当年销量 | — |
|
|
171
|
170
|
|
|
172
|
171
|
### 4.3 数据范围与排除
|
|
173
|
172
|
|
|
|
@@ -183,8 +182,8 @@
|
|
183
|
182
|
|
|
184
|
183
|
| 场景 | 定稿 |
|
|
185
|
184
|
|------|------|
|
|
186
|
|
-| 当日无任何完成订单 | 品类销售 **空列表或全 0**;热销 **空列表**;占比 **不展示** 或 **无饼图** |
|
|
187
|
|
-| 占比计算 | 各品类销量 / **当日有销量的品类销量合计** × 100%;**保留 1 位小数**;合计 **100%**(四舍五入误差 **归最大项或「其他」**,实现 **须一致**) |
|
|
|
185
|
+| 当年无任何完成订单 | 品类销售 **空列表或全 0**;热销 **空列表**;占比 **不展示** 或 **无饼图** |
|
|
|
186
|
+| 占比计算 | 各品类销量 / **当年有销量的品类销量合计** × 100%;**保留 1 位小数**;合计 **100%**(四舍五入误差 **归最大项或「其他」**,实现 **须一致**) |
|
|
188
|
187
|
| 当年某月无订单/无新店 | 订单趋势/入驻 **该月记 0**,**仍返回 12 个月** |
|
|
189
|
188
|
| 评价正文均空或无评价 | 词云 **空列表** |
|
|
190
|
189
|
|
|
|
@@ -205,12 +204,12 @@
|
|
205
|
204
|
|
|
206
|
205
|
### 5.1 农资品类销售
|
|
207
|
206
|
|
|
208
|
|
-**业务含义:** 展示 **统计日** 各 **平台一级品类** 的 **销售件数** 及 **占当日总销量比重**,供饼图渲染。
|
|
|
207
|
+**业务含义:** 展示 **统计年** 各 **平台一级品类** 的 **销售件数** 及 **占当年总销量比重**,供饼图渲染。
|
|
209
|
208
|
|
|
210
|
209
|
**统计逻辑:**
|
|
211
|
210
|
|
|
212
|
211
|
```text
|
|
213
|
|
-取统计日内「已完成」的全部订单(完成时间 = 手动确认 或 自动确认收货写入时刻)
|
|
|
212
|
+取统计年内「已完成」的全部订单(完成时间 = 手动确认 或 自动确认收货写入时刻)
|
|
214
|
213
|
→ 展开订单商品行(goods_id、购买数量 qty)
|
|
215
|
214
|
→ 按 goods 的 category_id 找到平台二级分类
|
|
216
|
215
|
→ 归并至父级「一级品类」
|
|
|
@@ -230,21 +229,21 @@
|
|
230
|
229
|
| 编号 | 规则 |
|
|
231
|
230
|
|------|------|
|
|
232
|
231
|
| **ST-C1** | **仅一级品类**;**不** 输出二级明细 |
|
|
233
|
|
-| **ST-C2** | 某品类当日 **0 件** → **可不返回该项** 或 **返回 0**(实现 **须六项接口一致**) |
|
|
|
232
|
+| **ST-C2** | 某品类当年 **0 件** → **可不返回该项** 或 **返回 0**(实现 **须六项接口一致**) |
|
|
234
|
233
|
| **ST-C3** | **不** 含运费、**不** 按金额 |
|
|
235
|
234
|
|
|
236
|
235
|
### 5.2 热销农资排行(前 5)
|
|
237
|
236
|
|
|
238
|
|
-**业务含义:** 展示 **统计日** **销售件数最多** 的 **前 5 个平台一级品类**(草稿「根据农资品类分类统计各个品类销售量,展示销售量前 5」),供 **排行列表 / 条形图** 渲染。
|
|
|
237
|
+**业务含义:** 展示 **统计年** **销售件数最多** 的 **前 5 个平台一级品类**(草稿「根据农资品类分类统计各个品类销售量,展示销售量前 5」),供 **排行列表 / 条形图** 渲染。
|
|
239
|
238
|
|
|
240
|
|
-> **与 §5.1 的关系:** 二者 **统计口径相同**(均为统计日、已完成订单、归并至 **一级品类** 的销售件数)。**§5.1** 面向 **全量品类结构 + 占比(饼图)**;**§5.2** 面向 **销量 Top5 品类排行**,**不重复输出占比**(排行以 **销售件数** 为主字段)。
|
|
|
239
|
+> **与 §5.1 的关系:** 二者 **统计口径相同**(均为统计年、已完成订单、归并至 **一级品类** 的销售件数)。**§5.1** 面向 **全量品类结构 + 占比(饼图)**;**§5.2** 面向 **销量 Top5 品类排行**,**不重复输出占比**(排行以 **销售件数** 为主字段)。
|
|
241
|
240
|
|
|
242
|
241
|
**统计逻辑:**
|
|
243
|
242
|
|
|
244
|
243
|
```text
|
|
245
|
244
|
与 §5.1 相同,先得到各一级品类 categoryQty
|
|
246
|
245
|
→ 按 categoryQty 降序排序
|
|
247
|
|
- → 取 Top5(当日有销量的品类不足 5 个则全部返回)
|
|
|
246
|
+ → 取 Top5(当年有销量的品类不足 5 个则全部返回)
|
|
248
|
247
|
→ 输出:排名序号、一级品类 ID/名称、销售件数
|
|
249
|
248
|
```
|
|
250
|
249
|
|
|
|
@@ -252,7 +251,7 @@
|
|
252
|
251
|
|------|------|
|
|
253
|
252
|
| **ST-H1** | **仅一级品类**;**不** 输出二级、**不** 输出单品(商品) |
|
|
254
|
253
|
| **ST-H2** | **并列第 5** 时:按 **一级品类 ID 升序** 取满 5 条(**或** 全部并列返回导致 >5 条,产品 **择一** 并 **文档化**) |
|
|
255
|
|
-| **ST-H3** | 某品类当日 **0 件** **不参与** 排行 |
|
|
|
254
|
+| **ST-H3** | 某品类当年 **0 件** **不参与** 排行 |
|
|
256
|
255
|
| **ST-H4** | **不** 输出店铺、商户、商品明细 |
|
|
257
|
256
|
|
|
258
|
257
|
### 5.3 商城订单趋势
|
|
|
@@ -370,7 +369,7 @@
|
|
370
|
369
|
|----|------|
|
|
371
|
370
|
| 场景 | 外部大屏 **定时刷新**(如 1~5 分钟)可能 **并发** 拉取 |
|
|
372
|
371
|
| 要求 | 单次请求 **应在可接受等待时间内** 返回完整结果;**不** 因统计查询 **阻塞** 下单/支付/发货等 **交易主流程** |
|
|
373
|
|
-| 策略 | 允许 **预聚合、缓存** 统计结果;**当日/当年** 指标 **准实时** 即可(完成订单后 **下一次刷新周期内** 可见) |
|
|
|
372
|
+| 策略 | 允许 **预聚合、缓存** 统计结果;**统计年** 指标 **准实时** 即可(完成订单后 **下一次刷新周期内** 可见) |
|
|
374
|
373
|
| 降级 | 极端情况下 **可返回空数据或上次缓存** 并 **记录告警**(**不** 返回错误业务数) |
|
|
375
|
374
|
|
|
376
|
375
|
---
|
|
|
@@ -391,7 +390,7 @@
|
|
391
|
390
|
|
|
392
|
391
|
| 指标 | 建议刷新频率 |
|
|
393
|
392
|
|------|--------------|
|
|
394
|
|
-| 品类销售、热销 Top5 | **≤5 分钟**(统计日指标) |
|
|
|
393
|
+| 品类销售、热销 Top5 | **≤1 小时**(统计年指标) |
|
|
395
|
394
|
| 订单趋势、店铺入驻、区域 Top5 | **≤1 小时**(统计年指标) |
|
|
396
|
395
|
| 评价词云 | **≤24 小时**(全量历史,变化慢) |
|
|
397
|
396
|
|
|
|
@@ -401,7 +400,7 @@
|
|
401
|
400
|
|
|
402
|
401
|
| 事件 | 影响 |
|
|
403
|
402
|
|------|------|
|
|
404
|
|
-| 订单完成后 | **当日/当年(完成侧)** 指标 **下一刷新周期** 纳入;**含系统自动确认收货** |
|
|
|
403
|
+| 订单完成后 | **统计年(完成侧)** 指标 **下一刷新周期** 纳入;**含系统自动确认收货** |
|
|
405
|
404
|
| 订单改 **已删除** | 从 **订单趋势** 等 **剔除**(若实现按当前状态重算) |
|
|
406
|
405
|
| 店铺逻辑删除 | **入驻统计不回退**;**不影响** 历史订单统计 |
|
|
407
|
406
|
| 分类调整层级 | **历史商品** **仍按档案 category_id** 归并 |
|
|
|
@@ -438,10 +437,10 @@
|
|
438
|
437
|
|
|
439
|
438
|
| 编号 | 场景 | 预期 |
|
|
440
|
439
|
|------|------|------|
|
|
441
|
|
-| **ST-TST1** | 统计日有 3 个一级品类完成销量 | 饼图 **三项占比合计 ≈100%** |
|
|
442
|
|
-| **ST-TST2** | 某一级品类当日销量排第 6 | **不出现在** Top5 排行 |
|
|
443
|
|
-| **ST-TST3** | 3 月下单、4 月手动完成 | **订单趋势计 3 月**;**当日销量计 4 月完成日** |
|
|
444
|
|
-| **ST-TST3a** | 已发货超期 **自动确认收货** 于 5 月 2 日完成 | **当日销量/区域金额** 计 **5 月 2 日**(**非** 发货日) |
|
|
|
440
|
+| **ST-TST1** | 统计年有 3 个一级品类完成销量 | 饼图 **三项占比合计 ≈100%** |
|
|
|
441
|
+| **ST-TST2** | 某一级品类当年销量排第 6 | **不出现在** Top5 排行 |
|
|
|
442
|
+| **ST-TST3** | 3 月下单、4 月手动完成 | **订单趋势计 3 月**;**当年销量计 4 月完成年** |
|
|
|
443
|
+| **ST-TST3a** | 已发货超期 **自动确认收货** 于 5 月 2 日完成 | **当年销量/区域金额** 计 **完成年**(**非** 发货日) |
|
|
445
|
444
|
| **ST-TST4** | 2 月创建店铺 | **入驻饼图 2 月扇区 +1** |
|
|
446
|
445
|
| **ST-TST5** | 北京、上海已完成实付 | **区域排名** 按 **万元** 降序 **Top5** |
|
|
447
|
446
|
| **ST-TST6** | 100 条含「质量好」评价 | 词云 **含「质量好」** 且频次 **合理** |
|
|
|
@@ -458,5 +457,6 @@
|
|
458
|
457
|
| **v1.0.1** | §5.2 热销排行改为 **一级品类 Top5**,与草稿及 §5.1 口径一致 |
|
|
459
|
458
|
| **v1.0.2** | 完成时间 **含自动确认收货**;新增 §2.5、ST-R3、ST-TST3a |
|
|
460
|
459
|
| **v1.0.3** | Token 认证改为 **调用方 AES 加密 UUID**;ST-T2/T3、§7 流程与边界对齐技术方案 v1.1 |
|
|
|
460
|
+| **v1.0.4** | §5.1、§5.2 统计口径改为 **当前自然年**(`finish_time` 归属统计年);与草稿一致 |
|
|
461
|
461
|
|
|
462
|
|
-*文档版本:v1.0.3 · 关联《商城数据统计功能需求-草稿》、《关联需求分析.md》v1.6、《商品分类功能需求》v1.5、《订单管理功能需求》v1.0.1、《商城设置功能需求》v1.1、《店铺管理功能需求》v1.3.5、《评价管理功能需求》、《我的订单功能需求》v1.1*
|
|
|
462
|
+*文档版本:v1.0.4 · 关联《商城数据统计功能需求-草稿》、《关联需求分析.md》v1.6、《商品分类功能需求》v1.5、《订单管理功能需求》v1.0.1、《商城设置功能需求》v1.1、《店铺管理功能需求》v1.3.5、《评价管理功能需求》、《我的订单功能需求》v1.1*
|