Add cleanup functionality for collapsed houses in HouseWorker: Implement methods to delete collapsed buyable houses and user houses, including notifications for affected users. Update SQL queries to support this new feature, enhancing house management and user experience.

This commit is contained in:
Torsten Schulz (local)
2025-12-23 14:35:51 +01:00
parent da30ab0b15
commit 1e4689212b
2 changed files with 92 additions and 1 deletions

View File

@@ -594,6 +594,36 @@ pub const QUERY_UPDATE_USER_HOUSE_STATE: &str = r#"
);
"#;
// Haus-Zusammenfall: Sobald eine Komponente <= 0 ist, wird das Haus entfernt.
// Gilt sowohl für kaufbare Häuser als auch für Häuser im Besitz.
pub const QUERY_DELETE_COLLAPSED_BUYABLE_HOUSES: &str = r#"
WITH deleted AS (
DELETE FROM falukant_data.buyable_house
WHERE LEAST(
roof_condition,
floor_condition,
wall_condition,
window_condition
) <= 0
RETURNING id
)
SELECT id AS house_id FROM deleted;
"#;
pub const QUERY_DELETE_COLLAPSED_USER_HOUSES: &str = r#"
WITH deleted AS (
DELETE FROM falukant_data.user_house
WHERE LEAST(
roof_condition,
floor_condition,
wall_condition,
window_condition
) <= 0
RETURNING id, user_id
)
SELECT id AS house_id, user_id FROM deleted;
"#;
pub const QUERY_UPDATE_HOUSE_QUALITY: &str = r#"
UPDATE falukant_data.user_house
SET roof_condition = GREATEST(0, LEAST(100, roof_condition + $1)),