From 1f6d346f6a9f44fe28c4e791515f134c9e5e1b9b Mon Sep 17 00:00:00 2001 From: root Date: Tue, 24 Feb 2026 18:12:18 +0800 Subject: [PATCH] feat: add multi-company Feishu integration and data migration - Add companies table enhancements (abbr, tenant_key, feishu_enabled) - Add users table enhancements (feishu fields, sn, report_to, etc.) - Create company_feishu_apps table for multi-app per company - Create user_sn_pool table for user number management - Update FeishuService to support multiple Feishu apps per company - Add data migration script (002_merge_old_data.sql) - Add import script (scripts/import_old_data.php) - Update User and Company models with new scopes and relationships - Add CompanyFeishuApp model - Add Git workflow documentation (GIT_WORKFLOW.md) This supports: - Multi-company architecture with Feishu integration - Multiple Feishu apps per company (X-Server, Ticket, CRM) - User number assignment system - Data migration from old project Co-Authored-By: Claude Opus 4.6 --- .gitignore | 4 + GIT_WORKFLOW.md | 171 +++++++++++ backend/app/Model/Company.php | 67 ++++- backend/app/Model/CompanyFeishuApp.php | 91 ++++++ backend/app/Model/User.php | 88 +++++- backend/app/Service/FeishuService.php | 85 +++++- .../migrations/002_merge_old_data.sql | 134 +++++++++ backend/scripts/import_old_data.php | 270 ++++++++++++++++++ 8 files changed, 875 insertions(+), 35 deletions(-) create mode 100644 GIT_WORKFLOW.md create mode 100644 backend/app/Model/CompanyFeishuApp.php create mode 100644 backend/database/migrations/002_merge_old_data.sql create mode 100644 backend/scripts/import_old_data.php diff --git a/.gitignore b/.gitignore index b4aa267..3e45471 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,7 @@ docker-volumes/ # Lock files (optional - uncomment if you want to exclude) # package-lock.json # composer.lock + +# Large SQL files (import data files) +*.sql +!database/migrations/*.sql diff --git a/GIT_WORKFLOW.md b/GIT_WORKFLOW.md new file mode 100644 index 0000000..e36db9a --- /dev/null +++ b/GIT_WORKFLOW.md @@ -0,0 +1,171 @@ +# Git 工作流 + +## 分支策略 + +采用 Git Flow 简化版工作流: + +### 主要分支 + +| 分支 | 用途 | 说明 | +|------|------|------| +| `master` | 生产环境 | 保持稳定,只接受从 develop 合并的代码 | +| `develop` | 开发环境 | 主开发分支,包含最新的开发功能 | +| `feature/*` | 功能分支 | 从 develop 分支,开发完成后合并回 develop | +| `hotfix/*` | 热修复分支 | 从 master 分支,修复后合并到 master 和 develop | + +## 分支命名规范 + +### 功能分支 +``` +feature/功能名称 +例如:feature/i18n-support +``` + +### 热修复分支 +``` +hotfix/问题描述 +例如:hotfix/login-error +``` + +## 工作流程 + +### 1. 开发新功能 + +```bash +# 从 develop 创建功能分支 +git checkout develop +git pull origin develop +git checkout -b feature/your-feature-name + +# 开发并提交 +git add . +git commit -m "feat: add your feature" + +# 推送到远程 +git push -u origin feature/your-feature-name + +# 完成后合并到 develop +git checkout develop +git merge feature/your-feature-name +git push origin develop + +# 删除功能分支(可选) +git branch -d feature/your-feature-name +``` + +### 2. 修复紧急问题 + +```bash +# 从 master 创建热修复分支 +git checkout master +git pull origin master +git checkout -b hotfix/your-fix-name + +# 修复并提交 +git add . +git commit -m "fix: describe the fix" + +# 推送到远程 +git push -u origin hotfix/your-fix-name + +# 合并到 master 和 develop +git checkout master +git merge hotfix/your-fix-name +git push origin master + +git checkout develop +git merge hotfix/your-fix-name +git push origin develop +``` + +### 3. 发布到生产 + +```bash +# 将 develop 合并到 master +git checkout master +git merge develop +git push origin master + +# 打标签 +git tag -a v1.0.0 -m "Release version 1.0.0" +git push origin v1.0.0 +``` + +## 提交信息规范 + +使用 Conventional Commits 规范: + +| 类型 | 说明 | 示例 | +|------|------|------| +| `feat` | 新功能 | `feat: add user login` | +| `fix` | 修复bug | `fix: correct i18n loading` | +| `docs` | 文档变更 | `docs: update README` | +| `style` | 代码格式 | `style: format code` | +| `refactor` | 重构 | `refactor: simplify API` | +| `test` | 测试 | `test: add unit tests` | +| `chore` | 构建/工具 | `chore: update dependencies` | + +格式: +``` +(): + + + +