Add the survival_time field

This commit is contained in:
qiwang 2024-04-03 11:30:17 +08:00
parent 410dad4477
commit 0310562b31
3 changed files with 6278 additions and 6231 deletions

View File

@ -7,6 +7,7 @@ import (
"gitlink.org.cn/JointCloud/pcm-openstack/internal/common"
"gitlink.org.cn/JointCloud/pcm-openstack/internal/svc"
"gitlink.org.cn/JointCloud/pcm-openstack/openstack"
"time"
"encoding/json"
"github.com/zeromicro/go-zero/core/logx"
@ -132,6 +133,7 @@ type ServersDetailed struct {
Id string `json:"Id"`
Name string `json:"Name"`
Key_name string `json:"Key_name"`
Survival_time int32 `json:"Survival_time"`
// 其他字段...
}
@ -159,6 +161,7 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
fmt.Println("错误结果1", "aaaaaaaaaaaa")
var newList []interface{}
fmt.Println("错误结果2", "bbbbbbbbbb")
var days int32
for _, server := range response.Servers {
fmt.Println("错误结果3", response.Servers)
if len(server.Addresses) > 0 {
@ -168,6 +171,36 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
fmt.Println("错误结果5", addr.Addr)
ip := addr.Addr
fmt.Println("addr:", addr.Addr)
//computing time
now := time.Now()
// 获取当前时间的Unix时间戳
unixTimestampSeconds := now.Unix()
fmt.Println("Unix时间戳:", unixTimestampSeconds)
// 解析ISO 8601格式的字符串为time.Time对象
t, err := time.Parse(time.RFC3339, server.Created)
if err != nil {
panic(err) // 如果解析出错这里使用panic来演示实际应用中应做适当的错误处理
}
// 获取Unix时间戳
unixTimestampSecondsCreated := t.Unix()
fmt.Println("Unix时间戳:", unixTimestampSecondsCreated)
timestamp1 := int64(unixTimestampSecondsCreated)
timestamp2 := int64(unixTimestampSeconds)
// 将时间戳转换为time.Time对象
time1 := time.Unix(timestamp1, 0)
time2 := time.Unix(timestamp2, 0)
// 计算时间差
diff := time2.Sub(time1)
// 将时间差转换为天数
days := int(diff.Hours() / 24)
fmt.Println("相差天数:", days)
// 假设我们想要提取任务状态(task_state)和状态(status)
newList = append(newList, map[string]interface{}{
"OSTaskState": server.OSTaskState,
@ -183,6 +216,7 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
"Id": server.Id,
"Name": server.Name,
"Key_name": server.Key_name,
"Survival_time": days,
})
}
@ -198,11 +232,12 @@ func (l *ListServersDetailedLogic) ListServersDetailed(in *openstack.ListServers
"Updated": server.Updated,
"HostId": server.HostId,
//"Ip": ip,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
"Key_name": server.Key_name,
"Image": server.Image.Id,
"Flavor": server.Flavor.Id,
"Id": server.Id,
"Name": server.Name,
"Key_name": server.Key_name,
"Survival_time": days,
})
}

File diff suppressed because it is too large Load Diff

View File

@ -127,6 +127,7 @@ message ListServersDetailedResp {
string Id =11;
string Name =12;
string Key_name =13;
int32 Survival_time =14;
}
repeated ServersDetailed servers = 1; // @gotags: copier:"ServersDetailed"