一、模块概述 价格管理模块是生鲜电商系统的核心功能之一,负责处理商品定价、促销活动、价格调整等业务逻辑。针对生鲜行业特点,该模块需要支持动态定价、区域定价、多级价格体系等功能。 二、核心功能设计 1.基础价格管理 -商品基准价设置:支持按SKU设置标准采购价、成本价、建议
一、模块概述
价格管理模块是生鲜电商系统的核心功能之一,负责处理商品定价、促销活动、价格调整等业务逻辑。针对生鲜行业特点,该模块需要支持动态定价、区域定价、多级价格体系等功能。
二、核心功能设计
1. 基础价格管理
- 商品基准价设置:支持按SKU设置标准采购价、成本价、建议零售价
- 价格有效期:可设置价格生效和失效时间
- 价格单位:支持按重量(kg/g)、按件、按包装等多种计量单位
- 价格精度:根据生鲜品类设置不同的价格小数位数(如肉类精确到分,蔬菜精确到角)
2. 动态定价机制
- 市场价联动:对接第三方市场价格数据源,自动调整建议售价
- 库存影响定价:当库存低于阈值时自动触发涨价策略
- 新鲜度定价:根据商品保质期剩余时间动态调整价格
- 时段定价:支持早晚市不同价格策略
3. 促销管理
- 满减活动:支持满额减、满件减等多种形式
- 折扣活动:按商品、品类或全店设置折扣
- 买赠活动:买A送B、买多件优惠等
- 限时特价:设置特定时间段内的优惠价格
- 会员专享价:不同会员等级享受不同价格
4. 区域定价
- 地理围栏定价:根据收货地址所在区域设置不同价格
- 物流成本加成:自动计算并添加区域物流成本到售价中
- 区域促销:针对特定区域开展独立促销活动
5. 价格审批流程
- 多级审批:设置不同金额区间的审批流程
- 变更记录:完整记录每次价格调整的操作人、时间和变更内容
- 版本对比:支持不同版本价格表的对比查看
三、技术实现方案
1. 数据库设计
```sql
-- 商品价格主表
CREATE TABLE product_price (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
product_sku_id BIGINT NOT NULL,
base_price DECIMAL(10,2) NOT NULL,
cost_price DECIMAL(10,2) NOT NULL,
market_price DECIMAL(10,2),
currency VARCHAR(3) DEFAULT CNY,
price_type TINYINT NOT NULL COMMENT 1-基准价 2-促销价 3-会员价,
status TINYINT DEFAULT 1 COMMENT 0-无效 1-有效,
create_time DATETIME NOT NULL,
update_time DATETIME NOT NULL,
operator_id BIGINT NOT NULL
);
-- 价格规则表
CREATE TABLE price_rule (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
rule_name VARCHAR(100) NOT NULL,
rule_type TINYINT NOT NULL COMMENT 1-满减 2-折扣 3-买赠,
start_time DATETIME NOT NULL,
end_time DATETIME NOT NULL,
priority INT DEFAULT 0,
status TINYINT DEFAULT 1,
create_time DATETIME NOT NULL
);
-- 价格规则详情表
CREATE TABLE price_rule_detail (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
rule_id BIGINT NOT NULL,
product_id BIGINT,
category_id BIGINT,
condition_value DECIMAL(10,2),
discount_value DECIMAL(10,2),
gift_product_id BIGINT,
apply_range TINYINT NOT NULL COMMENT 1-指定商品 2-指定品类 3-全店
);
-- 区域价格表
CREATE TABLE region_price (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
product_sku_id BIGINT NOT NULL,
region_code VARCHAR(20) NOT NULL,
region_price DECIMAL(10,2) NOT NULL,
logistics_cost DECIMAL(10,2) NOT NULL,
effective_date DATE NOT NULL,
expiry_date DATE NOT NULL
);
```
2. 核心服务实现
```java
// 价格计算服务接口
public interface PriceCalculationService {
/
* 计算商品最终价格
* @param skuId 商品SKU ID
* @param regionCode 区域编码
* @param quantity 购买数量
* @param customerId 客户ID(用于会员价)
* @param promotionCode 促销码
* @return 价格计算结果
*/
PriceCalculationResult calculatePrice(Long skuId, String regionCode,
Integer quantity, Long customerId,
String promotionCode);
/
* 获取适用促销规则
*/
List
getApplicablePromotions(Long customerId,
Map cartItems);
}
// 价格计算结果
public class PriceCalculationResult {
private BigDecimal finalPrice;
private BigDecimal originalPrice;
private BigDecimal discountAmount;
private List appliedPromotions;
private String priceExplain; // 价格构成说明
// getters and setters
}
// 动态定价实现示例
public class DynamicPricingEngine {
public BigDecimal calculateDynamicPrice(ProductSKU sku,
Inventory inventory,
MarketPriceData marketData) {
BigDecimal basePrice = sku.getBasePrice();
// 1. 根据库存调整
if (inventory.getStock() < inventory.getLowStockThreshold()) {
basePrice = basePrice.multiply(BigDecimal.valueOf(1.1)); // 库存低时涨价10%
}
// 2. 根据市场价调整
if (marketData != null) {
BigDecimal marketAvgPrice = marketData.getAveragePrice();
if (basePrice.compareTo(marketAvgPrice) > 0) {
// 如果高于市场均价,适当下调
basePrice = basePrice.multiply(BigDecimal.valueOf(0.95));
}
}
// 3. 根据新鲜度调整(假设有新鲜度评分0-1)
if (sku.getFreshnessScore() != null) {
double score = sku.getFreshnessScore();
basePrice = basePrice.multiply(BigDecimal.valueOf(score));
}
return basePrice.setScale(2, RoundingMode.HALF_UP);
}
}
```
3. 前端交互设计
价格管理后台界面要素:
- 商品价格列表视图(支持按品类、供应商、状态筛选)
- 批量价格调整工具
- 价格日历视图(展示价格历史和未来变更)
- 促销活动配置向导
- 区域价格差异对比图
价格展示优化:
- 移动端显示原价与现价对比(划线价效果)
- 促销标签突出显示(限时、特惠等)
- 价格构成说明(如"含5元配送费")
- 会员价与非会员价对比提示
四、生鲜行业特殊考虑
1. 损耗成本计算:将预计损耗率纳入成本计算
```java
public BigDecimal calculateCostWithShrinkage(BigDecimal purchasePrice,
double shrinkageRate) {
BigDecimal shrinkageFactor = BigDecimal.valueOf(1 / (1 - shrinkageRate));
return purchasePrice.multiply(shrinkageFactor);
}
```
2. 季节性价格波动:建立季节性价格系数表
3. 包装规格影响:支持不同包装规格(如散装、预包装)的不同定价策略
4. 品质分级定价:同一商品不同品质等级(如A级、B级)的不同价格
五、实施路线图
1. 第一阶段(4周):
- 基础价格管理功能
- 简单促销活动支持
- 价格审批流程
2. 第二阶段(6周):
- 动态定价引擎
- 区域定价系统
- 会员专享价体系
3. 第三阶段(4周):
- 高级促销组合
- 价格预测与优化
- 与供应链系统集成
六、测试与验证
1. 单元测试:重点测试价格计算逻辑的各种边界条件
2. 集成测试:验证与订单系统、库存系统的交互
3. A/B测试:对比不同定价策略对销量和利润的影响
4. 压力测试:模拟大促期间的价格计算性能
七、运维监控
1. 价格异常监控:实时监测价格突增/突降情况
2. 审计日志:完整记录所有价格变更操作
3. 缓存策略:对热门商品价格进行多级缓存
4. 回滚机制:支持价格调整的快速回滚
通过以上方案实现的价格管理模块,能够满足生鲜电商行业复杂多变的定价需求,同时保证系统的高可用性和数据准确性。