|
|
@@ -123,7 +123,7 @@ class MexOrderValidator extends Validator
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 验证用户物品数量
|
|
|
+ * 验证用户物品数量(检查可用数量,排除已冻结的物品)
|
|
|
*
|
|
|
* @param int $userId 用户ID
|
|
|
* @param int $itemId 物品ID
|
|
|
@@ -132,10 +132,11 @@ class MexOrderValidator extends Validator
|
|
|
*/
|
|
|
private function validateUserItemQuantity(int $userId, int $itemId, int $requiredQuantity): bool
|
|
|
{
|
|
|
- $userQuantity = ItemQuantity::getUserItemQuantity($userId, $itemId);
|
|
|
+ // 使用ItemService获取可用数量(排除已冻结的物品)
|
|
|
+ $availableQuantity = \App\Module\GameItems\Services\ItemService::getAvailableQuantity($userId, $itemId);
|
|
|
|
|
|
- if ($userQuantity < $requiredQuantity) {
|
|
|
- $this->addError("物品数量不足,当前拥有 {$userQuantity} 个,需要 {$requiredQuantity} 个");
|
|
|
+ if ($availableQuantity < $requiredQuantity) {
|
|
|
+ $this->addError("可用物品数量不足,当前可用 {$availableQuantity} 个,需要 {$requiredQuantity} 个");
|
|
|
return false;
|
|
|
}
|
|
|
|