2025-05-22 15:22:40 +08:00
|
|
|
|
## TODO
|
|
|
|
|
|
|
2026-05-13 16:17:57 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-07 12:43:15 +08:00
|
|
|
|
错误提示增强,展示整链路信息
|
2026-04-27 14:05:35 +08:00
|
|
|
|
|
2026-04-18 11:15:29 +08:00
|
|
|
|
交易信息持久化
|
2026-03-28 14:18:11 +08:00
|
|
|
|
|
2026-05-21 16:31:59 +08:00
|
|
|
|
订单关闭问题,在前端关闭窗口后直接调用了全部订单接口,应改成先确认再关闭
|
2026-06-01 16:08:58 +08:00
|
|
|
|
|
2026-05-21 16:31:59 +08:00
|
|
|
|
- 取消订单接口改成只允许管理员调用
|
|
|
|
|
|
- 新增关闭订单接口,关闭订单的逻辑是先尝试完成,如果订单未支付则取消订单
|
2025-12-01 12:43:29 +08:00
|
|
|
|
|
2026-04-02 17:48:59 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
2025-11-24 18:44:06 +08:00
|
|
|
|
分离 task 的客户端,支持多进程(prefork 必要!)
|
|
|
|
|
|
|
2025-12-08 14:22:30 +08:00
|
|
|
|
慢速请求底层调用埋点监控
|
2026-02-27 16:28:28 +08:00
|
|
|
|
|
2025-11-24 18:44:06 +08:00
|
|
|
|
冷数据迁移方案
|
2026-02-27 16:28:28 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
## 开发流程
|
2026-03-18 13:07:06 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
### 新建数据表流程
|
2026-03-18 13:07:06 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
1. 创建 model 文件
|
|
|
|
|
|
2. 将 model 按照格式添加声明到 `cmd/gen/main.go` 中
|
|
|
|
|
|
3. 编辑 `scripts/sql/init.sql` 文件,参照原有格式,需要注意:
|
2026-03-18 13:07:06 +08:00
|
|
|
|
- 先写 drop table if exists 语句,确保脚本可以幂等执行
|
|
|
|
|
|
- 为有必要的字段添加索引
|
|
|
|
|
|
- 为数据表及其字段添加注释
|
|
|
|
|
|
- 在文件末尾创建数据表流程全部结束后,为字段添加外键
|
2026-06-01 16:08:58 +08:00
|
|
|
|
4. 调用 `go run ./cmd/gen/main.go` 生成查询文件
|
2026-03-18 13:07:06 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
### 更新数据表流程
|
2026-03-30 14:59:35 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
1. 更新 model 文件
|
|
|
|
|
|
2. 编辑 `scripts/sql/init.sql` 文件,参照原有格式,需要注意:
|
|
|
|
|
|
- 先写 drop table if exists 语句,确保脚本可以幂等执行
|
|
|
|
|
|
- 为有必要的字段添加索引
|
|
|
|
|
|
- 为数据表及其字段添加注释
|
|
|
|
|
|
- 在文件末尾创建数据表流程全部结束后,为字段添加外键
|
|
|
|
|
|
3. 调用 `go run ./cmd/gen/main.go` 更新查询文件
|
2026-03-30 14:59:35 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
### 新增接口或修改接口权限
|
2026-03-30 14:59:35 +08:00
|
|
|
|
|
2026-06-01 16:08:58 +08:00
|
|
|
|
1. 在 `web/core/scopes.go` 下声明权限常量。通常格式为 `Model:Action:SubAction`,例如 `User:Create`、`User:Delete`、`User:Update:Password` 等
|
|
|
|
|
|
2. 在 `scripts/sql/fill.sql` 文件的权限区域添加或修改权限条目
|
2026-03-30 14:59:35 +08:00
|
|
|
|
|
2025-05-27 15:08:18 +08:00
|
|
|
|
## 业务逻辑
|
2025-03-15 16:07:45 +08:00
|
|
|
|
|
2025-06-26 09:28:42 +08:00
|
|
|
|
### 订单关闭的几种方式
|
2025-05-27 15:08:18 +08:00
|
|
|
|
|
2025-11-24 18:44:06 +08:00
|
|
|
|
1. 创建订单后推送异步任务,到时间后尝试完成订单或关闭订单
|
2025-06-26 09:28:42 +08:00
|
|
|
|
2. sse 接口推送订单状态,轮询尝试完成订单
|
|
|
|
|
|
3. 异步回调事件,收到支付成功事件后自动完成订单
|
2025-11-24 18:44:06 +08:00
|
|
|
|
4. 用户退出支付界面,客户端主动发起关闭订单
|
2025-05-27 15:08:18 +08:00
|
|
|
|
|
2025-11-24 18:44:06 +08:00
|
|
|
|
### 节点分配与存储逻辑
|
2025-06-26 09:28:42 +08:00
|
|
|
|
|
2026-02-27 16:28:28 +08:00
|
|
|
|
提取:
|
|
|
|
|
|
|
2025-12-08 14:22:30 +08:00
|
|
|
|
- 检查用户套餐与白名单
|
|
|
|
|
|
- 选中代理
|
|
|
|
|
|
- 找到当前可用端口最多的代理
|
|
|
|
|
|
- 不考虑分割端口,不够加机器
|
|
|
|
|
|
- 获取可用端口
|
|
|
|
|
|
- 获取可用节点
|
|
|
|
|
|
- 生成批次号,提交到期释放任务
|
|
|
|
|
|
- 绑定节点与端口,保存到数据库
|
|
|
|
|
|
- 分别提交连接与配置请求
|
|
|
|
|
|
|
|
|
|
|
|
释放:
|
2026-02-27 16:28:28 +08:00
|
|
|
|
|
2025-12-08 14:22:30 +08:00
|
|
|
|
- 根据批次查出所有端口与相关节点
|
|
|
|
|
|
- 分别提交断开与关闭请求
|
|
|
|
|
|
- 释放端口
|