12 KiB
12 KiB
后端模块重构完成报告
概述
已成功完成后端模块的完整重构,将原有的扁平化模块结构重构为按端分组的层次化结构。
重构时间: 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 表:
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. 数据库迁移 ⚠️
# 执行数据库迁移脚本
mysql -u root -p rent_platform < database/migrations/002_create_website_info.sql
2. 启动后端服务并测试 ⚠️
cd apps/server
pnpm install
pnpm run start:dev
访问 Swagger 文档验证所有接口:
3. 测试前端应用 ⚠️
# 启动小程序
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