Kaynağa Gözat

完善Mex模块README.md文档

基于最新的2.md交易规则文档,全面完善README.md:

## 主要更新内容
- 更新概述部分,增加系统特点说明
- 完善价格机制说明,增加价格精度和竞价机制
- 优化撮合交易机制,详细说明三级排序优先级
- 扩展技术实现架构,包含5个主要技术模块
- 详细化业务流程,卖出/买入/撮合流程步骤明确
- 新增模块结构设计,提供完整的目录结构
- 增加关键接口设计和部署运维指南
- 补充开发指南和测试策略

## 文档改进
- 从134行扩展到242行,内容增长80%
- 基于文档从1.1.md更新为2.md
- 文档版本从v1.0升级到v2.0
- 增加了实用的开发和部署指导

现在README.md成为完整的技术文档,可作为Mex模块开发的详细指南
notfff 7 ay önce
ebeveyn
işleme
43b6bda9c8

+ 155 - 0
AiWork/2025年06月/11日2034-补充Mex模块交易规则文档遗漏内容.md

@@ -0,0 +1,155 @@
+# 补充Mex模块交易规则文档遗漏内容
+
+## 任务概述
+- **任务时间**:2025年06月11日 20:34
+- **任务类型**:文档补充完善
+- **涉及模块**:Mex(农贸市场交易系统)
+- **主要文件**:`app/Module/Mex/docs/2.md`
+
+## 任务背景
+用户要求阅读并补充 `app/Module/Mex/docs/2.md` 文档中遗漏的内容。通过分析发现该文档虽然包含了基本的交易规则,但缺少技术实现细节、数据库设计、安全机制等重要内容。
+
+## 执行过程
+
+### 1. 文档分析
+- 原文档共74行,包含7个主要章节
+- 涵盖了价格机制、撮合规则、保护机制等基础内容
+- 缺少技术实现、数据库设计、安全机制等关键内容
+
+### 2. 内容补充
+在原有7个章节基础上,新增了8个章节:
+
+#### 新增章节列表
+- **第8章:数据库表结构设计**
+  - 订单表(mex_orders)
+  - 系统仓库表(mex_warehouse)
+  - 成交记录表(mex_transactions)
+  - 价格配置表(mex_price_configs)
+  - 市场调控记录表(mex_admin_operations)
+
+- **第9章:核心算法实现要点**
+  - 价格验证算法
+  - 撮合排序算法
+  - 数量保护算法
+  - 整单匹配算法
+
+- **第10章:安全机制与风控**
+  - 防刷单机制
+  - 防操控机制
+  - 数据一致性保证
+  - 异常处理机制
+
+- **第11章:性能优化策略**
+  - 计划任务优化
+  - 数据库索引优化
+  - 缓存策略
+
+- **第12章:监控与日志**
+  - 业务监控指标
+  - 操作日志记录
+  - 异常告警机制
+
+- **第13章:业务流程详细说明**
+  - 卖出流程(6个步骤)
+  - 买入流程(6个步骤)
+  - 撮合执行流程(8个步骤)
+
+- **第14章:技术实现架构**
+  - 模块结构设计
+  - 关键接口设计
+
+- **第15章:部署与运维**
+  - 计划任务配置
+  - 监控指标
+  - 运维注意事项
+
+### 3. 文档统计
+- **原始行数**:74行
+- **补充后行数**:229行
+- **新增内容**:155行
+- **增长比例**:209%
+
+## 主要改进
+
+### 1. 技术实现完善
+- 补充了完整的数据库表结构设计
+- 提供了核心算法的具体实现要点
+- 明确了模块架构和接口设计
+
+### 2. 安全机制强化
+- 详细描述了防刷单和防操控机制
+- 补充了数据一致性保证措施
+- 增加了异常处理和恢复机制
+
+### 3. 运维支持增强
+- 提供了性能优化策略
+- 补充了监控指标和告警机制
+- 增加了部署和运维指南
+
+### 4. 业务流程细化
+- 将抽象的业务规则转化为具体的执行步骤
+- 明确了各个环节的处理逻辑
+- 提供了完整的流程图式说明
+
+## 技术要点
+
+### 1. 数据库设计
+```sql
+-- 核心表结构
+mex_orders          -- 订单表
+mex_warehouse       -- 系统仓库表  
+mex_transactions    -- 成交记录表
+mex_price_configs   -- 价格配置表
+mex_admin_operations -- 管理员操作记录表
+```
+
+### 2. 核心算法
+- **三级排序**:价格→时间→数量
+- **整单匹配**:不拆单原则
+- **数量保护**:大额订单过滤
+- **价格验证**:买卖价格区间控制
+
+### 3. 安全机制
+- 订单频率限制
+- 异常行为监控
+- 数据库事务保证
+- 异常恢复机制
+
+## 文件变更记录
+
+### 修改文件
+- `app/Module/Mex/docs/2.md` - 主要补充文件
+- `README.md` - 自动更新
+- `app/Module/Mex/docs/README.md` - 新创建
+
+### Git提交信息
+```
+补充Mex模块交易规则文档遗漏内容
+
+- 新增数据库表结构设计章节,包含5个核心数据表
+- 补充核心算法实现要点,涵盖价格验证、撮合排序等算法
+- 增加安全机制与风控策略,包含防刷单、防操控等机制
+- 添加性能优化策略,包含计划任务优化和数据库索引优化
+- 完善监控与日志机制,提供业务监控和异常告警
+- 详细说明业务流程,包含卖出、买入、撮合三大核心流程
+- 补充技术实现架构,提供完整的模块结构和接口设计
+- 增加部署与运维指南,包含计划任务配置和监控指标
+
+文档从74行扩展到229行,内容更加完整和实用
+```
+
+## 任务成果
+1. **文档完整性大幅提升**:从基础规则扩展为完整的技术文档
+2. **实现指导性增强**:提供了具体的技术实现方案
+3. **运维支持完善**:补充了部署、监控、运维等关键信息
+4. **安全机制健全**:详细描述了各种安全和风控措施
+
+## 后续建议
+1. 基于补充的文档内容开始Mex模块的代码实现
+2. 按照文档中的数据库设计创建相应的数据表
+3. 实现核心的撮合算法和安全机制
+4. 建立监控和告警系统
+
+---
+**任务完成时间**:2025年06月11日 20:34  
+**文档状态**:已完成并提交到Git仓库

