# 全面检查 fs-admin-saas 中所有控制器与 fs-company 自身控制器的映射冲突 $saasRoot = "d:\ylrz\ylrz_saas_his_scrm\fs-admin-saas\src\main\java\com\fs" $companyRoot = "d:\ylrz\ylrz_saas_his_scrm\fs-company\src\main\java\com\fs" # 收集 fs-company 自身的所有控制器映射路径 $companyMaps = @{} Get-ChildItem $companyRoot -Recurse -Filter "*Controller.java" | ForEach-Object { $content = Get-Content $_.FullName -Raw if ($content -match '@RequestMapping\("([^"]+)"\)') { $path = $Matches[1] $className = $_.BaseName $pkg = $content -match '(?s)^package\s+([^;]+)' | Out-Null; $pkg = $Matches[1] $fqn = "$pkg.$className" $companyMaps[$path] = $fqn } } # 收集 fs-admin-saas 中所有控制器(排除有 @Profile("admin") 的) $conflicts = @() Get-ChildItem $saasRoot -Recurse -Filter "*Controller.java" | ForEach-Object { $content = Get-Content $_.FullName -Raw if ($content -match '@Profile\("admin"\)') { return } if ($content -match '@RequestMapping\("([^"]+)"\)') { $path = $Matches[1] $className = $_.BaseName $content -match '(?s)^package\s+([^;]+)' | Out-Null; $pkg = $Matches[1] $fqn = "$pkg.$className" if ($companyMaps.ContainsKey($path)) { $conflicts += "CONFLICT: $fqn vs $($companyMaps[$path]) = $path" } } } "Found $($conflicts.Count) conflicts:" $conflicts | ForEach-Object { $_ }