保存更改记录;优化同步作业日志级别
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
// 提交所有网关配置到云端
|
||||
|
||||
Reference in New Issue
Block a user