Files
ticket-workbench/backend
绝尘 e94f160782 修复: 代码审查4个必改项+4个建议改进
- 工单编号改为业务格式 TK-yyMMdd-NNN
- 类型断言加 comma-ok 防 panic
- priority 用指针区分未传/P0
- json.Marshal 错误处理
- 提取 ParseID 公共函数消除重复
- HTTP client 包级别复用
- LIKE 查询特殊字符转义
- interface{} → any
- auth 中间件用 dto.Fail 统一响应
2026-05-13 19:01:06 +08:00
..
2026-05-13 17:05:49 +08:00
2026-05-13 17:05:49 +08:00

Ticket Workbench Backend

Go Gin 工单管理系统后端服务。

环境要求

  • Go 1.24+
  • MySQL 5.7+

配置文件

编辑 config.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

启动方式

# 安装依赖
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/        # 中间件