# Ticket Workbench Backend Go Gin 工单管理系统后端服务。 ## 环境要求 - Go 1.24+ - MySQL 5.7+ ## 配置文件 编辑 `config.yaml`: ```yaml server: port: 8090 db: host: 39.99.243.191 port: 3306 user: root password: Lake@2019 dbname: ticket_dev glm: api_key: 7f83dc939a60488b8cf48a2ee1c8150e.NY3aOR0qlVS8m37a base_url: https://open.bigmodel.cn/api/paas/v4 model: glm-4-flash ``` ## 启动方式 ```bash # 安装依赖 go mod tidy # 运行 go run . # 编译 go build -o ticket-workbench.exe . # 运行编译后的程序 ./ticket-workbench.exe ``` ## API 接口 ### 认证 - `POST /api/login` - 登录 - `POST /api/logout` - 登出 - `GET /api/user/info` - 当前用户信息 ### 工单 - `GET /api/tickets` - 工单列表 - `POST /api/tickets` - 创建工单 - `GET /api/tickets/:id` - 工单详情 - `PUT /api/tickets/:id` - 更新工单 - `PUT /api/tickets/:id/status` - 更新状态 ### AI 分析 - `POST /api/tickets/:id/analyze` - 触发 AI 分析 - `GET /api/tickets/:id/analysis` - 获取分析结果 - `PUT /api/tickets/:id/analysis` - 确认/修改分析结果 ### 备注 - `GET /api/tickets/:id/notes` - 获取备注列表 - `POST /api/tickets/:id/notes` - 添加备注 ### 日志 - `GET /api/tickets/:id/logs` - 获取操作日志 ## 认证方式 所有 API(除登录/登出外)需要通过 Authorization header 或 jsessionid cookie 携带 token。 ``` Authorization: {token} ``` ## 项目结构 ``` backend/ ├── main.go # 入口文件 ├── config.yaml # 配置文件 ├── go.mod / go.sum # 依赖管理 └── internal/ ├── config/ # 配置读取 ├── model/ # GORM 模型 ├── dto/ # 请求/响应 DTO ├── handler/ # Gin handler ├── service/ # 业务逻辑 └── middleware/ # 中间件 ```