# ruoyi-ccdi 模块重命名实施计划

> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

**Goal:** 将 ruoyi-ccdi 模块重命名为 ruoyi-info-collection，同时将 Java 包名从 com.ruoyi.ccdi 改为 com.ruoyi.info.collection

**Architecture:** Maven 模块重命名 + Java 包结构重组 + MyBatis XML 命名空间更新。保留数据库表名、API URL、权限标识和前端文件中的 ccdi 前缀不变。

**Tech Stack:** Maven, Java 17, MyBatis Plus, Spring Boot 3

---

## Task 1: 重命名模块目录

**Files:**
- Rename: `ruoyi-ccdi/` → `ruoyi-info-collection/`

**Step 1: 使用 git mv 重命名目录**

```bash
git mv ruoyi-ccdi ruoyi-info-collection
```

**Step 2: 验证目录已重命名**

Run: `ls -la | grep ruoyi-info-collection`
Expected: 显示 `ruoyi-info-collection` 目录

---

## Task 2: 修改根 pom.xml 模块声明

**Files:**
- Modify: `pom.xml`

**Step 1: 修改 module 声明**

找到 `<module>ruoyi-ccdi</module>` 并修改为：

```xml
<module>ruoyi-info-collection</module>
```

**Step 2: 修改 dependencyManagement 中的 artifactId**

找到 ruoyi-ccdi 的依赖声明并修改为：

```xml
<!-- 信息采集模块-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-info-collection</artifactId>
    <version>${ruoyi.version}</version>
</dependency>
```

**Step 3: 验证修改**

Run: `grep -n "ruoyi-info-collection" pom.xml`
Expected: 显示 2 处匹配（module 和 dependency）

---

## Task 3: 修改 ruoyi-info-collection 模块 pom.xml

**Files:**
- Modify: `ruoyi-info-collection/pom.xml`

**Step 1: 修改 artifactId 和 description**

```xml
<artifactId>ruoyi-info-collection</artifactId>
<description>信息采集模块</description>
```

**Step 2: 验证修改**

Run: `grep -n "artifactId" ruoyi-info-collection/pom.xml | head -1`
Expected: `<artifactId>ruoyi-info-collection</artifactId>`

---

## Task 4: 修改 ruoyi-admin 的依赖声明

**Files:**
- Modify: `ruoyi-admin/pom.xml`

**Step 1: 修改依赖 artifactId**

找到 ruoyi-ccdi 依赖并修改为：

```xml
<!-- 信息采集模块-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-info-collection</artifactId>
</dependency>
```

**Step 2: 验证修改**

Run: `grep -n "ruoyi-info-collection" ruoyi-admin/pom.xml`
Expected: 显示 1 处匹配

---

## Task 5: 创建新的包目录结构

**Files:**
- Create: `ruoyi-info-collection/src/main/java/com/ruoyi/info/collection/`
- Create: `ruoyi-info-collection/src/main/resources/mapper/info/collection/`

**Step 1: 创建 Java 包目录**

```bash
mkdir -p ruoyi-info-collection/src/main/java/com/ruoyi/info/collection
```

**Step 2: 创建 MyBatis mapper 目录**

```bash
mkdir -p ruoyi-info-collection/src/main/resources/mapper/info/collection
```

**Step 3: 验证目录创建**

Run: `ls -la ruoyi-info-collection/src/main/java/com/ruoyi/info/`
Expected: 显示 `collection` 目录

---

## Task 6: 移动 Java 源码到新包结构

**Files:**
- Move: `ruoyi-info-collection/src/main/java/com/ruoyi/ccdi/*` → `ruoyi-info-collection/src/main/java/com/ruoyi/info/collection/`

**Step 1: 移动所有子目录**

```bash
cd ruoyi-info-collection/src/main/java/com/ruoyi
mv ccdi/* info/collection/
```

**Step 2: 删除旧目录**

```bash
rm -rf ccdi
```

**Step 3: 验证新结构**

Run: `ls ruoyi-info-collection/src/main/java/com/ruoyi/info/collection/`
Expected: 显示 controller, domain, enums, mapper, service, utils 等目录

---

## Task 7: 批量修改 Java 文件包名声明

**Files:**
- Modify: `ruoyi-info-collection/src/main/java/com/ruoyi/info/collection/**/*.java` (约 100+ 文件)

**Step 1: 批量替换 package 声明**

```bash
find ruoyi-info-collection/src/main/java -name "*.java" -exec sed -i 's/package com\.ruoyi\.ccdi/package com.ruoyi.info.collection/g' {} +
```

