一、商品规格建模
1. 规格类型定义
- 支持基础规格(如重量、尺寸、颜色)和组合规格(如“净重500g±10%”)。
- 允许自定义规格名称(如“产地”“包装方式”)和可选值(如“国产”“进口”)。
2. SKU生成逻辑
- 通过规格组合动态生成唯一SKU(Stock Keeping Unit),例如:
- 商品:苹果
- 规格1:重量(500g/1kg)
- 规格2:产地(山东/陕西)
- 生成SKU:`APPLE-500G-SD`、`APPLE-1KG-SX`。
3. 规格关联关系
- 建立规格与商品的父子关系,支持多级规格(如“水果→苹果→红富士”)。
- 允许规格间互斥或依赖(如“买1kg送保鲜袋”需关联特定规格)。
二、库存与价格管理
1. 独立库存控制
- 每个SKU维护独立库存,避免规格混卖导致超卖。
- 支持动态库存同步(如采购入库后自动更新)。
2. 价格体系设计
- 基础价:按规格默认定价(如500g苹果10元)。
- 阶梯价:根据购买量浮动(如买2份打9折)。
- 促销价:支持限时特价、满减等规则。
3. 规格价差处理
- 允许不同规格间设置价差(如进口苹果比国产贵3元)。
- 支持按百分比或固定金额调整价格。
三、用户界面优化
1. 规格选择交互
- 移动端:采用步进器(Stepper)或下拉菜单选择规格。
- 网页端:支持多选框、颜色块或图片切换规格。
- 实时显示选中规格的价格、库存和预计送达时间。
2. 视觉反馈增强
- 高亮当前选中规格,禁用不可选选项(如缺货规格置灰)。
- 显示规格对比信息(如“500g约3个,1kg约6个”)。
3. 批量购买支持
- 允许用户一次性选择多个规格加入购物车。
- 提供“一键购买常用规格”功能(如保存用户历史选择)。
四、订单处理与履约
1. 订单拆分逻辑
- 若用户购买多个规格,系统自动拆分为多个子订单,分别扣减库存。
- 支持合并配送(如同一仓库的SKU合并发货)。
2. 缺货处理机制
- 实时检查库存,缺货时提示用户更换规格或等待补货。
- 支持部分发货(如优先发有货规格,缺货部分退款)。
3. 售后与退换货
- 允许按规格单独退换(如退回1kg苹果中的500g)。
- 记录规格退换原因,优化采购策略。
五、系统扩展性设计
1. 微服务架构
- 将商品、库存、价格、订单等模块拆分为独立服务,降低耦合度。
- 使用API网关统一管理规格查询、价格计算等接口。
2. 数据一致性保障
- 通过分布式事务(如Seata)或最终一致性(如消息队列)保证库存与订单同步。
- 缓存热门规格数据(如Redis),减少数据库压力。
3. 动态配置能力
- 支持运营人员通过后台配置规格模板、价格规则和促销活动。
- 提供A/B测试功能,优化规格展示效果。
六、技术实现示例
1. 数据库设计
```sql
-- 商品表
CREATE TABLE product (
id INT PRIMARY KEY,
name VARCHAR(100),
category_id INT
);
-- 规格表
CREATE TABLE specification (
id INT PRIMARY KEY,
product_id INT,
name VARCHAR(50), -- 如"重量"
type ENUM(weight, color, origin) -- 规格类型
);
-- 规格值表
CREATE TABLE spec_value (
id INT PRIMARY KEY,
spec_id INT,
value VARCHAR(50), -- 如"500g"
price_adjustment DECIMAL(10,2) -- 价格调整值
);
-- SKU表
CREATE TABLE sku (
id INT PRIMARY KEY,
product_id INT,
spec_value_ids VARCHAR(255), -- 规格值ID组合,如"1,3,5"
stock INT,
price DECIMAL(10,2)
);
```
2. 价格计算逻辑
```python
def calculate_price(product_id, selected_spec_values):
base_price = get_base_price(product_id)
adjustments = []
for spec_value_id in selected_spec_values:
adjustment = get_price_adjustment(spec_value_id)
adjustments.append(adjustment)
total_price = base_price + sum(adjustments)
return total_price
```
七、运营优化建议
1. 规格推荐策略
- 根据用户历史购买记录推荐常用规格。
- 显示“热门规格”标签,引导用户选择。
2. 损耗控制
- 对易损耗规格(如鲜切水果)设置更短的保质期预警。
- 动态调整缺货规格的补货优先级。
3. 数据分析
- 监控各规格的销量、退货率和毛利率。
- 识别低效规格(如长期滞销),优化选品。
通过以上设计,美团买菜系统可灵活支持多规格商品售卖,同时保障用户体验和运营效率。实际开发中需结合具体业务场景进行迭代优化。