From e1e22f41e0e02c8a37458ddda34e7a229e43b188 Mon Sep 17 00:00:00 2001 From: Sean Date: Tue, 20 Jan 2026 19:28:17 -0500 Subject: [PATCH] fixing platform to use standardized platform format (no hyphen) --- .../impl/CategoryClassificationServiceImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java b/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java index bc9cd46..690765d 100644 --- a/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java +++ b/src/main/java/group/goforward/battlbuilder/services/impl/CategoryClassificationServiceImpl.java @@ -28,13 +28,13 @@ public class CategoryClassificationServiceImpl implements CategoryClassification public Result classify(Merchant merchant, MerchantFeedRow row) { String rawCategoryKey = buildRawCategoryKey(row); String platformFinal = inferPlatform(row); - if (platformFinal == null || platformFinal.isBlank()) platformFinal = "AR-15"; + if (platformFinal == null || platformFinal.isBlank()) platformFinal = "AR15"; return classify(merchant, row, platformFinal, rawCategoryKey); } @Override public Result classify(Merchant merchant, MerchantFeedRow row, String platformFinal, String rawCategoryKey) { - if (platformFinal == null || platformFinal.isBlank()) platformFinal = "AR-15"; + if (platformFinal == null || platformFinal.isBlank()) platformFinal = "AR15"; // 1) merchant map (authoritative if present) Optional mapped = merchantCategoryMappingService.resolveMappedPartRole( @@ -104,12 +104,13 @@ public class CategoryClassificationServiceImpl implements CategoryClassification coalesce(trimOrNull(row.subCategory()), "") ).toLowerCase(Locale.ROOT); - if (blob.contains("ar-15") || blob.contains("ar15")) return "AR-15"; - if (blob.contains("ar-10") || blob.contains("ar10") || blob.contains("lr-308") || blob.contains("lr308")) return "AR-10"; - if (blob.contains("ar-9") || blob.contains("ar9")) return "AR-9"; - if (blob.contains("ak-47") || blob.contains("ak47")) return "AK-47"; + // Return canonical platform KEYS (these must match what the catalog/builder endpoints use) + if (blob.contains("ar-15") || blob.contains("ar15")) return "AR15"; + if (blob.contains("ar-10") || blob.contains("ar10") || blob.contains("lr-308") || blob.contains("lr308") || blob.contains("sr-25") || blob.contains("sr25")) return "AR10"; + if (blob.contains("ar-9") || blob.contains("ar9")) return "AR9"; + if (blob.contains("ak-47") || blob.contains("ak47")) return "AK47"; - return "AR-15"; + return "AR15"; }