refactor(audit): 统一审计日志字段命名并增强日志信息
标准化审计日志字段命名,将tenant_id等改为camelCase格式 添加userId、module等新字段以增强审计追踪能力 修改metadata字段为对象类型以提高可读性
This commit is contained in:
34
.github/README.md
vendored
34
.github/README.md
vendored
@@ -1,34 +0,0 @@
|
|||||||
# GitHub 配置
|
|
||||||
|
|
||||||
## 📋 项目简介
|
|
||||||
|
|
||||||
本目录包含 GitHub 相关的配置文件,主要用于 CI/CD 工作流。
|
|
||||||
|
|
||||||
## 🚀 核心功能
|
|
||||||
|
|
||||||
### 1. CI/CD 工作流
|
|
||||||
- **文件**: `workflows/ci-cd.yml`
|
|
||||||
- **功能**: 自动化构建、测试和部署
|
|
||||||
- **触发条件**: 代码提交到 main 分支
|
|
||||||
|
|
||||||
## 📁 项目结构
|
|
||||||
|
|
||||||
```
|
|
||||||
.github/
|
|
||||||
├── workflows/ # 工作流配置
|
|
||||||
│ └── ci-cd.yml # CI/CD 配置
|
|
||||||
└── README.md # 项目说明
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 工作流配置
|
|
||||||
|
|
||||||
### CI/CD 流程
|
|
||||||
1. **安装依赖**: 安装项目依赖
|
|
||||||
2. **代码检查**: 运行 ESLint 和 TypeScript 类型检查
|
|
||||||
3. **运行测试**: 执行单元测试和集成测试
|
|
||||||
4. **构建项目**: 构建前端和后端项目
|
|
||||||
5. **部署**: 部署到生产环境
|
|
||||||
|
|
||||||
## 🤝 贡献
|
|
||||||
|
|
||||||
欢迎贡献 GitHub 配置和提出建议!请先阅读项目文档,然后提交 Pull Request。
|
|
||||||
@@ -76,12 +76,16 @@ export class SovereignCreditPoolService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await AuditService.log({
|
await AuditService.log({
|
||||||
tenant_id: tenantId,
|
tenantId: tenantId,
|
||||||
|
userId: 'SYSTEM',
|
||||||
|
module: 'CREDIT_POOL',
|
||||||
action: 'SOV_CREDIT_LIMIT_REFRESHED',
|
action: 'SOV_CREDIT_LIMIT_REFRESHED',
|
||||||
target_type: 'FINANCE_CREDIT',
|
resourceType: 'FINANCE_CREDIT',
|
||||||
target_id: tenantId,
|
resourceId: tenantId,
|
||||||
trace_id: traceId,
|
traceId: traceId,
|
||||||
new_data: JSON.stringify({ newLimit, newMultiplier }),
|
afterSnapshot: JSON.stringify({ newLimit, newMultiplier }),
|
||||||
|
result: 'success',
|
||||||
|
source: 'node',
|
||||||
metadata: { score: reputation.aggregated_market_score }
|
metadata: { score: reputation.aggregated_market_score }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import db from '../config/database';
|
import db from '../config/database';
|
||||||
import { AuditService } from './AuditService';
|
import { AuditService } from './AuditService';
|
||||||
import { AIService } from './AIService';
|
import { AIService } from './AIService';
|
||||||
import { crypto } from 'crypto';
|
import * as crypto from 'crypto';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [BIZ_SOV_01] 跨平台贸易主权证书体系 (Sovereignty Identity)
|
* [BIZ_SOV_01] 跨平台贸易主权证书体系 (Sovereignty Identity)
|
||||||
@@ -35,13 +35,17 @@ export class SovereigntyIdentityService {
|
|||||||
|
|
||||||
// 审计记录
|
// 审计记录
|
||||||
await AuditService.log({
|
await AuditService.log({
|
||||||
tenant_id: tenantId,
|
tenantId: tenantId,
|
||||||
|
userId: 'SYSTEM',
|
||||||
|
module: 'SOVEREIGNTY',
|
||||||
action: 'SOVEREIGNTY_IDENTITY_CREATED',
|
action: 'SOVEREIGNTY_IDENTITY_CREATED',
|
||||||
target_type: 'TENANT_IDENTITY',
|
resourceType: 'TENANT_IDENTITY',
|
||||||
target_id: tenantId,
|
resourceId: tenantId,
|
||||||
trace_id: traceId,
|
traceId: traceId,
|
||||||
new_data: JSON.stringify({ did, publicKey }),
|
afterSnapshot: JSON.stringify({ did, publicKey }),
|
||||||
metadata: JSON.stringify({ version: 'V27.0 Initial' })
|
result: 'success',
|
||||||
|
source: 'node',
|
||||||
|
metadata: { version: 'V27.0 Initial' }
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -57,7 +61,7 @@ export class SovereigntyIdentityService {
|
|||||||
const scores = await Promise.all(platforms.map(p => AIService.getPlatformReputation(tenantId, p)));
|
const scores = await Promise.all(platforms.map(p => AIService.getPlatformReputation(tenantId, p)));
|
||||||
|
|
||||||
// 2. 计算加权综合评分
|
// 2. 计算加权综合评分
|
||||||
const averageScore = scores.reduce((a, b) => a + b, 0) / scores.length;
|
const averageScore = scores.reduce((a: number, b: number) => a + b, 0) / scores.length;
|
||||||
|
|
||||||
await db('cf_sovereignty_identity')
|
await db('cf_sovereignty_identity')
|
||||||
.where({ tenant_id: tenantId })
|
.where({ tenant_id: tenantId })
|
||||||
@@ -67,13 +71,17 @@ export class SovereigntyIdentityService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await AuditService.log({
|
await AuditService.log({
|
||||||
tenant_id: tenantId,
|
tenantId: tenantId,
|
||||||
|
userId: 'SYSTEM',
|
||||||
|
module: 'SOVEREIGNTY',
|
||||||
action: 'REPUTATION_SYNCED',
|
action: 'REPUTATION_SYNCED',
|
||||||
target_type: 'TENANT_IDENTITY',
|
resourceType: 'TENANT_IDENTITY',
|
||||||
target_id: tenantId,
|
resourceId: tenantId,
|
||||||
trace_id: traceId,
|
traceId: traceId,
|
||||||
new_data: JSON.stringify({ averageScore }),
|
afterSnapshot: JSON.stringify({ averageScore }),
|
||||||
metadata: JSON.stringify({ platforms })
|
result: 'success',
|
||||||
|
source: 'node',
|
||||||
|
metadata: { platforms }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user