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

202 lines
6.6 KiB
Markdown

# 交易中心模块 (ruoyi-mall-trade)
## 模块简介
`ruoyi-mall-trade` 是商城系统的交易中心模块,负责交易流程的核心功能,包括购物车、订单、售后等。
## 功能特性
### 1. 购物车管理
- ✅ 添加/删除购物车
- ✅ 购物车数量修改
- ✅ 购物车选中状态管理
- ✅ 购物车详情查询
### 2. 订单管理
- ✅ 订单创建
- ✅ 订单查询(列表、详情)
- ✅ 订单取消
- ✅ 订单状态管理
- ✅ 订单支付集成
### 3. 售后管理 ✅
- ✅ 订单退款申请
- ✅ 退货申请
- ✅ 换货申请
- ✅ 售后审核(同意/拒绝)
- ✅ 售后状态跟踪
- ✅ 退货物流信息填写
- ✅ 商家确认收货
- ✅ 完成售后处理
- ✅ 取消售后申请
### 4. 订单评价 ✅
- ✅ 订单评价提交
- ✅ 评价列表查询(支持按订单、商品查询)
- ✅ 评价审核(通过/驳回)
- ✅ 评价回复(商家回复)
- ✅ 评价导出功能
### 5. 地址管理 ✅
- ✅ 收货地址CRUD操作
- ✅ 用户地址列表查询
- ✅ 默认地址查询
- ✅ 设置默认地址
- ✅ 地址导出功能(管理端)
## 数据库表
- `mall_cart` - 购物车表
- `mall_order` - 订单表
- `mall_order_item` - 订单明细表
- `mall_after_sale` - 售后申请表
- `mall_order_evaluate` - 订单评价表
- `mall_order_coupon` - 订单优惠券使用记录表
- `mall_address` - 收货地址表
详细表结构请参考:`script/sql/ry_mall.sql`
## 模块结构
```
org.dromara.mall.trade
├── controller
│ ├── admin // 管理端API
│ └── app // 用户端API
├── domain
│ ├── bo // 业务对象
│ └── vo // 视图对象
├── mapper // MyBatis Mapper
├── service // 业务逻辑层
│ └── impl
├── enums // 枚举类
└── config // 配置类
```
## 依赖模块
- `ruoyi-mall-product` - 商品中心模块
- `ruoyi-pay` - 支付中心模块
- `ruoyi-common-*` - 通用工具模块
## 业务流程
### 订单提交流程
1. 用户选择商品(从购物车或直接购买)
2. 调用订单提交接口
3. 系统创建订单和订单明细
4. 调用支付中心创建支付单
5. 返回支付参数给前端
6. 前端调起支付
7. 支付成功后,支付中心回调
8. 系统更新订单状态并扣减库存
## 模块结构
```
org.dromara.mall.trade
├── controller
│ ├── admin // 管理端API
│ │ ├── AdminMallAfterSaleController.java
│ │ ├── AdminMallOrderEvaluateController.java
│ │ └── AdminMallAddressController.java
│ └── app // 用户端API
│ ├── AppMallAfterSaleController.java
│ ├── AppMallOrderEvaluateController.java
│ └── AppMallAddressController.java
├── domain
│ ├── MallAfterSale.java
│ ├── MallOrderEvaluate.java
│ ├── MallOrderCoupon.java
│ ├── MallAddress.java
│ ├── bo // 业务对象
│ │ ├── MallAfterSaleBo.java
│ │ ├── MallOrderEvaluateBo.java
│ │ ├── MallOrderCouponBo.java
│ │ └── MallAddressBo.java
│ └── vo // 视图对象
│ ├── MallAfterSaleVo.java
│ ├── MallOrderEvaluateVo.java
│ ├── MallOrderCouponVo.java
│ └── MallAddressVo.java
├── mapper
│ ├── MallAfterSaleMapper.java
│ ├── MallOrderEvaluateMapper.java
│ ├── MallOrderCouponMapper.java
│ └── MallAddressMapper.java
├── service
│ ├── MallAfterSaleService.java
│ ├── MallOrderEvaluateService.java
│ ├── MallOrderCouponService.java
│ ├── MallAddressService.java
│ ├── SeckillOrderService.java
│ └── impl
│ ├── MallAfterSaleServiceImpl.java
│ ├── MallOrderEvaluateServiceImpl.java
│ ├── MallOrderCouponServiceImpl.java
│ ├── MallAddressServiceImpl.java
│ └── SeckillOrderServiceImpl.java
├── utils
│ └── CouponCalculator.java
└── config
└── MallTradeAutoConfiguration.java
```
## API接口
### 管理端接口
#### 售后申请管理 (`/mall/order/after-sale`)
- `GET /mall/order/after-sale/list` - 查询售后申请列表(分页)
- `GET /mall/order/after-sale/{id}` - 获取售后申请详情
- `DELETE /mall/order/after-sale/{ids}` - 删除售后申请
- `POST /mall/order/after-sale/export` - 导出售后申请列表
- `PUT /mall/order/after-sale/audit/{id}` - 审核售后申请(同意/拒绝)
- `PUT /mall/order/after-sale/receive/{id}` - 确认收货(商家确认收到退货)
- `PUT /mall/order/after-sale/complete/{id}` - 完成售后
#### 订单评价管理 (`/mall/order/evaluate`)
- `GET /mall/order/evaluate/list` - 查询订单评价列表(分页)
- `GET /mall/order/evaluate/{id}` - 获取订单评价详情
- `DELETE /mall/order/evaluate/{ids}` - 删除订单评价
- `POST /mall/order/evaluate/export` - 导出订单评价列表
- `PUT /mall/order/evaluate/audit/{id}` - 审核评价(通过/驳回)
- `PUT /mall/order/evaluate/reply/{id}` - 回复评价
### 移动端接口
#### 售后申请 (`/app/mall/order/after-sale`)
- `GET /app/mall/order/after-sale/list` - 查询售后申请列表
- `GET /app/mall/order/after-sale/order/{orderId}` - 根据订单ID查询售后申请列表
- `GET /app/mall/order/after-sale/{id}` - 获取售后申请详情
- `POST /app/mall/order/after-sale` - 新增售后申请(退款/退货/换货)
- `PUT /app/mall/order/after-sale/logistics/{id}` - 填写退货物流信息
- `PUT /app/mall/order/after-sale/cancel/{id}` - 取消售后申请
#### 订单评价 (`/app/mall/order/evaluate`)
- `GET /app/mall/order/evaluate/list` - 查询订单评价列表
- `GET /app/mall/order/evaluate/order/{orderId}` - 根据订单ID查询评价列表
- `GET /app/mall/order/evaluate/product/{productId}` - 根据商品ID查询评价列表(仅已审核)
- `GET /app/mall/order/evaluate/{id}` - 获取订单评价详情
- `POST /app/mall/order/evaluate` - 提交订单评价
#### 收货地址 (`/app/mall/address`)
- `GET /app/mall/address/list` - 查询收货地址列表
- `GET /app/mall/address/default` - 获取默认收货地址
- `GET /app/mall/address/{id}` - 获取收货地址详情
- `POST /app/mall/address` - 新增收货地址
- `PUT /app/mall/address` - 修改收货地址
- `DELETE /app/mall/address/{ids}` - 删除收货地址
- `PUT /app/mall/address/default/{id}` - 设置默认地址