mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-08-04 21:00:11 +00:00
fix: correctly parse VPS expiry from PublicNote and enhance domain date parsing
This commit is contained in:
@@ -140,5 +140,8 @@ func SyncDomainWHOIS(c *gin.Context) (any, error) {
|
|||||||
|
|
||||||
func SyncAllDomains(c *gin.Context) (any, error) {
|
func SyncAllDomains(c *gin.Context) (any, error) {
|
||||||
singleton.SyncAllDomains()
|
singleton.SyncAllDomains()
|
||||||
|
// 手动触发到期检查,方便调试
|
||||||
|
singleton.CronJobForDomainStatus()
|
||||||
|
singleton.CronJobForServerStatus()
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|||||||
+28
-10
@@ -399,7 +399,16 @@ func CronJobForDomainStatus() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
endDate, err := time.Parse(time.RFC3339, billing.EndDate)
|
// 处理类似 2026-10-10 甚至其他不带时区的格式
|
||||||
|
endDateStr := billing.EndDate
|
||||||
|
var endDate time.Time
|
||||||
|
var err error
|
||||||
|
if len(endDateStr) == 10 { // YYYY-MM-DD
|
||||||
|
endDate, err = time.Parse("2006-01-02", endDateStr)
|
||||||
|
} else {
|
||||||
|
endDate, err = time.Parse(time.RFC3339, endDateStr)
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("NEZHA>> Cron::Error parsing end date for domain %s: %v", d.Domain, err)
|
log.Printf("NEZHA>> Cron::Error parsing end date for domain %s: %v", d.Domain, err)
|
||||||
continue
|
continue
|
||||||
@@ -466,21 +475,30 @@ func CronJobForServerStatus() {
|
|||||||
|
|
||||||
for i := range servers {
|
for i := range servers {
|
||||||
s := servers[i]
|
s := servers[i]
|
||||||
if s.BillingData == nil {
|
var pn struct {
|
||||||
|
BillingDataMod struct {
|
||||||
|
EndDate string `json:"endDate"`
|
||||||
|
} `json:"billingDataMod"`
|
||||||
|
}
|
||||||
|
if s.PublicNote != "" {
|
||||||
|
_ = json.Unmarshal([]byte(s.PublicNote), &pn)
|
||||||
|
}
|
||||||
|
if pn.BillingDataMod.EndDate == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var billing model.BillingDataMod
|
// 处理类似 2026-10-10 甚至其他不带时区的格式
|
||||||
if err := json.Unmarshal(s.BillingData, &billing); err != nil {
|
endDateStr := pn.BillingDataMod.EndDate
|
||||||
continue
|
var endDate time.Time
|
||||||
|
var err error
|
||||||
|
if len(endDateStr) == 10 { // YYYY-MM-DD
|
||||||
|
endDate, err = time.Parse("2006-01-02", endDateStr)
|
||||||
|
} else {
|
||||||
|
endDate, err = time.Parse(time.RFC3339, endDateStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if billing.EndDate == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
endDate, err := time.Parse(time.RFC3339, billing.EndDate)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Printf("NEZHA>> Cron::Error parsing end date for VPS %s: %v", s.Name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user