- 添加东南亚地址扩展字段到CreateCustomerOrderRequestDTO - 在CustomerOrder实体类中新增详细地址字段和特殊地址字段JSON存储 - 实现CustomerOrderServiceImpl中地址字段的存储和转换逻辑 - 集成BaiduTranslatorUtils实现订单内容自动翻译功能 - 在CustomerOrderResponseDTO中添加特殊地址字段Map格式支持 - 配置百度翻译API相关参数到application-dev.yml - 移除过时的架构文档和配置说明文件
3.8 KiB
3.8 KiB
MT Pay - 支付系统
项目简介
面向东南亚地区的电商支付系统,支持PayPal支付、商品管理、订单管理、货币转换等功能。
功能特性
- ✅ PayPal支付集成(创建订单、捕获支付、Webhook处理)
- ✅ 商品管理(商品、SKU、商品链接)
- ✅ 客户订单管理(支持东南亚地址格式)
- ✅ 货币转换(实时汇率,支持多币种)
- ✅ 百度翻译集成(商品名称、SKU名称自动翻译)
- ✅ 订单状态管理
- ✅ 支付记录管理
技术栈
- Spring Boot 4.0.0
- MyBatis-Plus
- MySQL 5.7+
- Jackson (JSON处理)
- Lombok
- RestTemplate
快速开始
1. 数据库配置
执行数据库脚本(按顺序):
-- 1. 商品相关表
source database/customer_order_schema.sql;
-- 2. 货币转换字段
source database/customer_order_currency_update.sql;
-- 3. 地址字段(混合方案)
source database/customer_order_address_optimized.sql;
2. 配置文件
编辑 src/main/resources/application-dev.yml:
- 数据库连接信息
- PayPal API凭证(Client ID、Client Secret)
- 百度翻译配置(App ID、Security Key)
- 阿里云OSS配置
3. 启动项目
mvn spring-boot:run
或
mvn clean package
java -jar target/mt-pay-0.0.1-SNAPSHOT.jar
4. 访问地址
- 后端API: http://localhost:8082/api
- Druid监控: http://localhost:8082/druid
- 前端地址: http://localhost:3000
核心API
商品管理
GET /api/product/{id}- 获取商品详情GET /api/product/link/{linkCode}- 通过链接码获取商品POST /api/product- 创建商品
订单管理
POST /api/order- 创建客户订单GET /api/order/{orderNo}- 获取订单详情POST /api/order/calculate-currency-conversion- 计算货币转换
PayPal支付
POST /api/paypal/order- 创建PayPal订单POST /api/paypal/capture- 捕获支付POST /api/paypal/webhook- Webhook回调
项目结构
com.mtkj.mtpay/
├── config/ # 配置类(PayPal、百度翻译、数据源等)
├── controller/ # REST控制器
├── dto/ # 数据传输对象
│ ├── request/ # 请求DTO
│ └── response/ # 响应DTO
├── entity/ # 实体类
├── exception/ # 异常处理
├── mapper/ # MyBatis Mapper
├── service/ # 业务服务层
│ └── impl/ # 服务实现
└── util/ # 工具类
核心服务
- ProductService: 商品管理服务
- CustomerOrderService: 客户订单服务
- PayPalService: PayPal支付服务
- PayPalWebhookService: PayPal Webhook处理服务
- ExchangeRateService: 汇率转换服务
- BaiduTranslatorUtils: 百度翻译工具
配置说明
PayPal配置
paypal:
client-id: your-client-id
client-secret: your-client-secret
mode: sandbox # sandbox 或 production
enabled: true
百度翻译配置
baidu:
translator:
app-id: your-app-id
securityKey: your-security-key
transApiHost: https://fanyi-api.baidu.com/api/trans/vip/translate
数据库表
mt_product- 商品表mt_product_sku- SKU表mt_product_link- 商品链接表customer_order- 客户订单表payment_order- 支付订单表payment_record- 支付记录表
地址字段设计
采用混合方案:
- 基础字段(独立列):国家、城市、州/省、邮编、详细地址1/2
- 特殊字段(JSON存储):各国特殊字段(组屋号、Barangay、泰文地址等)
详见:database/customer_order_address_optimized.sql
相关文档
SYSTEM_ARCHITECTURE.md- 系统架构文档../PAYPAL_WEBHOOK_GUIDE.md- PayPal Webhook配置指南../PAYPAL_TEST_ACCOUNT.md- PayPal测试账号说明
许可证
MIT