# 会员管理 — 功能需求说明

> 本文档在《会员管理功能需求-草稿》基础上整理，并关联《农资商城web》目录下 **商户管理 v1.3.1**、**店铺管理 v1.3.2**、**商品管理 v1.3.3**、**商品服务管理 v1.0.1**、《订单管理功能需求》v1.0.1、《关联需求分析.md》v1.2 及目录内原型截图做边界与流程对齐。  
> 范围：**平台管理端** 对 **C 端买家会员** 的查询、详情与历史订单查看；不涉及数据库结构、接口定义及技术实现细节。  
> **说明：** 「会员」指 **用户商城（C 端）** 注册买家，与 **商户**、**店铺经营账号**（商家后台登录）为不同对象。  
> **v1.0：** 手机号注册；列表/检索/详情/会员订单只读；是否启用控制 C 端可用性。

---

## 1. 模块定位

### 1.1 业务目标

在农资商城 **平台管理端（Web）** 提供 **买家会员** 的运营查看能力：

- 按会员维度浏览注册用户的消费汇总与状态；
- 查看会员基本资料、收货信息；
- 查看该会员的历史订单列表及订单详情（**只读**；发货等履约在 **订单管理** 模块）。

**不包含（本期平台侧）：** 商户/店铺经营资料维护、商品审核、会员注册页面实现（C 端另述）、订单发货/改物流（属订单模块）。

### 1.2 在业务链中的位置

```text
C 端用户（手机号注册会员）
    → 浏览/下单（商品、店铺规则约束）
            ↓
平台：会员管理（本模块）── 查询会员、看订单
            ↑
平台：订单管理 v1.0.1 ── 全平台订单履约、发货、待支付自动关闭
            ↑
商户 → 店铺 → 商品（供给侧，与会员登录无关）
```

| 关联模块 | 关系 | 边界说明 |
|----------|------|----------|
| 商户管理 v1.3.1 | **无直接操作** | 商户主体与买家会员 **无绑定** 要求 |
| 店铺管理 v1.3.2 | **无直接操作** | **店铺经营账号** 为商家登录用，**不是** 会员账号 |
| 商品管理 v1.3.3 | 间接 | C 端下单受商品状态、店铺开业等约束；**不** 在商品模块维护会员 |
| 商品服务 v1.0.1 | 间接 | 服务项不参与会员身份 |
| 订单管理 v1.0.1 | **下游数据源** | 会员累计消费、会员订单列表 **来自订单**；履约操作在订单模块 |

### 1.3 与既有文档「不考虑会员体系」的关系（定稿）

| 既有表述（商户/店铺/商品/分类 v1.3） | 本模块定稿 |
|--------------------------------------|------------|
| 商家端使用 **店铺经营账号** 登录，**不校验** 会员注册 | **不变**；开店配置登录名 **仍不** 要求已是 C 端会员 |
| 商户/店铺/商品需求 **不写** 会员绑定、同步 | **不变**；供给侧模块 **不维护** 会员档案 |
| 《关联需求分析》v1.1 写「全项目不考虑会员」 | **修订理解：** 指 **一期商户经营链** 不依赖会员；**用户链** 见《关联需求分析》v1.2 §2.1（会员 → 订单 → C 端），与供给链 **并行、不混用账号** |

### 1.4 使用端与角色

| 端 | 角色 | 能力 |
|----|------|------|
| **平台管理端** | 平台管理员/客服 | 会员列表、检索、查看详情、查看会员订单（只读） |
| **C 端（用户商城）** | 买家会员 | 手机号注册/登录、维护资料与收货地址、下单（规则见商品/店铺/订单） |
| 商家端 | 店铺经营账号 | **不使用** 本模块；**不能** 查看全平台会员列表 |

---

## 2. 业务概念

