【营销】满减送活动

满减送活动,主要由 yudao-module-promotion 后端模块的 reward 实现,支持减金额、减运费、送积分、送优惠券等等。

1. 表结构

省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段

CREATE TABLE `promotion_reward_activity` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动编号',
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '活动标题',
  `start_time` datetime NOT NULL COMMENT '开始时间',
  `end_time` datetime NOT NULL COMMENT '结束时间',
  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
  
  `status` tinyint NOT NULL DEFAULT '-1' COMMENT '活动状态',
  
  `product_scope` tinyint NOT NULL COMMENT '商品范围',
  `product_scope_values` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品范围编号的数组',
  
  `condition_type` tinyint NOT NULL DEFAULT '-1' COMMENT '条件类型',
  `rules` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '优惠规则的数组',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='满减送活动';

status 字段:活动状态,由 CommonStatusEnum 枚举,只有开启、禁用两个状态。禁用时,无法参与满减送活动。

product_scope 字段:商品范围,商品范围,由 PromotionProductScopeEnum 枚举,分成 3 种情况:

  • 1、通用券:全部商品
  • 2、商品券:指定商品,由 product_scope_values 字段指定商品编号的数组
  • 3、品类券:指定品类,由 product_scope_values 字段指定品类编号的数组

condition_type 字段:条件类型,由 PromotionConditionTypeEnum 枚举,分成 2 种情况:满 N 元、满 N 件。

rules 字段:优惠规则的数组,支持多层级,可配置优惠金额、包邮、赠送积分、优惠劵。

2. 管理后台

对应 [商城系统 -> 营销中心 -> 优惠活动 -> 满减送] 菜单,对应 yudao-ui-admin-vue3 项目的 src/views/mall/promotion/rewardActivity 目录。如下图所示:

管理后台

3. 移动端

3.1 商品详情

① 在 uni-app 商品列表页,会展示该商品参与的满减送活动的 1 条优惠信息。如下图所示:

商品列表

具体的前端逻辑,可见 yudao-mall-uniappsheep/components/s-goods-column/s-goods-column.vue 文件,搜 rewardActivity 关键字。

② 在 uni-app 商品详情页,会展示该商品参与的满减送活动的至多 3 条优惠信息。点击后,会弹出满减送的所有优惠明细,如下图所示:

商品详情

弹窗由 yudao-mall-uniappsheep/components/s-activity-pop/s-activity-pop.vue 组件实现。

3.2 活动详情

继续点击上图的满减送活动,会进入活动详情页,并展示参与该活动的商品列表,对应 yudao-mall-uniappyudao-mall-uniapp/pages/activity/index.vue 文件。如下图所示:

活动详情

3.3 价格计算

下单时,满减送的价格计算,后端由 TradeRewardActivityPriceCalculator 类实现。效果如下图所示:

下单确认页

弹窗由 yudao-mall-uniapp/sheep/components/s-discount-list/s-discount-list.vue 组件实现。

📄 来源: https://doc.iocoder.cn/mall/promotion-record/🕒 爬取时间: 2025-09-26 15:01:12