From f5d4397f0b48cd38f60bc5f820cac1039203ac6f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 10 May 2022 17:17:20 +0800 Subject: [PATCH] update app --- .../api/third/minio_storage_credential.go | 25 ++++++++------- internal/cms_api/admin/admin.go | 31 ++++++++----------- pkg/base_info/minio_api_struct.go | 2 +- .../mysql_model/im_mysql_model/file_model.go | 4 +-- 4 files changed, 29 insertions(+), 33 deletions(-) diff --git a/internal/api/third/minio_storage_credential.go b/internal/api/third/minio_storage_credential.go index 2c0329fb9..ff0802fc1 100644 --- a/internal/api/third/minio_storage_credential.go +++ b/internal/api/third/minio_storage_credential.go @@ -228,19 +228,20 @@ func GetDownloadURL(c *gin.Context) { app, err := imdb.GetNewestVersion(req.Type) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "getNewestVersion failed", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "getNewestVersion failed" + err.Error()}) - return } - if app.Version != req.Version { - resp.Data.HasNewVersion = true - if app.ForceUpdate == true { - resp.Data.ForceUpdate = true + if app != nil { + if app.Version != req.Version && app.Version != "" { + resp.Data.HasNewVersion = true + if app.ForceUpdate == true { + resp.Data.ForceUpdate = true + } + resp.Data.YamlURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.YamlName + resp.Data.FileURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.FileName + c.JSON(http.StatusOK, resp) + } else { + resp.Data.HasNewVersion = false + c.JSON(http.StatusOK, resp) } - resp.Data.YamlURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.YamlName - resp.Data.FileURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.FileName - c.JSON(http.StatusOK, resp) - } else { - resp.Data.HasNewVersion = false - c.JSON(http.StatusOK, resp) } + c.JSON(http.StatusBadRequest, gin.H{"errCode": 0, "errMsg": "not found app version"}) } diff --git a/internal/cms_api/admin/admin.go b/internal/cms_api/admin/admin.go index e1adb2318..8ee2c8d4f 100644 --- a/internal/cms_api/admin/admin.go +++ b/internal/cms_api/admin/admin.go @@ -153,30 +153,25 @@ func GetDownloadURL(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - //fileName, yamlName, err := utils.GetUploadAppNewName(req.Type, req.Version, req.) - //if err != nil { - // log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUploadAppNewName failed", err.Error()) - // c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "invalid file type" + err.Error()}) - // return - //} app, err := imdb.GetNewestVersion(req.Type) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "getNewestVersion failed", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "getNewestVersion failed" + err.Error()}) - return } - if app.Version != req.Version { - resp.Data.HasNewVersion = true - if app.ForceUpdate == true { - resp.Data.ForceUpdate = true + if app != nil { + if app.Version != req.Version { + resp.Data.HasNewVersion = true + if app.ForceUpdate == true { + resp.Data.ForceUpdate = true + } + resp.Data.YamlURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.YamlName + resp.Data.FileURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.FileName + c.JSON(http.StatusOK, resp) + } else { + resp.Data.HasNewVersion = false + c.JSON(http.StatusOK, resp) } - resp.Data.YamlURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.YamlName - resp.Data.FileURL = config.Config.Credential.Minio.Endpoint + "/" + config.Config.Credential.Minio.AppBucket + "/" + app.FileName - c.JSON(http.StatusOK, resp) - } else { - resp.Data.HasNewVersion = false - c.JSON(http.StatusOK, resp) } + c.JSON(http.StatusBadRequest, gin.H{"errCode": 0, "errMsg": "not found app version"}) } func MinioUploadFile(c *gin.Context) { diff --git a/pkg/base_info/minio_api_struct.go b/pkg/base_info/minio_api_struct.go index 8a3f2d00a..902310de5 100644 --- a/pkg/base_info/minio_api_struct.go +++ b/pkg/base_info/minio_api_struct.go @@ -32,7 +32,7 @@ type UploadUpdateAppReq struct { Version string `form:"version" binding:"required"` File *multipart.FileHeader `form:"file" binding:"required"` Yaml *multipart.FileHeader `form:"yaml" binding:"required"` - ForceUpdate bool `form:"forceUpdate" binding:"required"` + ForceUpdate bool `form:"forceUpdate"` } type UploadUpdateAppResp struct { diff --git a/pkg/common/db/mysql_model/im_mysql_model/file_model.go b/pkg/common/db/mysql_model/im_mysql_model/file_model.go index babcc13be..62c032b75 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/file_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/file_model.go @@ -31,10 +31,10 @@ func UpdateAppVersion(appType int, version string, forceUpdate bool, fileName, y func GetNewestVersion(appType int) (*db.AppVersion, error) { dbConn, err := db.DB.MysqlDB.DefaultGormDB() + app := db.AppVersion{} if err != nil { - return nil, err + return &app, err } dbConn.LogMode(true) - app := db.AppVersion{} return &app, dbConn.Model(db.AppVersion{}).First(&app, appType).Error }