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"; }