砍价活动
这篇解决什么
砍价活动、砍价记录、助力记录存在哪。读完能对上底价 / 人数两个成功条件,以及订单类型 BARGAIN = 2。
默认端口 48080。开启见 商城功能设计。下单见 交易订单。
示意图:发起砍价写记录。好友助力写 promotion_bargain_help。成功后才能按砍后价下单。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 活动 | @RequestMapping("/promotion/bargain-activity") | ruoyi-office/yudao-module-mall/yudao-module-promotion-server/.../controller/admin/bargain/BargainActivityController.java |
| 记录 | /promotion/bargain-record | BargainRecordController |
| 助力 | /promotion/bargain-help | BargainHelpController |
| 活动表 | promotion_bargain_activity | BargainActivityDO |
| 记录表 | promotion_bargain_record | BargainRecordDO |
| 助力表 | promotion_bargain_help | BargainHelpDO |
| 管理端页 | 活动 / 记录 | ruoyi-office-vben/apps/web-antd/src/views/mall/promotion/bargain/ |
官方菜单:砍价商品 2311,砍价记录 2366。用户端有 activity / record / help 三套 App 接口。
同一 SPU 不能同时开两个启用中的砍价,报 BARGAIN_ACTIVITY_SPU_CONFLICTS。
字段
金额单位分。stock 是砍价库存,成功下单时扣。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
bargainFirstPrice | 起始价 | BargainActivityDO |
bargainMinPrice | 底价 | 同上 |
helpMaxCount | 需要多少人砍成功 | 同上 |
bargainCount | 同一人在本活动能帮砍几次 | 同上 |
randomMinPrice / randomMaxPrice | 每次随机砍价区间 | 同上 |
| 记录状态 | 1 砍价中,2 成功,3 失败 | BargainRecordStatusEnum |
成功条件二选一:砍到 bargainMinPrice,或助力人数到 helpMaxCount。到期未成功会打成失败。
订单写 bargainActivityId、bargainRecordId。没成功不要当普通单去改价。
帮砍次数是活动级
bargainCount = 1 时,C 收到 A、B 两条链接,只能帮其中一人。不要按「每个记录各砍一次」去改校验。
示意图:按记录状态枚举。助力金额落在 BargainHelpDO.reducePrice。
配置与操作
走 砍价活动 → 砍价商品(2311,/mall/promotion/bargain/activity)。填起始价、底价、helpMaxCount、bargainCount、随机砍价区间和砍价库存。记录在 2366。
成功条件:砍到 bargainMinPrice 或人数满。订单 type=2,没成功不要当普通单改价。bargainCount=1 时同一人在本活动只能帮一人。开启见 商城功能设计。

本系统截图:砍价商品。
