# trading-platform **Repository Path**: sailor1/trading-platform ## Basic Information - **Project Name**: trading-platform - **Description**: trading platform - **Primary Language**: Java - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-18 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # trading-platform ## 介绍 商品交易平台,提供商品交易服务 ### 题目 - 2 用户下单接口 在customer-center项目 POST http://localhost:7010/order - 3 用户充值接口 在customer-center项目 POST http://localhost:7010/customer/recharge - 4 添加商品库存接口 在merchant-center项目 POST http://localhost:7020/inventory/increaseQuantity - 5.1 核对订单与支付记录,在customer-center项目 CheckService 类,发现状态不一致时会重发mq消息,重试补偿 - 5.2 核对订单与库存 商户收款记录,在merchant-center项目 CheckService 类,生成 merchant_daily_report 表,统计每日订单金额,订单商品数量,发货商品数量,商户账户余额 ### 系统功能 #### 1 用户服务 - 创建用户 - 向账户充值 - 下单 #### 2 商家服务 - 添加库存 #### 3 核对 - 核对订单与库存 - 核对订单与商户账户流水 ### 系统设计 #### 主要业务实体: - 买方:用户 Customer ,订单 Orders 和 订单行详情 OrdersDetail - 卖方:商户 Merchant ,商品 Product,库存 Inventory, 库存变化记录InventoryRecord,商户账户流水 AccountRecord #### 核心流程 - 模拟简化的下单流程如下 - 创建订单 -> 支付 -> 订单确认 -> 扣减库存 -> 商户账户结算 - 使用最终一致模式 - 每个环节使用本地数据库事务完成业务逻辑,事务内最后一步是发送MQ消息,下一环节接收MQ消息,完成业务逻辑同样发送消息,驱动业务流程继续执行 #### 软件架构 - 采用微服务架构风格 - 客户中心 customer-center - 商户中心 merchant-center #### 技术栈 - Java 21, Spring Boot 3, Spring Cloud, Spring Cloud Alibaba, OpenFeign - ORM框架 MyBatis - 数据库 MySQL 8 - 消息队列 Apache RocketMQ - 注册中心 Nacos ### 部署 - 安装启动 Nacos - 安装启动 MySql 8.0 - 初始化数据库 customer-center/doc/sql/v1.0/1-customer.sql - 初始化数据库 merchant-center/doc/sql/v1.0/2-merchant.sql - 安装启动 Apache RocketMQ - 配置 customer-center 项目,更新中间件ip 密码,启动 - 配置 merchant-center 项目,更新中间件ip 密码,启动 - 配置 gateway 项目,更新中间件ip 密码,启动