# 交易中心模块 (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}` - 设置默认地址
