consume_type) { case CONSUME_TYPE::ITEM->value: $res = ItemConsume::process($userId, $consumeItem, $sourceType, $sourceId, $multiplier); // 将 Res 对象转换为数组格式 $result = [ 'success' => $res->success, 'message' => $res->message, 'item_id' => $res->data['item_id'] ?? null, 'quantity' => $res->data['quantity'] ?? null ]; break; case CONSUME_TYPE::FUND_CONFIG->value: $res = FundConfigConsume::process($userId, $consumeItem, $sourceType, $sourceId, $multiplier); // 将 Res 对象转换为数组格式 $result = [ 'success' => $res->success, 'message' => $res->message, 'fund_config_id' => $res->data['fund_config_id'] ?? null, 'amount' => $res->data['amount'] ?? null ]; break; case CONSUME_TYPE::CURRENCY->value: $res = FundConfigConsume::process($userId, $consumeItem, $sourceType, $sourceId, $multiplier); // 将 Res 对象转换为数组格式 $result = [ 'success' => $res->success, 'message' => $res->message, 'fund_config_id' => $res->data['fund_config_id'] ?? null, 'amount' => $res->data['amount'] ?? null ]; break; case CONSUME_TYPE::FUND_CONFIGS->value: $res = FundConfigsConsume::process($userId, $consumeItem, $sourceType, $sourceId, $multiplier); // 将 Res 对象转换为数组格式 $result = [ 'success' => $res->success, 'message' => $res->message, 'fund_config_ids' => $res->data['fund_config_ids'] ?? null, 'amount' => $res->data['amount'] ?? null ]; break; default: $result = [ 'success' => false, 'message' => "不支持的消耗类型: {$consumeItem->consume_type}" ]; } return $result; } }