$base = "c:\Users\UI\Desktop\数字员工\openclaw-backend\openclaw-backend\src\main\java\com\openclaw\module" # Global import replacements for ALL module files $replacements = @( # Entity imports @("import com.openclaw.entity.User;", "import com.openclaw.module.user.entity.User;"), @("import com.openclaw.entity.UserProfile;", "import com.openclaw.module.user.entity.UserProfile;"), @("import com.openclaw.entity.Skill;", "import com.openclaw.module.skill.entity.Skill;"), @("import com.openclaw.entity.SkillCategory;", "import com.openclaw.module.skill.entity.SkillCategory;"), @("import com.openclaw.entity.SkillReview;", "import com.openclaw.module.skill.entity.SkillReview;"), @("import com.openclaw.entity.SkillDownload;", "import com.openclaw.module.skill.entity.SkillDownload;"), @("import com.openclaw.entity.Order;", "import com.openclaw.module.order.entity.Order;"), @("import com.openclaw.entity.OrderItem;", "import com.openclaw.module.order.entity.OrderItem;"), @("import com.openclaw.entity.OrderRefund;", "import com.openclaw.module.order.entity.OrderRefund;"), @("import com.openclaw.entity.UserPoints;", "import com.openclaw.module.points.entity.UserPoints;"), @("import com.openclaw.entity.PointsRecord;", "import com.openclaw.module.points.entity.PointsRecord;"), @("import com.openclaw.entity.PointsRule;", "import com.openclaw.module.points.entity.PointsRule;"), @("import com.openclaw.entity.RechargeOrder;", "import com.openclaw.module.payment.entity.RechargeOrder;"), @("import com.openclaw.entity.PaymentRecord;", "import com.openclaw.module.payment.entity.PaymentRecord;"), @("import com.openclaw.entity.InviteCode;", "import com.openclaw.module.invite.entity.InviteCode;"), @("import com.openclaw.entity.InviteRecord;", "import com.openclaw.module.invite.entity.InviteRecord;"), # Repository imports @("import com.openclaw.repository.UserRepository;", "import com.openclaw.module.user.repository.UserRepository;"), @("import com.openclaw.repository.UserProfileRepository;", "import com.openclaw.module.user.repository.UserProfileRepository;"), @("import com.openclaw.repository.SkillRepository;", "import com.openclaw.module.skill.repository.SkillRepository;"), @("import com.openclaw.repository.SkillReviewRepository;", "import com.openclaw.module.skill.repository.SkillReviewRepository;"), @("import com.openclaw.repository.SkillCategoryRepository;", "import com.openclaw.module.skill.repository.SkillCategoryRepository;"), @("import com.openclaw.repository.SkillDownloadRepository;", "import com.openclaw.module.skill.repository.SkillDownloadRepository;"), @("import com.openclaw.repository.OrderRepository;", "import com.openclaw.module.order.repository.OrderRepository;"), @("import com.openclaw.repository.OrderItemRepository;", "import com.openclaw.module.order.repository.OrderItemRepository;"), @("import com.openclaw.repository.OrderRefundRepository;", "import com.openclaw.module.order.repository.OrderRefundRepository;"), @("import com.openclaw.repository.UserPointsRepository;", "import com.openclaw.module.points.repository.UserPointsRepository;"), @("import com.openclaw.repository.PointsRecordRepository;", "import com.openclaw.module.points.repository.PointsRecordRepository;"), @("import com.openclaw.repository.PointsRuleRepository;", "import com.openclaw.module.points.repository.PointsRuleRepository;"), @("import com.openclaw.repository.RechargeOrderRepository;", "import com.openclaw.module.payment.repository.RechargeOrderRepository;"), @("import com.openclaw.repository.PaymentRecordRepository;", "import com.openclaw.module.payment.repository.PaymentRecordRepository;"), @("import com.openclaw.repository.InviteCodeRepository;", "import com.openclaw.module.invite.repository.InviteCodeRepository;"), @("import com.openclaw.repository.InviteRecordRepository;", "import com.openclaw.module.invite.repository.InviteRecordRepository;"), # Service imports @("import com.openclaw.service.UserService;", "import com.openclaw.module.user.service.UserService;"), @("import com.openclaw.service.SkillService;", "import com.openclaw.module.skill.service.SkillService;"), @("import com.openclaw.service.OrderService;", "import com.openclaw.module.order.service.OrderService;"), @("import com.openclaw.service.PointsService;", "import com.openclaw.module.points.service.PointsService;"), @("import com.openclaw.service.PaymentService;", "import com.openclaw.module.payment.service.PaymentService;"), @("import com.openclaw.service.InviteService;", "import com.openclaw.module.invite.service.InviteService;") ) # Module-specific wildcard import mappings # Key: module name, Value: hashtable of old_wildcard -> new_wildcard $moduleWildcards = @{ "user" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.user.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.user.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.user.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.user.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.user.service.*;" } "skill" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.skill.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.skill.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.skill.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.skill.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.skill.service.*;" } "order" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.order.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.order.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.order.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.order.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.order.service.*;" } "points" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.points.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.points.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.points.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.points.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.points.service.*;" } "payment" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.payment.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.payment.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.payment.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.payment.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.payment.service.*;" } "invite" = @{ "import com.openclaw.dto.*;" = "import com.openclaw.module.invite.dto.*;" "import com.openclaw.vo.*;" = "import com.openclaw.module.invite.vo.*;" "import com.openclaw.entity.*;" = "import com.openclaw.module.invite.entity.*;" "import com.openclaw.repository.*;" = "import com.openclaw.module.invite.repository.*;" "import com.openclaw.service.*;" = "import com.openclaw.module.invite.service.*;" } } $count = 0 Get-ChildItem -Path $base -Recurse -Filter "*.java" | ForEach-Object { $file = $_.FullName $content = Get-Content $file -Raw -Encoding UTF8 $original = $content # Determine which module this file belongs to $relPath = $file.Replace($base + "\", "") $moduleName = $relPath.Split("\")[0] # Apply module-specific wildcard replacements first if ($moduleWildcards.ContainsKey($moduleName)) { foreach ($k in $moduleWildcards[$moduleName].Keys) { $content = $content.Replace($k, $moduleWildcards[$moduleName][$k]) } } # Apply global specific import replacements foreach ($r in $replacements) { $content = $content.Replace($r[0], $r[1]) } # Also handle remaining wildcard patterns that weren't caught $content = $content.Replace("import com.openclaw.repository.*;", "import com.openclaw.module.$moduleName.repository.*;") $content = $content.Replace("import com.openclaw.entity.*;", "import com.openclaw.module.$moduleName.entity.*;") $content = $content.Replace("import com.openclaw.dto.*;", "import com.openclaw.module.$moduleName.dto.*;") $content = $content.Replace("import com.openclaw.vo.*;", "import com.openclaw.module.$moduleName.vo.*;") $content = $content.Replace("import com.openclaw.service.*;", "import com.openclaw.module.$moduleName.service.*;") if ($content -ne $original) { [System.IO.File]::WriteAllText($file, $content, [System.Text.UTF8Encoding]::new($false)) $count++ Write-Host "Updated: $relPath" } } Write-Host "`nPhase 2 complete: Updated imports in $count files."