| 概念 | 说明 |
|------|------|
| **会员（买家）** | 在 C 端 **手机号注册** 或由 **平台添加** 的个人用户，用于浏览、下单 |
| 会员 ID | **`biz_member.member_id` = `sys_user.user_id`**（非自增） |
| 会员名称 | 存于 **`sys_user.user_name`**；接口/前端字段名为 `memberCode` |
| 昵称 | 存于 **`sys_user.nick_name`**；接口字段 `nickName` |
| 手机号 | 存于 **`sys_user.phonenumber`**；接口字段 `mobile`；**del_flag=0 唯一** |
| 密码 / 头像 / 启用 | 存于 **`sys_user.password` / `avatar` / `status`**（0 启用 1 禁用） |
| 会员角色 | 注册或平台添加时分配 **`sys_role.role_key = member`** |
| 会员等级 | **选填**；存库为 `tinyint`，对接字典 `biz_member_level`（如 0=普通）；无等级时为 NULL |
| 是否启用 | 平台是否允许该会员 **登录 C 端 / 下单**；**否** 时禁用 |
| 累计消费次数 | 统计口径：**已完成**（或产品定义的「有效消费」）订单笔数，**由订单模块汇总** |
| 累计消费金额 | 上述订单 **实付金额** 合计 |
| 注册日期 | 会员首次注册成功时间 |
| 收货信息 | 收货人、联系方式、收货地址；可在会员详情展示 **默认收货地址** 及订单曾用地址（以产品/原型为准） |
| 店铺经营账号 | 商家后台登录凭证，由 **店铺管理** 配置；**不是** 会员 |

### 2.1 手机号注册（C 端 · 定稿）

| 规则 | 说明 |
|------|------|
| 注册方式 | **手机号 + 密码 + 确认密码**（C 端 `/api/member/register`；**无短信验证码**） |
| 登录方式 | **手机号或会员名称**（`user_name` / `memberCode`）+ 密码（C 端 `/api/member/login`；产品「会员 ID」即会员名称） |
| 平台侧 | **已实现**「添加会员」：`POST /agri/member`（手机号+密码，无需验证码）；列表仅展示 **member** 角色用户 |
| 与经营账号 | 商家开店填写的登录手机号 **无需** 在会员库已存在；两库 **不互相校验**（延续店铺 S6 精神） |

---

## 3. 功能结构

```text
会员管理（平台）
├── 会员列表（含高级检索）
├── 查看详情
│   ├── 基本信息
│   └── 收货信息
└── 查看订单（该会员历史订单）
    ├── 订单列表（含高级检索）
    └── 查看订单详情（只读）
```

---

## 4. 会员列表

### 4.1 列表字段（定稿 · 对齐草稿）

| 字段 | 说明 |
|------|------|
| 会员名称 | `memberCode`（库表 `sys_user.user_name`）；可与手机号脱敏组合展示 |
| 会员等级 | 字典值（tinyint）+ 展示文案；**无等级时为空** |
| 是否启用 | 开关或「是/否」 |
| 累计消费次数 | 非负整数 |
| 累计消费金额 | 金额，2 位小数 |
| 注册日期 | 日期时间 |
| 操作 | **查看详情**、**查看订单**（草稿两项核心操作） |

### 4.2 列表行为

- 默认展示 **未逻辑删除** 的会员（若采用逻辑删除；物理删除策略以订单审计要求为准）。
- 默认按 **注册日期降序**（最新在前）；若产品要求按累计消费排序，可配置默认排序。
- **是否启用** 可在列表直接切换时，须二次确认：「禁用后该会员将无法登录 C 端并无法下单」。

### 4.3 高级检索（定稿）

| 条件 | 说明 |
|------|------|
| 会员信息 | **会员名称、昵称或手机号** 模糊匹配（`keyword`） |

### 4.4 原型扩展能力（非草稿必选项 · 单独立项）

目录内原型截图另含：**余额、消费积分、会员标签、注册来源（如 H5）**、**添加会员**、**导入会员**、**批量改等级**、**账目明细** 等。  
**本期定稿以草稿 §1～3 为准**；上述能力纳入 **第 14 节非本期**，避免与已定稿供给链文档范围冲突。

---

## 5. 查看详情

### 5.1 入口

会员列表 → 操作 → **查看详情**。

### 5.2 基本信息（定稿）

| 字段 | 说明 |
|------|------|
| 会员名称 | `memberCode`（`sys_user.user_name`） |
| 昵称 | `nickName`（`sys_user.nick_name`） |
| 会员等级 | 当前等级（选填，无则展示空） |
| 手机号 | 完整或脱敏（平台端通常可查看完整，须权限控制） |
| 是否启用 | 当前状态 |
| 累计消费次数 / 金额 | 与列表一致，只读 |
| 注册日期 | 只读 |