**Step 2: 批量替换 import 语句**

```bash
find ruoyi-info-collection/src/main/java -name "*.java" -exec sed -i 's/import com\.ruoyi\.ccdi/import com.ruoyi.info.collection/g' {} +
```

**Step 3: 验证包名修改**

Run: `grep -r "package com.ruoyi.ccdi" ruoyi-info-collection/src/main/java/`
Expected: 无输出（所有旧的包名已替换）

---

## Task 8: 移动 MyBatis XML 文件

**Files:**
- Move: `ruoyi-info-collection/src/main/resources/mapper/ccdi/*` → `ruoyi-info-collection/src/main/resources/mapper/info/collection/`

**Step 1: 移动 XML 文件**

```bash
cd ruoyi-info-collection/src/main/resources/mapper
mkdir -p info/collection
mv ccdi/* info/collection/
rm -rf ccdi
```

**Step 2: 验证文件移动**

Run: `ls ruoyi-info-collection/src/main/resources/mapper/info/collection/`
Expected: 显示 11 个 XML 文件

---

## Task 9: 修改 MyBatis XML 命名空间

**Files:**
- Modify: `ruoyi-info-collection/src/main/resources/mapper/info/collection/*.xml` (11 文件)

**Step 1: 批量替换命名空间**

```bash
find ruoyi-info-collection/src/main/resources/mapper -name "*.xml" -exec sed -i 's/com\.ruoyi\.ccdi/com.ruoyi.info.collection/g' {} +
```

**Step 2: 验证命名空间修改**

Run: `grep -r "com.ruoyi.ccdi" ruoyi-info-collection/src/main/resources/mapper/`
Expected: 无输出（所有旧的命名空间已替换）

---

## Task 10: 更新 CLAUDE.md 项目文档

**Files:**
- Modify: `CLAUDE.md`

**Step 1: 更新模块架构描述**

将所有 `ruoyi-ccdi` 引用改为 `ruoyi-info-collection`，包括：
- 模块架构图
- 模块依赖关系
- ruoyi-ccdi 业务模块描述
- 重要文件路径

**Step 2: 验证修改**

Run: `grep "ruoyi-ccdi" CLAUDE.md`
Expected: 无输出（所有引用已更新）

---

## Task 11: 更新 doc 目录下的文档

**Files:**
- Modify: `doc/**/*.md` (约 135 文件)

**Step 1: 批量替换模块名引用**

```bash
find doc -name "*.md" -exec sed -i 's/ruoyi-ccdi/ruoyi-info-collection/g' {} +
```

**Step 2: 验证修改**

Run: `grep -r "ruoyi-ccdi" doc/`
Expected: 仅在设计文档中保留历史记录

---

## Task 12: 验证 Maven 编译

**Files:**
- None (验证步骤)

**Step 1: 清理并编译**

```bash
mvn clean compile
```

Expected: BUILD SUCCESS

**Step 2: 如果编译失败，检查错误**

常见的编译错误：
- 遗漏的 import 语句
- 遗漏的包名声明
- MyBatis XML 命名空间不匹配

---

## Task 13: 提交更改

**Files:**
- None (Git 操作)

**Step 1: 查看更改**

```bash
git status
git diff --stat
```

**Step 2: 添加所有更改**

```bash
git add -A
```

**Step 3: 提交**

```bash
git commit -m "$(cat <<'EOF'
refactor: 重命名 ruoyi-ccdi 模块为 ruoyi-info-collection

- Maven 模块从 ruoyi-ccdi 重命名为 ruoyi-info-collection
- Java 包名从 com.ruoyi.ccdi 改为 com.ruoyi.info.collection
- MyBatis XML 命名空间同步更新
- 保留数据库表名、API URL、权限标识中的 ccdi 前缀
- 更新项目文档中的模块引用
EOF
)"
```

---

## 验收清单

- [ ] 模块目录已重命名为 `ruoyi-info-collection`
- [ ] 所有 pom.xml 中的 artifactId 已更新
- [ ] Java 包结构已重组为 `com.ruoyi.info.collection`
- [ ] 所有 Java 文件的 package 声明已更新
- [ ] 所有 Java 文件的 import 语句已更新
- [ ] MyBatis XML 文件已移动到新目录
- [ ] MyBatis XML 命名空间已更新
- [ ] 项目文档已更新
- [ ] Maven 编译成功
- [ ] 更改已提交到 Git

---

**计划日期**: 2026-02-24
**预计任务数**: 13
