本文档描述了 Mall 电商系统 mall-portal 模块中的商品收藏和品牌关注功能。这些功能允许会员(注册用户)
这些个性化功能通过允许会员维护他们喜欢的商品和品牌列表以供将来参考,从而增强了用户体验。
有关会员注册和认证的信息,请参阅 会员服务。
来源
商品收藏 & 关注系统包含两个并行的子系统:
两个子系统都遵循相似的架构模式,使用 MongoDB 进行数据存储。
来源
商品收藏功能允许会员维护一个收藏的商品列表。
MemberProductCollection 类以文档形式存储在 MongoDB 中,结构如下:
| 字段 | 类型 | 描述 | 索引 |
|---|---|---|---|
| id | 字符串 | 文档 ID | 是(主键) |
| memberId | 长期 | 会员 ID | 是 |
| memberNickname | 字符串 | 会员昵称 | 否 |
| memberIcon | 字符串 | 会员头像 URL | 否 |
| productId | 长期 | 商品 ID | 是 |
| productName | 字符串 | 商品名称 | 否 |
| productSubTitle | 字符串 | 商品副标题 | 否 |
| productPrice | 字符串 | 商品价格 | 否 |
| productPic | 字符串 | 商品图片 URL | 否 |
MemberProductCollectionController 提供以下端点:
| 端点 | 方法 | 描述 |
|---|---|---|
| /member/productCollection/add | POST | 将商品添加到收藏 |
| /member/productCollection/delete | POST | 从收藏中移除商品 |
| /member/productCollection/list | GET | 列出收藏的商品(带分页) |
| /member/productCollection/detail | GET | 获取收藏商品的详情 |
| /member/productCollection/clear | POST | 清空所有收藏的商品 |
来源
来源
品牌关注功能允许会员关注他们感兴趣的品牌。
MemberBrandAttention 类以文档形式存储在 MongoDB 中,结构如下:
| 字段 | 类型 | 描述 | 索引 |
|---|---|---|---|
| id | 字符串 | 文档 ID | 是(主键) |
| memberId | 长期 | 会员 ID | 是 |
| memberNickname | 字符串 | 会员昵称 | 否 |
| memberIcon | 字符串 | 会员头像 URL | 否 |
| brandId | 长期 | 品牌 ID | 是 |
| brandName | 字符串 | 品牌名称 | 否 |
| brandLogo | 字符串 | 品牌 Logo URL | 否 |
| brandCity | 字符串 | 品牌所在城市 | 否 |
| createTime | 日期 | 关注创建时间 | 否 |
来源
MemberAttentionController 提供以下端点:
| 端点 | 方法 | 描述 |
|---|---|---|
| /member/attention/add | POST | 添加品牌关注 |
| /member/attention/delete | POST | 移除品牌关注 |
| /member/attention/list | GET | 列出品牌关注(带分页) |
| /member/attention/detail | GET | 获取品牌关注的详情 |
| /member/attention/clear | POST | 清空所有品牌关注 |
来源
来源
商品收藏 & 关注系统与 Mall 电商系统的其他几个组件集成:
商品收藏和品牌关注都使用 MongoDB 进行数据存储,并利用 Spring Data MongoDB 仓库。
两个子系统都从 UmsMemberService 获取当前已认证的会员,以便将收藏和关注关联到相应的会员。
在将商品添加到收藏或关注品牌时,系统可以选择性地检索其他信息:
PmsProductMapper 获取。PmsBrandMapper 获取。此行为由 mongo.insert.sqlEnable 配置属性控制。启用时,通过从 MySQL 获取额外数据,确保 MongoDB 文档包含全面的信息。
来源
商品收藏和品牌关注都通过 Spring Data 的 Pageable 接口支持分页。
两个实现都包含基本验证:
来源