一、需求分析 针对川味冻品行业特点,批量价格调整功能需要满足以下核心需求: 1.支持按品类、品牌、规格等多维度筛选商品 2.支持多种价格调整策略(固定金额调整、百分比调整、阶梯定价等) 3.支持价格调整的预览和确认机制 4.记录完整的价格调整历史 5.考虑冻品行业的特殊属性(
一、需求分析
针对川味冻品行业特点,批量价格调整功能需要满足以下核心需求:
1. 支持按品类、品牌、规格等多维度筛选商品
2. 支持多种价格调整策略(固定金额调整、百分比调整、阶梯定价等)
3. 支持价格调整的预览和确认机制
4. 记录完整的价格调整历史
5. 考虑冻品行业的特殊属性(如保质期、批次等)
二、系统架构设计
1. 数据库设计
```sql
-- 商品表扩展
ALTER TABLE products ADD COLUMN is_frozen TINYINT(1) DEFAULT 0 COMMENT 是否冻品;
ALTER TABLE products ADD COLUMN frozen_type VARCHAR(50) COMMENT 冻品类型;
ALTER TABLE products ADD COLUMN production_date DATE COMMENT 生产日期;
ALTER TABLE products ADD COLUMN shelf_life INT COMMENT 保质期(天);
-- 价格调整记录表
CREATE TABLE price_adjustment_logs (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
adjustment_name VARCHAR(100) NOT NULL COMMENT 调整名称,
adjustment_type TINYINT NOT NULL COMMENT 调整类型(1:固定金额,2:百分比,3:阶梯),
adjustment_value DECIMAL(10,2) NOT NULL COMMENT 调整值,
filter_conditions TEXT COMMENT 筛选条件JSON,
operator_id BIGINT NOT NULL COMMENT 操作人ID,
operator_name VARCHAR(50) NOT NULL COMMENT 操作人姓名,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,
status TINYINT NOT NULL DEFAULT 0 COMMENT 状态(0:草稿,1:已执行,2:已取消)
);
-- 价格调整明细表
CREATE TABLE price_adjustment_items (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
log_id BIGINT NOT NULL COMMENT 调整记录ID,
product_id BIGINT NOT NULL COMMENT 商品ID,
original_price DECIMAL(10,2) NOT NULL COMMENT 原价格,
adjusted_price DECIMAL(10,2) NOT NULL COMMENT 调整后价格,
adjustment_amount DECIMAL(10,2) NOT NULL COMMENT 调整金额,
FOREIGN KEY (log_id) REFERENCES price_adjustment_logs(id)
);
```
2. 后端服务设计
核心接口
1. 获取筛选条件选项
```java
@GetMapping("/api/price-adjust/filter-options")
public ResponseEntity