优惠券
这篇解决什么
券模板和已领券存在哪、怎么发、下单怎么扣。读完能对上 promotion_coupon_template 和会员手里的 promotion_coupon。
默认端口 48080。开启见 商城功能设计。下单见 交易订单。
示意图:模板是规则。用户领取或后台发放后生成券。核销写订单 couponId / couponPrice。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 模板 | @RequestMapping("/promotion/coupon-template") | ruoyi-office/yudao-module-mall/yudao-module-promotion-server/.../controller/admin/coupon/CouponTemplateController.java |
| 已领券 | /promotion/coupon | CouponController |
| 后台发券 | POST /promotion/coupon/send | 同上 |
| 用户端 | /promotion/coupon、/coupon-template | controller/app/coupon/ |
| 模板表 | promotion_coupon_template | CouponTemplateDO |
| 券表 | promotion_coupon | CouponDO |
| 管理端页 | 模板 / 领取记录 | ruoyi-office-vben/apps/web-antd/src/views/mall/promotion/coupon/ |
官方菜单:优惠券目录 2365。优惠券列表(模板)2032,领取记录 2038。
规则
金额单位分。totalCount / takeLimitCount 为 -1 表示不限制。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
takeType | 1 直接领,2 指定发放,3 新人券 | CouponTakeTypeEnum |
validityType | 1 固定日期,2 领取后 N 天 | CouponTemplateValidityTypeEnum |
usePrice | 满多少可用,0 不限 | CouponTemplateDO |
productScope | 1 全部,2 指定 SPU,3 指定分类 | PromotionProductScopeEnum |
discountType | 1 减金额,2 折扣 | PromotionDiscountTypeEnum |
| 券状态 | 1 未用,2 已用,3 过期 | CouponStatusEnum |
折扣百分比存 80 表示 8 折。discountLimitPrice 只在折扣券上封顶。
满减送也能赠券
满减送规则里的 giveCouponTemplateCounts 在支付成功后再发。券本身仍落 promotion_coupon。
按本仓库 DO 生成的 ER。userId 是会员。
配置与操作
走 营销中心 → 优惠券列表(2032,/mall/promotion/coupon/template)建模板:takeType、discountType、usePrice、productScope、有效期。totalCount / takeLimitCount 为 -1 不限制。指定发放用 POST /promotion/coupon/send。领取记录在 2038 /mall/promotion/coupon/list。
下单核销写订单 couponId / couponPrice。满减送赠券支付成功后再落 promotion_coupon。金额单位分。开启见 商城功能设计。

本系统截图:券模板。

本系统截图:领取记录。