原型「个人资料」另含：用户 ID、邮箱、性别、头像、登录密码修改等 —— 属 **C 端自助** 能力；平台详情 **至少** 展示上表；其余字段 **可选** 只读展示。

### 5.3 收货信息（定稿）

| 字段 | 说明 |
|------|------|
| 收货人 | 默认或最近使用收货人 |
| 联系方式 | 手机号等 |
| 收货地址 | 省市区 + 详细地址 |

- 若会员有多条地址簿，详情页 **列表展示** 全部有效地址；默认地址标「默认」。
- 平台端 **只读**；会员在 C 端维护地址。

### 5.4 详情页操作

| 操作 | 说明 |
|------|------|
| 查看订单 | 跳转或 Tab 进入 **第 6 节** 会员订单 |
| 返回 | 回到会员列表 |

---

## 6. 查看订单（会员维度）

### 6.1 入口

- 会员列表 → **查看订单**；或  
- 会员详情 → **查看订单**。

仅展示 **当前会员** 的订单；**不可** 查看其他会员订单。

### 6.2 订单列表字段（定稿 · 对齐草稿）

| 字段 | 说明 |
|------|------|
| 订单信息 | **订单编号**；**商品信息**（名称、规格等摘要）；**数量**；**单价**；**下单时间** |
| 订单金额 | 订单应付/实付（与订单模块口径一致） |
| 会员名称 | 当前会员（冗余展示便于核对） |
| 收货人信息 | 收货人、手机号、收货地址 |
| 物流/支付信息 | 摘要：支付方式、支付状态、物流公司/单号等（详情的见订单模块） |
| 订单状态 | 与订单模块一致：**待支付、待发货、已发货、已完成、已关闭、已删除** |
| 操作 | **查看详情**（只读） |

商品主图、店铺名称等：以《订单管理功能需求》v1.0.1 列表字段为准，会员侧 **可选展示** 子集。

### 6.3 订单高级检索（定稿）

支持组合筛选（草稿）：

| 条件 | 说明 |
|------|------|
| 订单编号 | 精确或模糊 |
| 商品名称 | 模糊 |
| 支付方式 | 下拉 |
| 支付状态 | 下拉 |
| 发货状态 | 下拉 |
| 收货人姓名 / 手机号 | 模糊 |
| 收货地址 | 模糊 |
| 物流公司 | 模糊 |
| 下单时间 | 起止日期 |

### 6.4 订单详情（只读）

| 规则 | 说明 |
|------|------|
| 权限 | 平台管理员可查看 **全部状态** 订单详情（含已关闭、已删除若订单模块有该态） |
| 操作边界 | **本模块不提供** 去发货、更新物流、到货确认、删除订单；须在 **订单管理** 执行 |
| 物流节点 | 若订单模块支持物流时间轴，详情 **只读展示** |

### 6.5 累计消费与列表一致性

| 项 | 定稿 |
|----|------|
| 统计口径 | 与《订单管理功能需求》v1.0.1 **§11**、**O11** 一致：**仅「已完成」** 订单计入次数与实付金额 |
| 不一致时 | 以订单模块统计服务为准；会员列表展示 **异步汇总** 或 T+0 刷新策略由技术实现，需求层要求 **最终一致** |

---

## 7. 是否启用（业务规则）

```text
平台：是否启用 = 否（建议二次确认）
    ↓
C 端：禁止登录（或登录后提示账号已禁用）
    ↓
C 端：禁止下单（含购物车、立即购买）
    ↓
已有订单：不自动关闭；履约按订单模块规则继续或人工处理
```

| 规则 | 说明 |
|------|------|
| 启用 → 禁用 | **不自动** 修改历史订单状态 |
| 禁用 → 启用 | 恢复登录与下单能力 |
| 与商户/店铺 | 商户冻结、店铺停业 **不影响** 会员启用状态 |

---

## 8. 与订单管理、C 端的协作流程

### 8.1 注册 → 下单 → 平台查看

```text
【C 端】手机号注册 → 完善资料/收货地址
    ↓
【C 端】选店选品 → 下单支付（须商品出售中、店铺开业等，见商品/店铺需求）
    ↓
【平台】订单管理 ── 发货、物流、完成/关闭
    ↓
【平台】会员管理 ── 列表看到累计消费更新；查看订单/详情
```

