保存更改记录;优化同步作业日志级别

This commit is contained in:
2025-08-21 15:58:34 +08:00
parent 261ee88a4b
commit 89adb4f8a4
5 changed files with 66 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"log/slog"
"strconv"
"time"
"zzman/clients/jd"
"zzman/model"
u "zzman/util"
@@ -29,6 +30,8 @@ func Update(args ...UpdateArgs) error {
}
func update(tx *gorm.DB, arg UpdateArgs) error {
var now = time.Now()
gateways, err := FindGateways(tx)
if err != nil {
return fmt.Errorf("获取所有网关失败:%w", err)
@@ -110,6 +113,7 @@ func update(tx *gorm.DB, arg UpdateArgs) error {
// 更新网关配置
var configs2Create []model.Config
var configs2Update []model.ConfigUpdate
var changes []model.Change
for iGateway, gateway := range gateways2Update {
@@ -125,6 +129,13 @@ func update(tx *gorm.DB, arg UpdateArgs) error {
IsChange: u.P(0),
})
changes = append(changes, model.Change{
Time: now,
Gateway: gateway.Macaddr,
OldEdge: oldConfig.Macaddr,
NewEdge: newConfig.Macaddr,
})
newConfigs[gateway][iCity] = ConfigInfo{
Type: 1, // 更新
Item: jd.EdgeInfo{
@@ -146,6 +157,13 @@ func update(tx *gorm.DB, arg UpdateArgs) error {
InnerIp: fmt.Sprintf("172.16.%d.%d", gateway.Id, iCity+2),
})
changes = append(changes, model.Change{
Time: now,
Gateway: gateway.Macaddr,
OldEdge: "",
NewEdge: newConfig.Macaddr,
})
newConfigs[gateway][iCity] = ConfigInfo{
Type: 2, // 新增
Item: jd.EdgeInfo{
@@ -168,6 +186,10 @@ func update(tx *gorm.DB, arg UpdateArgs) error {
if err != nil {
return fmt.Errorf("更新城市 %s 的偏移量失败:%w", city.Name, err)
}
err = RecordChange(tx, changes)
if err != nil {
return fmt.Errorf("记录变更失败:%w", err)
}
}
// 提交所有网关配置到云端