Files
hzhub/docs/erp-api-testing-guide.md
大壮 c2513849b4 feat: 添加ERP服务和系统服务,完善员工门户功能
## 新增服务模块

### 1. ERP服务 (hzhub-erp)
- 新增独立的ERP数据适配服务
- 支持SQL Server 2008 R2数据源
- 提供动态API配置管理系统
- 包含客户管理、销售数据等业务接口

### 2. 系统服务 (hzhub-system)
- 新增独立的系统管理服务
- 用户、角色、权限、部门、菜单管理
- 租户管理、操作日志、在线用户监控
- 工作流引擎(warm-flow)集成
- 企业微信审批同步功能

### 3. API网关 (hzhub-gateway)
- 新增Spring Cloud Gateway网关服务
- JWT认证、路由分发、限流熔断
- XSS防护、请求日志记录
- 统一入口端口8080

## 后台管理功能增强

### ERP动态API管理
- 新增动态API配置管理界面
- API测试、文档预览、统计监控
- 错误日志查看、缓存管理
- 从数据库表自动导入API配置

### 系统管理增强
- 企业微信配置管理
- 企业微信审批同步配置
- 部门和用户管理优化

## 员工门户功能完善

### 业务页面
- 审批中心:工作流审批、待办任务
- CRM管理:客户关系管理
- 经销商管理:经销商数据展示
- 供应链管理:采购、库存、销售
- BI报表:数据可视化分析
- ERP数据探索:SQL Server数据查询

### 个人中心
- 基本设置:个人信息管理
- 安全设置:密码修改、登录日志
- 锁屏功能:自动锁屏、手动锁屏

### 其他功能
- 标签页管理:多标签页导航
- 页面缓存:keepAlive缓存机制
- 会话超时:自动检测并提示

## 经销商门户

### 页面路由
- 新增经销商管理页面路由
- AI聊天界面完善

## 文档更新

- ERP API数据库初始化指南
- ERP API前端完整实现文档
- ERP API测试和验证指南
- Gateway路由迁移计划
- 项目配置文档更新

## 部署脚本

- 统一启动/停止/重启脚本
- Docker Compose配置优化
- Nginx配置文件更新

## 技术栈

- 后端: Spring Boot 3.5.8, Java 17
- 前端: Vue 3, TypeScript, Element Plus, Vben Admin
- 工作流: warm-flow 1.8.2
- 网关: Spring Cloud Gateway
- 数据库: MySQL 8.0, SQL Server 2008 R2
- 缓存: Redis 7
- 向量库: Weaviate 1.25.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 08:00:19 +00:00

163 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ERP API 管理平台 - 测试流程
## 当前状态
**后端代码已完成**Phase 1
**SQL 文件已创建**`/data/hzhub/hzhub-erp/docs/sql/erp_api_tables.sql`
**初始化指南已创建**`/data/hzhub/docs/erp-api-database-init-guide.md`
**数据库表待创建**(需手动执行)
**ERP 服务待重启**
---
## 执行步骤
### Step 1: 创建数据库表(需手动执行)
**推荐方式**:通过 Docker MySQL 容器执行
```bash
# 1. 进入 MySQL 容器
docker exec -it hzhub-mysql mysql -u root -phzhub123
# 2. 在 MySQL 命令行中执行
USE hzhub;
# 3. 复制粘贴以下 SQL或执行 SQL 文件)
-- 见文件:/data/hzhub/hzhub-erp/docs/sql/erp_api_tables.sql
# 4. 验证表创建
SHOW TABLES LIKE 'erp_api_%';
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'hzhub' AND table_name LIKE 'erp_api_%';
# 5. 验证菜单插入
SELECT menu_id, menu_name, perms FROM sys_menu WHERE menu_name LIKE '%ERP%' OR menu_name LIKE '%API%';
# 6. 退出
exit;
```
**如果 MySQL 容器不可访问**,可使用 Navicat/DBeaver 等工具连接 localhost:3306 执行 SQL。
---
### Step 2: 重启 ERP 服务(自动执行)
执行完 SQL 后,我将继续执行:
```bash
cd /data/hzhub/hzhub-erp
./restart.sh # 或 ./start.sh
```
---
### Step 3: 验证服务健康(自动执行)
```bash
# 检查健康状态
curl http://localhost:8082/actuator/health
# 检查 ERP 服务进程
cd hzhub-erp && ./status.sh
```
---
### Step 4: 手动测试 API需你手动执行
#### 4.1 通过管理后台测试(推荐)
1. **访问管理后台**http://192.168.120.60:5666
2. **登录**(使用管理员账号)
3. **刷新菜单**(菜单会动态加载,新菜单"ERP管理"应该出现)
4. **进入 ERP管理 > API配置**
5. **点击"新增"创建测试 API**
- API名称`测试客户查询`
- API路径`/erp/dynamic/v1/test_customer`
- HTTP方法`GET`
- SQL模板
```sql
SELECT TOP 10 customer_code, customer_name FROM customer_general
```
- 结果类型:`LIST`
- 支持分页:``
- 状态:`启用`
6. **点击"测试"按钮**:输入空参数 `{}`,查看执行结果
#### 4.2 通过 curl 直接测试
```bash
# 测试动态 API 执行(无需 Token因为当前 @SaIgnore
curl http://localhost:8082/erp/dynamic/v1/test_customer
# 如果通过网关访问(需要 Token
curl -H "Authorization: Bearer <token>" http://localhost:8080/erp/dynamic/v1/test_customer
```
---
### Step 5: 测试结果验证
**预期结果**
1. **API 配置保存成功**:能在列表中看到刚创建的 API
2. **测试执行成功**:返回 SQL Server 数据库中的客户数据
3. **执行时间记录**:能看到响应时间(毫秒)
4. **错误处理**:如果 SQL 错误,能看到详细的错误信息
---
## 可能遇到的问题
### 问题 1: 菜单不显示
**原因**:菜单 SQL 未执行或角色无权限
**解决**
1. 检查 sys_menu 表是否插入成功
2. 在角色管理中为管理员角色分配 `erp:api:*` 权限
3. 清除浏览器缓存重新登录
### 问题 2: SQL 执行失败
**原因**SQL Server 连接问题或 SQL 语法错误
**解决**
1. 检查 ERP 服务配置:`hzhub-erp/src/main/resources/application-dev.yml`
2. 确认 SQL Server 地址:`192.168.120.10:8042`
3. 测试 SQL Server 连接:
```bash
curl http://localhost:8082/erp/test/connection
```
### 问题 3: 动态 API 返回 404
**原因**API 配置路径不匹配或服务未重启
**解决**
1. 确认 ERP 服务已重启
2. 检查 API 配置中的 `api_path` 是否为 `/erp/dynamic/v1/xxx`
3. 确认 `api_method` 和 `api_version` 正确
---
## 下一步计划
测试成功后,我将继续:
1. **创建前端界面**API 配置列表、编辑页、测试弹窗)
2. **实现从表导入功能**(自动生成 SQL 和参数)
3. **添加缓存和监控功能**
4. **完善安全验证和权限控制**
---
## 准备好了吗?
**请告诉我 SQL 执行完成后的状态**
- ✅ SQL 执行成功,表和菜单已创建
- ❌ SQL 执行遇到问题,需要帮助
我将根据你的反馈继续后续步骤。