### 8.2 与商品、店铺需求衔接

| C 端场景 | 约束来源 |
|----------|----------|
| 商品不可售 | 商品管理 P15、店铺停业 P9 等 |
| 会员身份 | 须 **已注册且启用** |
| 会员价/等级价 | 若未来有，单独立项；本期草稿未要求 |

---

## 9. 业务规则汇总

| 编号 | 规则 |
|------|------|
| **M1** | 会员 = **C 端买家**；**不是** 店铺经营账号或商户主体 |
| **M2** | 会员采用 **手机号注册**；手机号在未删除会员中 **唯一** |
| **M3** | 平台本模块 **以查询、详情、会员订单只读** 为主（对齐草稿操作） |
| **M4** | **是否启用 = 否** 时，C 端 **禁止登录与下单** |
| **M5** | 累计消费次数/金额 **由订单模块汇总**；口径与订单定稿一致 |
| **M6** | 会员订单列表/详情 **不提供** 发货、删单等写操作（订单模块） |
| **M7** | 开店配置经营账号 **不校验** 是否已注册会员（与店铺 S6 一致） |
| **M8** | 商户/店铺/商品状态变更 **不自动** 改会员启用状态 |
| **M9** | 会员订单检索 **仅查当前会员** 数据 |
| **M10** | 平台详情、订单为 **只读**（启用状态切换除外） |
| **M11** | 列表高级检索至少支持 **会员名称、手机号** |
| **M12** | 会员订单高级检索字段 **不少于** 草稿所列项 |
| **M13** | 会员等级 **展示**；等级体系配置/自动升级 **非本期**（除非产品另定） |
| **M14** | 收货信息 **只读**；会员在 C 端维护 |
| **M15** | 禁用会员 **不自动** 取消或关闭进行中订单 |

---

## 10. 页面与交互要点

| 场景 | 要求 |
|------|------|
| 列表 | 手机号脱敏展示；启用开关危险操作须确认 |
| 详情 | 信息分区：基本 / 收货；入口明显「查看订单」 |
| 会员订单 | 与全平台订单管理 **UI 风格一致**；操作列仅「查看详情」 |
| 空数据 | 无会员/无订单时友好提示 |
| 权限 | 无会员菜单权限的角色不可进入 |

---

## 11. 与关联模块的协作流程（平台视角）

```text
供给链（已定稿）：商户入驻 → 开店 → 经营账号 → 分类/商品 → 平台审核
用户链（本模块）：C 端注册会员 → 下单 → 订单履约
交汇点：订单关联 member_id + shop_id + goods；会员管理只读订单；订单管理写履约
```

---

## 12. 草稿对照与修订说明

| 草稿条目 | 本文档处理 |
|----------|------------|
| 列表六字段 + 操作 | §4.1 |
| 高级检索会员名称/手机号 | §4.3 |
| 查看详情：基本 + 收货 | §5 |
| 查看订单：列表字段、检索、查看详情 | §6 |
| 手机号注册制 | §2.1 |
| 异常返回、技术栈 | **不纳入** |
| 原型：余额/积分/标签/导入/添加会员 | §4.4、§14 非本期 |
| 未写：与经营账号区分 | §1.3、M1/M7 定稿 |
| 未写：启用对 C 端影响 | §7、M4 |
| 未写：订单操作边界 | §6.4、M6 |

---

## 13. 非本期范围

| 项 | 说明 |
|----|------|
| 导入会员、批量打标签、批量改等级 | 原型有 |
| 余额、消费积分、账目明细 | 原型有 |
| 会员等级体系配置与自动升级 | 仅展示等级时不需要 |
| 会员订单的发货/物流/删单 | 订单管理模块 |
| 商家端查看会员 | 不做 |
| 商户列表「所属会员名称」 | 商户草稿曾有；商户 v1.3.1 已取消 |
| C 端完整注册/个人资料页需求 | 可另册《C 端用户中心需求》 |

---

*文档版本：v1.1（定稿）· v1.1：账号复用 `sys_user`；`member_id=user_id`；角色 **member**；平台添加会员与列表 member 角色过滤已纳入本期 · 关联《会员管理技术方案.md》v1.1、《会员管理测试用例.md》v1.1*
