getMessage() . "\n"; } // 测试3:验证事务处理修复 echo "\n3. 测试事务处理修复\n"; try { // 测试Service层的事务处理 $buyMatchResult = MexMatchService::executeUserBuyItemMatchForItem($itemId, 5); echo "用户买入物品撮合服务调用成功: " . ($buyMatchResult['success'] ? '成功' : '失败') . " - " . $buyMatchResult['message'] . "\n"; $sellMatchResult = MexMatchService::executeUserSellItemMatchForItem($itemId, 5); echo "用户卖出物品撮合服务调用成功: " . ($sellMatchResult['success'] ? '成功' : '失败') . " - " . $sellMatchResult['message'] . "\n"; echo "事务处理已从Logic层移到Service层\n"; } catch (\Exception $e) { echo "撮合服务调用失败: " . $e->getMessage() . "\n"; } // 测试4:验证撮合条件检查 echo "\n4. 测试撮合条件检查\n"; $buyConditions = MexMatchLogic::checkUserBuyItemMatchConditions($itemId); echo "用户买入物品撮合条件: " . ($buyConditions['can_match'] ? '满足' : '不满足') . " - " . $buyConditions['message'] . "\n"; $sellConditions = MexMatchLogic::checkUserSellItemMatchConditions($itemId); echo "用户卖出物品撮合条件: " . ($sellConditions['can_match'] ? '满足' : '不满足') . " - " . $sellConditions['message'] . "\n"; // 测试5:验证统计信息获取 echo "\n5. 测试统计信息获取\n"; $buyStats = MexMatchLogic::getUserBuyItemMatchStats(); echo "用户买入物品撮合统计:\n"; echo " - 待撮合订单数: " . $buyStats['pending_orders'] . "\n"; echo " - 涉及商品数: " . $buyStats['pending_items'] . "\n"; $sellStats = MexMatchLogic::getUserSellItemMatchStats(); echo "用户卖出物品撮合统计:\n"; echo " - 待撮合订单数: " . $sellStats['pending_orders'] . "\n"; echo " - 涉及商品数: " . $sellStats['pending_items'] . "\n"; echo "\n=== 修复验证测试完成 ===\n"; echo "\n修复要点总结:\n"; echo "1. ✓ 移除挂单阶段的价格验证,创建专门的挂单验证方法\n"; echo "2. ✓ 修复排序算法,移除数量排序,使用二级排序\n"; echo "3. ✓ 将事务处理从Logic层移到Service层\n"; echo "4. ✓ 保护阈值验证只在撮合阶段进行\n"; echo "5. ✓ 保持向后兼容性,添加废弃标记\n";