Skip to content

Tongh-de/Dify_eduagent_api

Repository files navigation

粤教服务AI智能体

企业级客户管理与日报系统,支持客户跟进、日报提交审批、员工管理、AI智能分析、自然语言查询等功能。

技术栈

  • 后端: FastAPI + Python
  • 前端: HTML + CSS + JavaScript
  • 数据库: MySQL
  • 认证: JWT Token
  • AI: 支持对接 Dify LLM、NL2SQL 自然语言查询

项目结构

yuejiao_end/
├── main.py                    # 应用入口
├── config/                    # 配置文件
│   └── database.py          # 数据库配置
├── apps/                     # 业务模块
│   ├── auth/                # 认证模块(登录、获取用户信息)
│   ├── customer/           # 客户管理(CRUD、AI分析、跟进记录)
│   ├── daily_report/       # 日报管理(提交、审批、导出、总结、NL2SQL)
│   └── employee/           # 员工管理(CRUD、部门统计)
├── services/                # 公共服务
│   ├── llm/               # LLM 服务
│   ├── nl2sql/            # 自然语言转 SQL
│   ├── notification/      # 邮件通知
│   └── tasks/             # 定时任务
├── utils/                  # 工具函数
│   ├── exporter.py       # Excel 导出
│   └── log_service.py    # 操作日志
├── frontend/              # 前端页面
│   └── index.html        # 主页面
├── init_db.sql           # 数据库初始化脚本
└── requirements.txt      # Python 依赖

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

创建 config/.env 文件:

# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=123456
DB_NAME=uemp_db

# JWT 配置
JWT_SECRET=your-secret-key
JWT_ALGORITHM=HS256

# 邮件配置(可选)
SMTP_HOST=smtp.qq.com
SMTP_PORT=587
SMTP_USER=your-email@qq.com
SMTP_PASSWORD=your-password
EMAIL_TO_LIST=admin@example.com

# LLM 配置(可选)
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.openai.com/v1

# Dify 配置(用于周报生成)
DIFY_API_URL=http://192.168.184.128/v1/run
DIFY_API_KEY=your-dify-api-key

3. 初始化数据库

mysql -u root -p < init_db.sql

4. 运行服务

python main.py

服务启动后访问:http://localhost:8086

默认管理员账号:EMP001(密码留空)

功能模块

认证模块 /api/auth

接口 方法 说明
/api/auth/login POST 登录
/api/auth/logout POST 登出
/api/auth/me GET 获取当前用户信息

客户管理 /api/customers

接口 方法 说明
/api/customers GET 获取客户列表
/api/customers POST 批量导入客户
/api/customers/analyze POST AI分析客户
/api/customers/{id} GET 获取客户详情
/api/customers/{id}/status PUT 更新客户状态
/api/customers/{id}/notes GET/POST 获取/添加跟进记录
/api/customers/export GET 导出客户 Excel
/api/customers/notes/upcoming GET 待跟进任务

日报管理 /api/daily-reports

接口 方法 说明
/api/daily-reports GET 获取日报列表
/api/daily-reports POST 提交日报
/api/daily-reports/{id} GET 日报详情
/api/daily-reports/export GET 导出日报 Excel
/api/daily-reports/pending GET 待审核日报
/api/daily-reports/approve POST 审核通过
/api/daily-reports/reject POST 驳回日报

日报总结 /api/reports

接口 方法 说明
/api/reports/summary GET 获取日报总结
/api/reports/summary/list GET 总结列表
/api/reports/daily-summary/trigger POST 触发总结生成

周报管理 /api/reports/weekly

接口 方法 说明
/api/reports/weekly GET 获取周报列表
/api/reports/weekly POST 保存周报
/api/reports/weekly/latest GET 获取最新周报

邮件通知 /api/notify

接口 方法 说明
/api/notify/email POST 发送邮件通知

NL2SQL 自然语言查询 /api/nl2sql

接口 方法 说明
/api/nl2sql POST 自然语言转 SQL 查询
/api/nl2sql/schema GET 获取数据库表结构

示例请求:

curl -X POST "http://localhost:8086/api/nl2sql" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"query": "有多少客户"}'

员工管理 /api/employees

接口 方法 说明
/api/employees GET 员工列表
/api/employees POST 新增员工
/api/employees/{no} GET/PUT/DELETE 员工详情/更新/删除
/api/employees/meta/departments GET 部门列表
/api/employees/meta/stats GET 员工统计

组织架构 /api/org-structure

接口 方法 说明
/api/org-structure GET 获取公司架构

AI 功能

NL2SQL 对接 Dify

  1. 在 Dify 创建 HTTP Request 节点
  2. 调用登录接口获取 token
  3. 将 token 和用户问题传给 /api/nl2sql
  4. 返回查询结果
POST http://localhost:8086/api/auth/login
Body: {"username": "EMP001", "password": ""}

POST http://localhost:8086/api/nl2sql
Headers: Authorization: Bearer {{token}}
Body: {"query": "{{用户问题}}"}

客户 AI 分析

支持文本和文件上传,自动提取客户信息并生成匹配度评分。

周报自动生成(调用 Dify Chatflow)

配置 Dify Chatflow:

  1. 在 Dify 创建周报生成 Chatflow
  2. 提示词:行业分析专家角色 + 报告结构
  3. 工具:HTTP 保存到后端 + HTTP 发送邮件
  4. 输出:完整周报内容

定时任务:

  • 每周一上午 10:00 自动调用 Dify Chatflow 生成上周周报
  • 自动保存到数据库 weekly_reports
  • 自动发送邮件到配置的收件人

Dify 回调接口:

POST http://localhost:8086/api/reports/weekly
Body: {
  "week_start": "2026-04-14",
  "week_end": "2026-04-20",
  "title": "04/14-04/20 工作周报",
  "content": "周报内容..."
}

POST http://localhost:8086/api/notify/email
Body: {
  "subject": "周报主题",
  "content": "<h2>周报内容</h2>..."
}

部门

  • 双元制事业部
  • 智能装备事业部
  • 课后服务事业部
  • 研学服务事业部
  • 科技赛事事业部

许可

内部使用

About

做一个客户的管理和企业内部管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors