138 lines
3.6 KiB
Markdown
138 lines
3.6 KiB
Markdown
# 客户跟进功能实现总结
|
|
|
|
## 已完成的改动
|
|
|
|
### 1. 侧边栏导航
|
|
✅ 在"客户信息管理"旁边新增了"客户跟进"导航项
|
|
|
|
### 2. 客户跟进页面
|
|
✅ 创建了完整的客户跟进管理页面,包含:
|
|
|
|
#### 2.1 表单字段
|
|
- **客户名称**: 下拉框选择,数据源来自客户列表
|
|
- **成交状态**: 下拉框选择 (未成交/已成交)
|
|
- **客户级别**: 下拉框选择
|
|
- A级 - 重点客户
|
|
- B级 - 潜在客户
|
|
- C级 - 一般客户
|
|
- **客户行业**: 文本输入框
|
|
- **跟进时间**: 日期时间选择器
|
|
|
|
#### 2.2 跟进列表
|
|
- 显示所有跟进记录
|
|
- 包含分页功能
|
|
- 显示通知状态 (已通知/待通知)
|
|
- 支持删除操作
|
|
|
|
### 3. 后端实现
|
|
|
|
#### 3.1 数据模型 (`models/followup.go`)
|
|
- FollowUp 结构体
|
|
- CreateFollowUpRequest
|
|
- UpdateFollowUpRequest
|
|
|
|
#### 3.2 存储层 (`internal/storage/followup_storage.go`)
|
|
- CRUD 操作
|
|
- 获取待通知的跟进记录
|
|
- 标记通知已发送
|
|
|
|
#### 3.3 处理器 (`internal/handlers/followup_handler.go`)
|
|
- HTTP 请求处理
|
|
- 飞书 Webhook 集成
|
|
- 自动通知检查
|
|
|
|
#### 3.4 API 路由 (`cmd/server/main.go`)
|
|
- GET /api/followups - 获取跟进列表
|
|
- POST /api/followups - 创建跟进
|
|
- GET /api/followups/:id - 获取单个跟进
|
|
- PUT /api/followups/:id - 更新跟进
|
|
- DELETE /api/followups/:id - 删除跟进
|
|
- GET /api/customers/list - 获取客户列表
|
|
|
|
### 4. 飞书机器人通知
|
|
|
|
#### 4.1 通知机制
|
|
- 后台定时任务每分钟检查一次
|
|
- 当跟进时间到达时自动发送通知
|
|
- 通知内容: "@所有人 请及时跟进\"客户名称\""
|
|
- 使用飞书卡片消息格式
|
|
|
|
#### 4.2 配置方式
|
|
通过环境变量配置:
|
|
```bash
|
|
export FEISHU_WEBHOOK_URL="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxx"
|
|
```
|
|
|
|
### 5. 前端实现 (`frontend/`)
|
|
|
|
#### 5.1 HTML (`index.html`)
|
|
- 新增客户跟进导航项
|
|
- 新增客户跟进页面区域
|
|
- 表单和列表展示
|
|
|
|
#### 5.2 JavaScript (`js/main.js`)
|
|
- 页面切换逻辑
|
|
- 表单提交处理
|
|
- 数据加载和渲染
|
|
- 分页控制
|
|
- 删除操作
|
|
|
|
## 技术特点
|
|
|
|
1. **完整的 CRUD 功能**: 支持创建、读取、更新、删除跟进记录
|
|
2. **自动化通知**: 后台定时检查并自动发送飞书通知
|
|
3. **用户友好**:
|
|
- 客户名称下拉选择
|
|
- 日期时间选择器
|
|
- 清晰的通知状态显示
|
|
4. **数据持久化**: 使用 JSON 文件存储
|
|
5. **分页支持**: 前后端都支持分页
|
|
6. **响应式设计**: 适配移动端和桌面端
|
|
|
|
## 数据存储
|
|
|
|
- 跟进记录存储在: `./data/followups.json`
|
|
- 客户数据存储在: `./data/customers.json`
|
|
|
|
## 使用说明
|
|
|
|
1. 点击侧边栏"客户跟进"进入页面
|
|
2. 点击"添加跟进"按钮显示表单
|
|
3. 填写所有必填字段
|
|
4. 点击"确认"创建跟进记录
|
|
5. 系统会在设定时间自动发送飞书通知
|
|
|
|
## 注意事项
|
|
|
|
1. 需要配置 `FEISHU_WEBHOOK_URL` 环境变量才能使用通知功能
|
|
2. 飞书机器人需要添加到对应的群聊中
|
|
3. 确保服务器时区设置正确
|
|
4. 每条跟进记录只会发送一次通知
|
|
|
|
## 文件清单
|
|
|
|
### 新增文件:
|
|
- `models/followup.go` - 跟进数据模型
|
|
- `internal/storage/followup_storage.go` - 跟进存储层
|
|
- `internal/handlers/followup_handler.go` - 跟进处理器
|
|
- `README_FOLLOWUP.md` - 功能说明文档
|
|
- `IMPLEMENTATION_SUMMARY.md` - 本文件
|
|
|
|
### 修改文件:
|
|
- `cmd/server/main.go` - 添加跟进路由和后台任务
|
|
- `frontend/index.html` - 添加跟进页面UI
|
|
- `frontend/js/main.js` - 添加跟进页面逻辑
|
|
|
|
## 构建和运行
|
|
|
|
```bash
|
|
# 构建
|
|
go build ./cmd/server/main.go
|
|
|
|
# 运行 (可选配置飞书 Webhook)
|
|
export FEISHU_WEBHOOK_URL="your_webhook_url"
|
|
go run ./cmd/server/main.go
|
|
```
|
|
|
|
服务器将在 http://localhost:8081 启动
|