Files
2026-02-22 12:12:02 +08:00

134 lines
4.2 KiB
Markdown

# 优惠券中心模块 (ruoyi-mall-coupon)
## 模块简介
`ruoyi-mall-coupon` 是商城系统的优惠券中心模块,提供独立的优惠券服务,支持发券、核销、过期处理等功能。
## 功能特性
### 1. 优惠券管理 ✅
- ✅ 优惠券CRUD操作
- ✅ 优惠券类型管理(满减、折扣、现金)
- ✅ 优惠券发放规则配置
- ✅ 优惠券有效期管理
- ✅ 优惠券状态管理(启用/禁用)
- ✅ 优惠券导出功能
### 2. 用户优惠券 ✅
- ✅ 用户领券
- ✅ 用户优惠券列表查询
- ✅ 优惠券使用(订单结算时调用)
- ✅ 优惠券退还(订单取消时调用)
- ✅ 优惠券过期处理(定时任务)✅
### 3. 优惠券统计
- [ ] 发放统计(可在管理端通过列表查询实现)
- [ ] 使用统计(可在管理端通过列表查询实现)
- [ ] 核销统计(可在管理端通过列表查询实现)
## 数据库表
- `mall_coupon` - 优惠券表
- `mall_coupon_user` - 用户优惠券表
详细表结构请参考:`script/sql/ry_mall.sql`
## 模块结构
```
org.dromara.mall.coupon
├── controller
│ ├── admin // 管理端API
│ │ ├── AdminMallCouponController.java
│ │ └── AdminMallCouponUserController.java
│ └── app // 用户端API
│ ├── AppMallCouponController.java
│ └── AppMallCouponUserController.java
├── domain
│ ├── MallCoupon.java
│ ├── MallCouponUser.java
│ ├── bo // 业务对象
│ │ ├── MallCouponBo.java
│ │ └── MallCouponUserBo.java
│ └── vo // 视图对象
│ ├── MallCouponVo.java
│ └── MallCouponUserVo.java
├── mapper
│ ├── MallCouponMapper.java
│ └── MallCouponUserMapper.java
├── service
│ ├── MallCouponService.java
│ ├── MallCouponUserService.java
│ └── impl
│ ├── MallCouponServiceImpl.java
│ └── MallCouponUserServiceImpl.java
├── job // 定时任务
│ └── MallCouponJob.java
└── config
└── MallCouponAutoConfiguration.java
```
## API接口
### 管理端接口
#### 优惠券管理 (`/mall/coupon`)
- `GET /mall/coupon/list` - 查询优惠券列表(分页)
- `GET /mall/coupon/{id}` - 获取优惠券详情
- `POST /mall/coupon` - 新增优惠券
- `PUT /mall/coupon` - 修改优惠券
- `DELETE /mall/coupon/{ids}` - 删除优惠券
- `POST /mall/coupon/export` - 导出优惠券列表
- `PUT /mall/coupon/changeStatus/{id}` - 启用/禁用优惠券
#### 用户优惠券管理 (`/mall/coupon/user`)
- `GET /mall/coupon/user/list` - 查询用户优惠券列表(分页)
- `GET /mall/coupon/user/{id}` - 获取用户优惠券详情
- `DELETE /mall/coupon/user/{ids}` - 删除用户优惠券
- `POST /mall/coupon/user/export` - 导出用户优惠券列表
### 移动端接口
#### 优惠券 (`/app/mall/coupon`)
- `GET /app/mall/coupon/available/list` - 查询可领取的优惠券列表
- `GET /app/mall/coupon/{id}` - 获取优惠券详情
#### 用户优惠券 (`/app/mall/coupon/user`)
- `GET /app/mall/coupon/user/list` - 查询用户优惠券列表
- `GET /app/mall/coupon/user/available/list` - 查询用户可用优惠券列表(未使用且未过期)
- `GET /app/mall/coupon/user/{id}` - 获取用户优惠券详情
- `POST /app/mall/coupon/user/receive/{couponId}` - 领取优惠券
## 优惠券类型说明
- **0 - 满减券**: 需要设置优惠金额和使用门槛
- **1 - 折扣券**: 需要设置折扣率(百分比)和使用门槛
- **2 - 现金券**: 需要设置优惠金额,无使用门槛
## 依赖模块
- `ruoyi-common-*` - 通用工具模块
- `ruoyi-common-excel` - Excel导出功能
- `ruoyi-common-satoken` - 用户身份认证
## 待实现功能
- [ ] 优惠券统计功能(可在管理端通过列表查询和筛选实现)
## 使用说明
### 订单结算时使用优惠券
在订单提交时,可以调用 `MallCouponUserService.useCoupon(couponUserId, orderId)` 来使用优惠券。
### 订单取消时退还优惠券
在订单取消时,可以调用 `MallCouponUserService.returnCoupon(couponUserId)` 来退还优惠券。