+ 159 - 50
app/Module/Mex/docs/README.md

@@ -3,7 +3,18 @@
 
 ## 概述
 
-本文档基于 `/app/Module/Mex/docs/1.1.md` 的内容分析,详细描述了农贸市场交易系统的匹配交易机制和规则。
+Mex模块是一个完整的农贸市场匹配交易系统,实现了基于系统仓库的商品交易撮合机制。系统采用价格优先、时间优先的撮合原则,通过计划任务定时执行交易匹配,确保交易的公平性和系统的稳定性。
+
+本文档基于 `/app/Module/Mex/docs/2.md` 的完整交易规则,提供了系统的技术实现指导和业务规则说明。
+
+## 系统特点
+
+- **非用户间交易**:所有交易通过系统仓库进行,避免用户间直接转移
+- **价格区间控制**:卖出价格≤最低价,买入价格≥最高价
+- **整单成交原则**:订单不拆分,要么全部成交要么等待
+- **数量保护机制**:大额订单保护阈值防止市场操控
+- **计划任务撮合**:定时批量处理,避免实时撮合的性能问题
+- **管理员调控**:支持市场供需调节和价格稳定机制
 
 ## 核心交易规则
 
@@ -13,11 +24,17 @@
 - **卖出限制**:用户卖出价格必须 **等于或低于** 系统设置的最低价
 - **执行方式**:满足条件的卖单会立即成交(秒卖机制)
 - **系统回收**:卖出的商品由系统直接回收,无需撮合
+- **公示透明**:最低价对用户公开,便于制定卖出策略
 
 #### 最高价(参考价)
-- **买入参考**:用户买入价格必须 **高于** 系统设置的最高价才能成交
+- **买入参考**:用户买入价格必须 **高于或等于** 系统设置的最高价才能成交
 - **价格发现**:最高价仅作为参考,实际成交价格由市场决定
 - **动态调整**:用户需要根据实际成交情况调整出价
+- **竞价机制**:实际成交价可能高于公示的最高价
+
+#### 价格精度
+- **小数支持**:挂单价格支持5位小数精度
+- **精确计算**:确保价格计算的准确性和公平性
 
 ### 2. 撮合交易机制
 
@@ -26,10 +43,13 @@
 - **系统中介**:所有交易都通过系统仓库进行
 - **防止转移**:避免用户通过多账号进行资产转移
 
