134 lines
4.2 KiB
Markdown
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)` 来退还优惠券。
|