This commit is contained in:
2026-06-24 10:04:03 +08:00
parent b103192fac
commit 0f961789dc
538 changed files with 128210 additions and 128008 deletions
+48 -22
View File
@@ -78,20 +78,23 @@ func (c *PlatformSoftwareUpgradeController) backfillDownloadURL(productID uint64
func (c *PlatformSoftwareUpgradeController) rowToMap(row *models.SystemSoftwareUpgrade) map[string]interface{} {
scheme, host := services.PublicRequestBaseURL(&c.Controller)
resolved := services.ResolveSoftwareDownloadURL(scheme, host, row.DownloadURL, row.FileID)
resolvedMulti := services.ResolveSoftwareDownloadURLs(scheme, host, row.DownloadURLs)
return map[string]interface{}{
"id": row.ID,
"name": row.Name,
"code": row.Code,
"latestVersion": row.LatestVersion,
"fileId": row.FileID,
"downloadUrl": row.DownloadURL,
"resolvedDownloadUrl": resolved,
"forceUpdate": row.ForceUpdate,
"releaseNotes": row.ReleaseNotes,
"status": row.Status,
"sort": row.Sort,
"createTime": row.CreateTime,
"updateTime": row.UpdateTime,
"id": row.ID,
"name": row.Name,
"code": row.Code,
"latestVersion": row.LatestVersion,
"fileId": row.FileID,
"downloadUrl": row.DownloadURL,
"downloadUrls": row.DownloadURLs,
"resolvedDownloadUrl": resolved,
"resolvedDownloadUrls": resolvedMulti,
"forceUpdate": row.ForceUpdate,
"releaseNotes": row.ReleaseNotes,
"status": row.Status,
"sort": row.Sort,
"createTime": row.CreateTime,
"updateTime": row.UpdateTime,
}
}
@@ -158,15 +161,16 @@ func (c *PlatformSoftwareUpgradeController) Detail() {
}
type softwareUpgradePayload struct {
Name *string `json:"name"`
Code *string `json:"code"`
LatestVersion *string `json:"latestVersion"`
FileID *uint64 `json:"fileId"`
DownloadURL *string `json:"downloadUrl"`
ForceUpdate *int8 `json:"forceUpdate"`
ReleaseNotes *string `json:"releaseNotes"`
Status *int8 `json:"status"`
Sort *int `json:"sort"`
Name *string `json:"name"`
Code *string `json:"code"`
LatestVersion *string `json:"latestVersion"`
FileID *uint64 `json:"fileId"`
DownloadURL *string `json:"downloadUrl"`
DownloadURLs map[string]string `json:"downloadUrls"`
ForceUpdate *int8 `json:"forceUpdate"`
ReleaseNotes *string `json:"releaseNotes"`
Status *int8 `json:"status"`
Sort *int `json:"sort"`
}
// Create POST /platform/softwareupgrade
@@ -198,6 +202,12 @@ func (c *PlatformSoftwareUpgradeController) Create() {
Status: 1,
Sort: 0,
}
if len(p.DownloadURLs) > 0 {
if b, err := json.Marshal(p.DownloadURLs); err == nil {
s := string(b)
row.DownloadURLs = &s
}
}
if p.ForceUpdate != nil {
row.ForceUpdate = *p.ForceUpdate
}
@@ -263,6 +273,22 @@ func (c *PlatformSoftwareUpgradeController) Update() {
if p.DownloadURL != nil {
up["download_url"] = strings.TrimSpace(*p.DownloadURL)
}
if p.DownloadURLs != nil {
clean := map[string]string{}
for k, v := range p.DownloadURLs {
platform := strings.ToLower(strings.TrimSpace(k))
url := strings.TrimSpace(v)
if platform == "" || url == "" {
continue
}
clean[platform] = url
}
if len(clean) == 0 {
up["download_urls"] = nil
} else if b, err := json.Marshal(clean); err == nil {
up["download_urls"] = string(b)
}
}
if p.ForceUpdate != nil {
up["force_update"] = *p.ForceUpdate
}