Add debug logging to FalukantService and RevenueSection for better price tracking

- Introduced console logs in FalukantService to trace product price calculations and city evaluations, aiding in debugging and performance monitoring.
- Added logging in RevenueSection to capture the loading process and received better prices for products, enhancing visibility into price retrieval operations.
This commit is contained in:
Torsten Schulz (local)
2025-12-03 08:30:59 +01:00
parent 3d6fdc65d2
commit 6ec62af606
3 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
-- Migration: Add condition and available_from columns to vehicle table
-- Date: 2024-12-02
ALTER TABLE falukant_data.vehicle
ADD COLUMN IF NOT EXISTS condition INTEGER NOT NULL DEFAULT 100;
ALTER TABLE falukant_data.vehicle
ADD COLUMN IF NOT EXISTS available_from TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
COMMENT ON COLUMN falukant_data.vehicle.condition IS 'Current condition of the vehicle (0-100)';
COMMENT ON COLUMN falukant_data.vehicle.available_from IS 'Timestamp when the vehicle becomes available for use';
-- Migration: Add build_time_minutes column to vehicle type table
-- Date: 2024-12-03
ALTER TABLE falukant_type.vehicle
ADD COLUMN IF NOT EXISTS build_time_minutes INTEGER NOT NULL DEFAULT 0;
COMMENT ON COLUMN falukant_type.vehicle.build_time_minutes IS 'Time to construct the vehicle, in minutes';

View File

@@ -3725,6 +3725,7 @@ class FalukantService extends BaseService {
// Für jede Stadt den Preis berechnen und Branch-Typ bestimmen
const results = [];
console.log(`[getProductPricesInCities] productId: ${productId}, currentPrice: ${currentPrice}, knowledgeFactor: ${knowledgeFactor}, product.sellCost: ${product.sellCost}, cities: ${cities.length}`);
for (const city of cities) {
// Regionaler Preis-Faktor (worthPercent zwischen 40-60)
const worthPercent = worthMap.get(city.id) || 50; // Default 50% wenn nicht gefunden
@@ -3737,6 +3738,8 @@ class FalukantService extends BaseService {
const max = basePrice;
const priceInCity = min + (max - min) * (knowledgeFactor / 100);
console.log(`[getProductPricesInCities] City: ${city.name} (${city.id}), worthPercent: ${worthPercent}, basePrice: ${basePrice}, priceInCity: ${priceInCity}, currentPrice: ${currentPrice}, isBetter: ${priceInCity > currentPrice + 0.001}`);
// Nur Städte zurückgeben, wo der Preis höher ist
// Verwende eine kleine Toleranz (0.001) um Rundungsfehler zu vermeiden
if (priceInCity > currentPrice + 0.001) {
@@ -3764,6 +3767,7 @@ class FalukantService extends BaseService {
// Sortiere nach Preis (höchster zuerst)
results.sort((a, b) => b.price - a.price);
console.log(`[getProductPricesInCities] Returning ${results.length} cities with better prices`);
return results;
}