限时折扣
这篇解决什么
限时改价活动存在哪、折扣挂在 SKU 还是 SPU。读完能对上 promotion_discount_activity 和 promotion_discount_product,以及同一商品同一时段只能进一个活动。
默认端口 48080。开启见 商城功能设计。商品见 商品 SPU 与 SKU。
示意图:活动有起止时间。商品行按 SKU 设减价或折扣。关闭后不能再开。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 活动 | @RequestMapping("/promotion/discount-activity") | ruoyi-office/yudao-module-mall/yudao-module-promotion-server/.../controller/admin/discount/DiscountActivityController.java |
| 活动表 | promotion_discount_activity | DiscountActivityDO |
| 商品行 | promotion_discount_product | DiscountProductDO |
| 管理端页 | 限时折扣 | ruoyi-office-vben/apps/web-antd/src/views/mall/promotion/discountActivity/ |
官方菜单:优惠活动目录 2390。限时折扣 2047。路由 /mall/promotion/discount-activity。
status 用 CommonStatusEnum。关闭后不允许再次开启。
字段
一个活动下多条商品。一个商品在重叠时间段只能属于一个限时折扣。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
startTime / endTime | 活动窗口 | DiscountActivityDO |
spuId / skuId | 打折到 SKU | DiscountProductDO |
discountType | 1 减金额,2 折扣 | PromotionDiscountTypeEnum |
discountPrice | 减多少,单位分 | 同上 |
discountPercent | 折扣,80 表示 8 折 | 同上 |
这是改价,不是发券。订单类型仍是普通单 TradeOrderTypeEnum.NORMAL = 0,优惠进 discountPrice。
和优惠券折扣不是一张表
券的折扣在 promotion_coupon。这里改的是活动价。不要把券模板 ID 填进 activityId。
按本仓库 DO 生成的 ER。
配置与操作
走 优惠活动 → 限时折扣(2047,/mall/promotion/youhui/discount-activity)。填活动窗口,再按 SKU 写减额或折扣(80 表示 8 折)。关闭后不能再开。同一 SKU 重叠时段只能属于一个限时折扣。
这是改价,不是发券。订单仍是普通单 type=0,优惠进 discountPrice。不要把券模板 ID 填进 activityId。开启见 商城功能设计。

本系统截图:限时折扣。
