一、满减活动核心设计逻辑
1. 活动类型
- 阶梯满减:如满100减20,满200减50(提升客单价)
- 单品满减:指定商品满3件立减30元(适合清库存)
- 全场通用:全品类满150减30(通用性强)
- 限时满减:每日10:00-12:00满88减15(制造紧迫感)
2. 规则配置要点
- 生效时间:精确到分钟级(如2024-03-01 00:00:00至2024-03-07 23:59:59)
- 用户范围:可设置新客专享/会员专属/全量用户
- 商品范围:支持按分类(如水果、肉类)、标签(如进口商品)筛选
- 叠加规则:明确是否可与优惠券/积分抵扣同时使用
二、万象源码部署步骤(以Java+MySQL为例)
1. 环境准备
```bash
示例环境要求(根据实际源码调整)
JDK 1.8+
MySQL 5.7+
Maven 3.6+
Nginx 1.18+
```
2. 源码部署流程
1. 代码导入
```bash
git clone https://github.com/your-repo/wanxiang-mall.git
cd wanxiang-mall
mvn clean install
```
2. 数据库配置
- 导入`docs/sql/wanxiang_promotion.sql`初始化表结构
- 修改`application-dev.yml`中的数据库连接:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/wanxiang_mall?useSSL=false
username: root
password: your_password
```
3. 核心表说明
- `promotion_rule`:存储满减规则(满减金额、生效时间等)
- `promotion_goods`:关联活动与商品
- `user_promotion_record`:记录用户参与情况
4. 启动服务
```bash
java -jar target/wanxiang-mall-1.0.0.jar --spring.profiles.active=dev
```
3. 后台管理系统配置
1. 登录管理后台(默认账号:admin/123456)
2. 创建满减活动:
- 路径:营销中心 → 满减活动 → 新增活动
- 关键字段:
- 活动名称:春季生鲜特惠
- 活动类型:全场满减
- 规则设置:满128减25,满258减60
- 适用商品:选择"生鲜分类"
- 时间设置:2024-03-01至2024-03-07
3. 前端展示配置:
- 修改`src/views/promotion/index.vue`中的活动banner
- 配置首页活动入口图标(替换`public/images/promotion/`下文件)
三、关键功能实现代码片段
1. 满减计算逻辑(Spring Boot示例)
```java
@Service
public class PromotionService {
@Autowired
private PromotionRuleMapper ruleMapper;
public BigDecimal calculateDiscount(Long userId, BigDecimal orderAmount) {
// 获取用户可用的满减规则
List
rules = ruleMapper.selectActiveRules(userId, new Date());
// 按满减门槛降序排序
rules.sort((r1, r2) -> r2.getThreshold().compareTo(r1.getThreshold()));
for (PromotionRule rule : rules) {
if (orderAmount.compareTo(rule.getThreshold()) >= 0) {
return rule.getDiscount();
}
}
return BigDecimal.ZERO;
}
}
```
2. 前端活动标签展示(Vue示例)
```html
满{{activeRule.threshold}}减{{activeRule.discount}}
<script>
export default {
data() {
return {
activeRule: null
}
},
async created() {
const res = await this.$http.get(/api/promotion/current);
this.activeRule = res.data;
},
computed: {
showTag() {
return this.activeRule && this.activeRule.threshold > 0;
}
}
}
```
四、测试验证要点
1. 场景测试:
- 刚好满足满减门槛(如128元)
- 超过门槛但不足下一档(如130元)
- 多商品组合计算
- 活动过期时间验证
2. 边界条件:
- 退款后订单金额低于门槛时是否取消优惠
- 并发下单时的规则锁定机制
- 跨活动时间点的订单处理
五、优化建议
1. 性能优化:
- 对`promotion_rule`表按生效时间建立索引
- 使用Redis缓存当前有效活动规则
2. 用户体验:
- 在商品详情页实时显示"再买XX元可减YY元"
- 购物车页突出显示已满足的满减优惠
- 订单确认页用醒目颜色标注优惠金额
3. 数据监控:
- 跟踪活动参与率(参与用户/访问用户)
- 分析满减门槛对客单价的影响
- 监控规则计算接口的响应时间
通过以上步骤,您可以在1-2天内完成生鲜商城满减活动的完整部署。建议先在测试环境验证所有场景,再正式上线。如需更复杂的规则(如按重量满减、按品类组合满减),可在此基础上扩展规则引擎模块。