# 后端模块重构完成报告 ## 概述 已成功完成后端模块的完整重构,将原有的扁平化模块结构重构为按端分组的层次化结构。 **重构时间**: 2026-05-14 **涉及文件**: 150+ 个文件 **涉及模块**: 5 个端模块,30+ 个子模块 --- ## 一、新的模块结构 ``` apps/server/src/modules/ ├── user/ # 用户端(C端) │ ├── auth/ # 用户认证 │ ├── profile/ # 个人信息 │ ├── guest/ # 入住人管理 │ ├── order/ # 用户订单 │ ├── review/ # 用户评价 │ ├── coupon/ # 用户优惠券 │ ├── finance/ # 用户财务 │ ├── activity/ # 邀请活动 │ └── user.module.ts # 用户端总模块 │ ├── merchant/ # 商家端(B端) │ ├── auth/ # 商家认证 │ ├── profile/ # 商家信息 │ ├── room/ # 房源管理 │ ├── room-calendar/ # 房量房价 │ ├── order/ # 商家订单 │ ├── review/ # 商家评价 │ ├── finance/ # 商家财务 │ ├── statistics/ # 数据统计 │ └── merchant.module.ts # 商家端总模块 │ ├── admin/ # 平台管理端 │ ├── auth/ # 管理员认证 │ ├── user/ # 用户管理 │ ├── merchant/ # 商家管理 │ ├── room/ # 房源审核 │ ├── order/ # 订单管理 │ ├── review/ # 评价审核 │ ├── coupon/ # 优惠券管理 │ ├── activity/ # 活动管理 │ ├── config/ # 系统配置 │ ├── finance/ # 财务管理 │ ├── website/ # 网站信息管理 │ └── admin.module.ts # 管理端总模块 │ ├── shared/ # 公共模块 │ ├── room/ # 房源公开查询 │ ├── merchant/ # 商家公开信息 │ ├── activity/ # 活动公开信息 │ ├── upload/ # 文件上传 │ └── shared.module.ts # 公共模块总模块 │ └── website/ # 官网模块 ├── info/ # 网站信息 └── website.module.ts # 官网总模块 ``` --- ## 二、路由前缀映射 ### 用户端(User) | 旧路由 | 新路由 | 说明 | |--------|--------|------| | `/auth/*` | `/api/user/auth/*` | 用户认证 | | `/user/*` | `/api/user/profile/*` | 个人信息 | | `/user/guests` | `/api/user/guests` | 入住人管理 | | `/orders` | `/api/user/orders` | 用户订单 | | `/reviews` | `/api/user/reviews` | 用户评价 | | `/user/coupons` | `/api/user/coupons` | 用户优惠券 | | `/user/finance` | `/api/user/finance` | 用户财务 | | `/user/activity/invite` | `/api/user/activity/invite` | 邀请活动 | ### 商家端(Merchant) | 旧路由 | 新路由 | 说明 | |--------|--------|------| | `/seller/auth/*` | `/api/merchant/auth/*` | 商家认证 | | `/seller/merchant` | `/api/merchant/profile` | 商家信息 | | `/seller/statistics` | `/api/merchant/statistics` | 数据统计 | | `/seller/rooms` | `/api/merchant/rooms` | 房源管理 | | `/seller/room-calendar` | `/api/merchant/room-calendar` | 房量房价 | | `/seller/orders` | `/api/merchant/orders` | 商家订单 | | `/seller/reviews` | `/api/merchant/reviews` | 商家评价 | | `/merchant/finance/*` | `/api/merchant/finance/*` | 商家财务 | ### 平台管理端(Admin) | 旧路由 | 新路由 | 说明 | |--------|--------|------| | `/admin/auth/*` | `/api/admin/auth/*` | 管理员认证 | | `/admin/users` | `/api/admin/users` | 用户管理 | | `/admin/merchants` | `/api/admin/merchants` | 商家管理 | | `/admin/rooms` | `/api/admin/rooms` | 房源审核 | | `/admin/orders` | `/api/admin/orders` | 订单管理 | | `/admin/reviews` | `/api/admin/reviews` | 评价审核 | | `/admin/coupons` | `/api/admin/coupons` | 优惠券管理 | | `/admin/activity` | `/api/admin/activity` | 活动管理 | | `/admin/config` | `/api/admin/config` | 系统配置 | | `/admin/finance/*` | `/api/admin/finance/*` | 财务管理 | | `/admin/website/info` | `/api/admin/website/info` | 网站信息 | ### 公共接口(Public) | 旧路由 | 新路由 | 说明 | |--------|--------|------| | `/rooms` | `/api/public/rooms` | 房源公开查询 | | `/merchants` | `/api/public/merchants` | 商家公开信息 | | `/activity` | `/api/public/activity` | 活动公开信息 | | `/upload` | `/api/user/upload` | 用户上传 | | `/seller/upload` | `/api/merchant/upload` | 商家上传 | | `/admin/upload` | `/api/admin/upload` | 管理员上传 | ### 官网接口(Website) | 旧路由 | 新路由 | 说明 | |--------|--------|------| | - | `/api/website/info` | 网站信息(新增) | --- ## 三、已完成的工作 ### 1. 后端模块重构 ✅ #### 用户端(User) - ✅ 创建 8 个子模块(auth, profile, guest, order, review, coupon, finance, activity) - ✅ 更新所有 Controller 路由前缀为 `/api/user/*` - ✅ 创建 user.module.ts 总模块 #### 商家端(Merchant) - ✅ 创建 8 个子模块(auth, profile, room, room-calendar, order, review, finance, statistics) - ✅ 更新所有 Controller 路由前缀为 `/api/merchant/*` - ✅ 创建 merchant.module.ts 总模块 #### 管理端(Admin) - ✅ 创建 11 个子模块(auth, user, merchant, room, order, review, coupon, activity, config, finance, website) - ✅ 更新所有 Controller 路由前缀为 `/api/admin/*` - ✅ 创建 admin.module.ts 总模块 #### 公共模块(Shared) - ✅ 创建 4 个子模块(room, merchant, activity, upload) - ✅ 更新所有 Controller 路由前缀为 `/api/public/*` 或 `/api/{role}/upload` - ✅ 创建 shared.module.ts 总模块 #### 官网模块(Website) - ✅ 创建 WebsiteInfo 实体 - ✅ 创建 info 子模块(controller, service, module, dto) - ✅ 公开接口:`GET /api/website/info` - ✅ 管理接口:`GET/PUT /api/admin/website/info` - ✅ 创建 website.module.ts 总模块 ### 2. 根模块更新 ✅ - ✅ 更新 app.module.ts,导入新的 5 个端模块 - ✅ 移除旧的扁平化模块导入 ### 3. 前端 API 路径更新 ✅ #### 小程序(miniapp) - ✅ 更新 9 个 API 文件 - ✅ 用户认证:`/auth/*` → `/api/user/auth/*` - ✅ 个人信息:`/user/*` → `/api/user/profile/*` - ✅ 订单评价:`/orders`, `/reviews` → `/api/user/orders`, `/api/user/reviews` - ✅ 公共接口:`/rooms`, `/merchants`, `/activity` → `/api/public/*` #### 商家后台(merchant-admin) - ✅ 更新 7 个 API 文件 - ✅ 商家认证:`/seller/auth/*` → `/api/merchant/auth/*` - ✅ 商家业务:`/seller/*` → `/api/merchant/*` - ✅ 商家财务:`/merchant/finance/*` → `/api/merchant/finance/*` #### 平台后台(platform-admin) - ✅ 更新 8 个 API 文件 - ✅ 管理接口:`/admin/*` → `/api/admin/*` --- ## 四、新增功能 ### 1. 官网信息管理模块 - **实体**: WebsiteInfo(网站信息表) - **公开接口**: `GET /api/website/info` - 获取网站信息 - **管理接口**: - `GET /api/admin/website/info` - 获取网站信息 - `PUT /api/admin/website/info` - 更新网站信息 - **字段**: 网站名称、标题、描述、关键词、Logo、联系方式、ICP备案、版权信息、关于我们、服务协议、隐私政策等 ### 2. 文件上传模块优化 - 按角色分离上传接口: - `/api/user/upload` - 用户上传(需用户认证) - `/api/merchant/upload` - 商家上传(需商家认证) - `/api/admin/upload` - 管理员上传(需管理员认证) --- ## 五、数据库变更 ### 新增表 需要执行以下数据库迁移脚本创建 `website_info` 表: ```sql CREATE TABLE IF NOT EXISTS `website_info` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `site_name` VARCHAR(100) NOT NULL COMMENT '网站名称', `site_title` VARCHAR(200) NOT NULL COMMENT '网站标题', `site_description` TEXT NOT NULL COMMENT '网站描述', `site_keywords` VARCHAR(500) NOT NULL COMMENT 'SEO关键词', `logo` VARCHAR(500) NOT NULL COMMENT 'Logo URL', `favicon` VARCHAR(500) NOT NULL COMMENT '网站图标', `contact_phone` VARCHAR(50) NOT NULL COMMENT '联系电话', `contact_email` VARCHAR(100) NOT NULL COMMENT '联系邮箱', `contact_address` VARCHAR(500) NOT NULL COMMENT '联系地址', `icp` VARCHAR(100) NOT NULL COMMENT 'ICP备案号', `copyright` TEXT NOT NULL COMMENT '版权信息', `about_us` TEXT COMMENT '关于我们', `service_agreement` TEXT COMMENT '服务协议', `privacy_policy` TEXT COMMENT '隐私政策', `social_links` JSON COMMENT '社交媒体链接', `status` ENUM('active', 'inactive') DEFAULT 'active' COMMENT '状态', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网站信息表'; -- 插入默认数据 INSERT INTO `website_info` ( `site_name`, `site_title`, `site_description`, `site_keywords`, `logo`, `favicon`, `contact_phone`, `contact_email`, `contact_address`, `icp`, `copyright`, `about_us`, `service_agreement`, `privacy_policy` ) VALUES ( '租赁平台', '租赁平台 - 您的租赁服务专家', '提供优质的租赁服务', '租赁,房屋租赁,短租', '', '', '400-000-0000', 'contact@example.com', '北京市朝阳区', '京ICP备00000000号', '© 2024 租赁平台 版权所有', '关于我们的内容...', '服务协议内容...', '隐私政策内容...' ); ``` --- ## 六、下一步操作 ### 1. 数据库迁移 ⚠️ ```bash # 执行数据库迁移脚本 mysql -u root -p rent_platform < database/migrations/002_create_website_info.sql ``` ### 2. 启动后端服务并测试 ⚠️ ```bash cd apps/server pnpm install pnpm run start:dev ``` 访问 Swagger 文档验证所有接口: - http://localhost:3000/api/docs ### 3. 测试前端应用 ⚠️ ```bash # 启动小程序 cd apps/miniapp pnpm run dev:mp-weixin # 启动商家后台 cd apps/merchant-admin pnpm run dev # 启动平台后台 cd apps/platform-admin pnpm run dev ``` ### 4. 清理旧模块(可选) 确认新模块工作正常后,可以删除以下旧模块目录: - `apps/server/src/modules/auth/` (旧的用户认证) - `apps/server/src/modules/seller-auth/` (旧的商家认证) - `apps/server/src/modules/admin-auth/` (旧的管理员认证) - `apps/server/src/modules/room/` (旧的房源模块) - `apps/server/src/modules/room-calendar/` (旧的房量房价模块) - `apps/server/src/modules/order/` (旧的订单模块) - `apps/server/src/modules/review/` (旧的评价模块) - `apps/server/src/modules/finance/` (旧的财务模块) - `apps/server/src/modules/activity/` (旧的活动模块) - `apps/server/src/modules/config/` (旧的配置模块) - `apps/server/src/modules/coupon/` (旧的优惠券模块) - `apps/server/src/modules/guest/` (旧的入住人模块) - `apps/server/src/modules/upload/` (旧的上传模块) --- ## 七、重构收益 ### 1. 代码组织更清晰 - 按端分组,职责明确 - 模块层次化,易于维护 - 新增功能时知道放在哪里 ### 2. 路由更规范 - 统一使用 `/api/{role}/{module}` 格式 - 一眼就能看出接口属于哪个端 - 便于前端团队理解和使用 ### 3. 权限控制更明确 - 用户端、商家端、管理端分离 - 每个端有独立的认证和授权 - 减少权限混乱的风险 ### 4. 扩展性更好 - 新增端(如供应商端)只需添加新的端模块 - 新增功能只需在对应端下添加子模块 - 不影响其他端的代码 ### 5. 团队协作更高效 - 前端团队可以按端分工 - 后端团队可以按端分工 - 减少代码冲突 --- ## 八、注意事项 ### 1. 兼容性 - 旧的 API 路径已全部更新为新路径 - 如果有外部系统调用,需要同步更新 ### 2. 测试 - 建议对所有核心接口进行回归测试 - 特别关注认证、订单、支付等关键流程 ### 3. 文档 - Swagger 文档已自动更新 - 建议更新项目 README 和 API 文档 ### 4. 监控 - 上线后密切关注错误日志 - 关注 404 错误,可能是路径遗漏 --- ## 九、联系方式 如有问题,请联系: - 技术负责人:[姓名] - 邮箱:[邮箱] - 微信:[微信号] --- **重构完成时间**: 2026-05-14 **文档版本**: v1.0