-#### 价格优先原则
-- **价高者得**:买方出价越高,优先级越高
-- **数量匹配**:按照价格优先、时间优先的原则进行匹配
-- **部分成交**:支持订单的部分成交和排队机制
+#### 撮合队列规则
+- **三级排序优先级**:
+  1. 价格优先(买价高者优先)
+  2. 时间优先(价格相同时,挂单时间早者优先)
+  3. 数量优先(价格和时间相同时,订单数量小者优先)
+- **整单成交**:所有订单不拆单(要么全成交,要么不成交)
+- **队列处理**:批量处理所有符合条件的订单
 
 ### 3. 订单数量保护
 
@@ -73,50 +93,120 @@
 - **买入调控**:从市场回收商品,减少供应量
 - **日志记录**:所有调控操作都有详细日志记录
 
-## 技术实现要点
-
-### 1. 数据结构设计
-- 订单表:记录用户买卖订单
-- 仓库表:记录系统商品库存
-- 成交表:记录所有成交记录
-- 配置表:存储价格限制和保护阈值
-
-### 2. 核心算法
-- 价格验证算法
-- 撮合匹配算法
-- 数量保护算法
-- 优先级排序算法
-
-### 3. 安全机制
-- 防刷单机制
-- 防操控机制
-- 数据一致性保证
-- 异常处理机制
+## 技术实现架构
+
+### 1. 数据库表结构设计
+- **订单表(mex_orders)**:记录用户买卖订单信息
+- **系统仓库表(mex_warehouse)**:记录系统商品库存
+- **成交记录表(mex_transactions)**:记录所有成交信息
+- **价格配置表(mex_price_configs)**:存储商品的最低价和最高价配置
+- **市场调控记录表(mex_admin_operations)**:记录管理员市场调控操作
+
+### 2. 核心算法实现
+- **价格验证算法**:卖单价格≤最低价,买单价格≥最高价
+- **撮合排序算法**:价格→时间→数量三级排序
+- **数量保护算法**:超量订单过滤机制
+- **整单匹配算法**:库存充足完全成交,不足则等待
+
+### 3. 安全机制与风控
+- **防刷单机制**:用户订单频率限制,异常交易行为监控
+- **防操控机制**:大额订单保护阈值,价格异常波动预警
+- **数据一致性保证**:数据库事务确保原子性
+- **异常处理机制**:撮合失败回滚,系统异常订单状态恢复
+
+### 4. 性能优化策略
+- **计划任务优化**:批量处理减少数据库连接,分页处理避免内存溢出
+- **数据库索引优化**:订单表复合索引,成交表时间索引
+- **缓存策略**:价格配置缓存,系统库存缓存
+
+### 5. 监控与日志
+- **业务监控指标**:订单成交率统计,平均撮合时间监控,系统库存变化趋势
+- **操作日志记录**:用户下单日志,撮合执行日志,管理员操作日志
+- **异常告警机制**:撮合任务执行失败告警,价格异常波动告警
 
 ## 业务流程
 
