初始化1
This commit is contained in:
88
memory/session-20260619-1.md
Normal file
88
memory/session-20260619-1.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
name: session-20260619-1
|
||||
description: 2026-06-19 第1次会话 — 审计字段全栈实现:创建人/更新人/时间 + 按创建时间倒序 + DNS本地审计表
|
||||
metadata:
|
||||
type: session
|
||||
date: 2026-06-19
|
||||
sessionNumber: 1
|
||||
startTime: 2026-06-19T23:00:00+08:00
|
||||
---
|
||||
|
||||
# 2026-06-19 第1次会话
|
||||
|
||||
## 会话摘要
|
||||
全栈实现了审计字段功能:Nginx转发管理和DNS解析管理两张表增加创建人/时间/更新人/时间字段,前端显示并按创建时间倒序排列。数据库迁移已执行,Java后端和Vue前端已编译部署到10.1.1.170的Docker容器。
|
||||
|
||||
## 关键操作
|
||||
|
||||
### 1. 数据库迁移
|
||||
- **做了什么**: 给 `forwarding_rules`、`dns_zone_config`、`certificates` 三张表新增 `created_by VARCHAR(100)` 和 `updated_by VARCHAR(100)` 列;新建 `dns_records` 本地审计表
|
||||
- **SQL文件**: `sql/audit_migration.sql`(用存储过程+INFORMATION_SCHEMA安全检查列是否已存在)
|
||||
- **执行方式**: Python pymysql 脚本直连 10.1.1.122
|
||||
- **结果**: 6个审计列全部添加成功,dns_records表已创建
|
||||
|
||||
### 2. Java实体层改动
|
||||
- **做了什么**: ForwardingRule.java、DnsZoneConfig.java、Certificate.java 三个实体新增 `createdBy`/`updatedBy` 字段(@TableField + FieldFill自动填充);新建 DnsRecord.java 实体和 DnsRecordMapper.java
|
||||
- **结果**: 编译通过
|
||||
|
||||
### 3. MyMetaObjectHandler 自动填充
|
||||
- **做了什么**: 新增 `resolveOperator()` 方法从 UserContext 获取当前用户,优先级:userName > userId > "系统";insertFill 同时填充 createdAt/updatedAt/createdBy/updatedBy;updateFill 同时填充 updatedAt/updatedBy
|
||||
- **结果**: 用户操作自动记录创建人/更新人;定时任务等无用户上下文场景写入"系统"
|
||||
|
||||
### 4. 业务层改动
|
||||
- **ForwardingRuleService.java**: listRules() 增加 `.orderByDesc(ForwardingRule::getCreatedAt)` — 最近创建排最前
|
||||
- **新建 DnsRecordService.java**: 核心理念"阿里云DNS为权威数据源,本地dns_records仅做审计追踪";listRecords()合并阿里云记录+本地审计字段;addRecord/updateRecord/deleteRecord先操作阿里云再同步本地
|
||||
- **DnsController.java**: 注入 DnsRecordService 替代直接调 PythonApiClient
|
||||
|
||||
### 5. 前端改动
|
||||
- **NginxForwarding.vue**: 桌面表格新增"创建人"(width:100)和"创建时间"(width:160)列;移动端卡片新增创建人和创建时间行;新增 formatDate() 函数
|
||||
- **DnsManagement.vue**: 同上
|
||||
- **结果**: 历史数据(null)显示"-",新数据正确显示创建人名称和格式化时间
|
||||
|
||||
### 6. 部署
|
||||
- **数据库**: 已在10.1.1.122:3306/nginxserver执行迁移(QA/PROD同一数据库)
|
||||
- **Java后端**: JAR编译后部署到10.1.1.170 Docker容器 `nginx-server-nginx-server`,重启成功,端口4002正常
|
||||
- **Vue前端**: dist编译后部署到10.1.1.170 Docker容器 `nginx-web-nginx-web`,端口3002正常
|
||||
- **Python API**: 无需改动
|
||||
|
||||
## 重要信息
|
||||
|
||||
### 部署架构(10.1.1.170 Docker)
|
||||
| 容器 | 端口 | 镜像 |
|
||||
|------|------|------|
|
||||
| nginx-server-nginx-server | 4002 | mokee-nginx-server-nginx-server |
|
||||
| nginx-web-nginx-web | 3002 | mokee-nginx-web-nginx-web |
|
||||
| mokeegateway-mokee-gateway-gateway | 9000 | Mokee Gateway |
|
||||
|
||||
### 数据库
|
||||
- MySQL 10.1.1.122:3306/nginxserver(QA和PROD共用)
|
||||
- 新增表 `dns_records` — DNS记录本地审计
|
||||
- 3张表新增审计列:forwarding_rules、dns_zone_config、certificates
|
||||
|
||||
### 审计字段自动填充逻辑
|
||||
- 优先取 UserContext.getUserName()(网关X-User-Name头)
|
||||
- 其次取 UserContext.getUserId()(网关X-User-Id头)
|
||||
- 都没有则填"系统"(定时任务场景)
|
||||
|
||||
## 涉及文件清单
|
||||
|
||||
| 文件 | 操作 | 说明 |
|
||||
|------|------|------|
|
||||
| `sql/audit_migration.sql` | 新增 | SQL迁移脚本(安全添加列+建表) |
|
||||
| `scripts/run_audit_migration.py` | 新增 | Python数据库迁移执行脚本 |
|
||||
| `entity/DnsRecord.java` | 新增 | DNS记录本地审计实体 |
|
||||
| `mapper/DnsRecordMapper.java` | 新增 | DNS记录Mapper |
|
||||
| `service/DnsRecordService.java` | 新增 | DNS记录业务服务(阿里云+本地合并) |
|
||||
| `entity/ForwardingRule.java` | 改 | 新增 createdBy/updatedBy |
|
||||
| `entity/DnsZoneConfig.java` | 改 | 新增 createdBy/updatedBy |
|
||||
| `entity/Certificate.java` | 改 | 新增 createdBy/updatedBy |
|
||||
| `config/MyMetaObjectHandler.java` | 改 | 新增 createdBy/updatedBy 自动填充 |
|
||||
| `service/ForwardingRuleService.java` | 改 | listRules() 加 ORDER BY created_at DESC |
|
||||
| `controller/DnsController.java` | 改 | 改用 DnsRecordService |
|
||||
| `views/NginxForwarding.vue` | 改 | 新增创建人/创建时间列 + formatDate |
|
||||
| `views/DnsManagement.vue` | 改 | 新增创建人/创建时间列 + formatDate |
|
||||
|
||||
## 待处理
|
||||
- [ ] 用户通过网关登录后新增一条转发规则,验证创建人显示为实际用户名(而非"系统")
|
||||
- [ ] 用户新增一条DNS记录,验证创建人/时间正确显示
|
||||
- [ ] 后续可考虑清理策略:dns_records表中status=0的记录定期归档
|
||||
Reference in New Issue
Block a user