-### 卖出流程
-1. 用户提交卖出订单
-2. 系统验证价格是否符合最低价要求
-3. 符合条件的订单立即成交
-4. 商品进入系统仓库
-5. 记录成交信息并显示在交易大厅
-
-### 买入流程
-1. 用户提交买入订单
-2. 系统验证价格和数量保护阈值
-3. 订单进入撮合队列
-4. 计划任务执行撮合匹配
-5. 成交后从系统仓库扣除商品
-6. 记录成交信息
-
-### 撮合流程
-1. 计划任务启动
-2. 获取所有待撮合的买入订单
-3. 按价格优先级排序
-4. 匹配系统仓库库存
-5. 执行成交并更新数据
-6. 生成成交记录
+### 卖出流程(6个步骤)
+1. **订单提交**:用户提交卖出订单(商品ID、数量、价格)
+2. **价格验证**:系统验证 `卖出价格 ≤ 最低价`
+3. **立即成交**:满足条件的订单立即与系统成交
+4. **库存更新**:商品数量增加到系统仓库
+5. **记录生成**:创建成交记录,显示在交易大厅
+6. **资金结算**:用户账户增加对应资金
+
+### 买入流程(6个步骤)
+1. **订单提交**:用户提交买入订单(商品ID、数量、价格)
+2. **价格验证**:系统验证 `买入价格 ≥ 最高价`
+3. **数量检查**:验证订单数量是否超过保护阈值
+4. **进入队列**:通过验证的订单进入撮合队列
+5. **等待撮合**:订单等待计划任务执行撮合
+6. **成交处理**:撮合成功后扣减系统库存,完成交易
+
+### 撮合执行流程(8个步骤)
+1. **任务启动**:计划任务定时启动(5-10分钟间隔)
+2. **订单获取**:获取所有状态为"等待"的买入订单
+3. **数量过滤**:过滤掉超过保护阈值的大额订单
+4. **排序处理**:按价格→时间→数量进行三级排序
+5. **库存匹配**:逐个匹配系统仓库库存
+6. **整单成交**:库存充足则整单成交,不足则继续等待
+7. **状态更新**:更新订单状态和系统库存
+8. **记录生成**:生成成交记录供交易大厅展示
+
+## 模块结构设计
+
+```
+app/Module/Mex/
+├── Models/              # 数据模型
+│   ├── MexOrder.php     # 订单模型
+│   ├── MexWarehouse.php # 仓库模型
+│   ├── MexTransaction.php # 成交记录模型
+│   ├── MexPriceConfig.php # 价格配置模型
+│   └── MexAdminOperation.php # 管理员操作记录模型
+├── Services/            # 服务层
+│   ├── MexOrderService.php # 订单服务
+│   ├── MexMatchService.php # 撮合服务
+│   └── MexWarehouseService.php # 仓库服务
+├── Logic/               # 逻辑层
+│   ├── MexOrderLogic.php # 订单逻辑
+│   └── MexMatchLogic.php # 撮合逻辑
+├── Commands/            # 计划任务
+│   └── MexMatchCommand.php # 撮合任务
+├── Controllers/         # 控制器
+│   ├── Admin/           # 后台管理
+│   └── Api/             # API接口
+├── Handlers/            # 处理器
+│   ├── MexOrderHandler.php # 订单处理器
+│   └── MexQueryHandler.php # 查询处理器
+├── Databases/           # 数据库文件
+│   └── GenerateSql/     # SQL文件
+├── Enums/               # 枚举类
+│   ├── OrderType.php    # 订单类型枚举
+│   └── OrderStatus.php  # 订单状态枚举
+└── docs/                # 文档目录
+    ├── README.md        # 系统概述文档
+    └── 2.md             # 详细交易规则文档
+```
+
+## 关键接口设计
+
+- **下单接口**:POST /api/mex/order(创建买卖订单)
+- **订单查询**:GET /api/mex/orders(查询用户订单)
+- **交易大厅**:GET /api/mex/transactions(获取成交记录)
+- **价格查询**:GET /api/mex/prices(获取商品价格信息)
+
+## 部署与运维
+
+### 计划任务配置
+```bash
+# 添加到 crontab
+*/5 * * * * php artisan mex:match >> /var/log/mex-match.log 2>&1
+```
+
+### 监控指标
+- 撮合任务执行时间
+- 订单积压数量
+- 成交成功率
+- 系统库存水位
 
 ## 注意事项
 
@@ -125,9 +215,28 @@
 3. **时间延迟**:撮合交易存在5-10分钟的延迟
 4. **市场风险**:价格波动和供需变化的风险
 5. **系统维护**:定期检查和调整系统参数
+6. **整单原则**:所有订单不拆分,确保交易完整性
+7. **保护机制**:大额订单保护阈值对用户隐藏
+8. **管理员调控**:支持市场供需调节和价格稳定
+
+## 开发指南
+
+### 实现优先级
+1. **第一阶段**:基础数据模型和数据库表结构
+2. **第二阶段**:核心撮合算法和订单处理逻辑
+3. **第三阶段**:API接口和前端交互功能
+4. **第四阶段**:后台管理和市场调控功能
+5. **第五阶段**:监控告警和性能优化
+
+### 测试策略
+- 单元测试:核心算法和业务逻辑
+- 集成测试:API接口和数据库操作
+- 压力测试:撮合性能和并发处理
+- 业务测试:完整交易流程验证
 
 ---
 
-**文档生成时间**:2025年06月11日 20:23
-**基于文档**:`/app/Module/Mex/docs/1.1.md`
-**文档版本**:v1.0
+**文档生成时间**:2025年06月11日 20:40
+**基于文档**:`/app/Module/Mex/docs/2.md`
+**文档版本**:v2.0
+**文档状态**:已完善更新