From 99443c7fb779a289f7aa3d3436e195a81480ac88 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 03 八月 2020 14:53:15 +0800 Subject: [PATCH] findAllSdk add installed flag, add 5s timeout --- service/SdkDownLoad.go | 55 ++++++++++++++------------- extend/util/requtil.go | 5 ++ controllers/sdk.go | 4 + 3 files changed, 36 insertions(+), 28 deletions(-) diff --git a/controllers/sdk.go b/controllers/sdk.go index c60cad7..76e1570 100644 --- a/controllers/sdk.go +++ b/controllers/sdk.go @@ -75,14 +75,16 @@ // @Produce json // @Tags 绠楁硶 // @Param sdkName query string false "鍙�夊弬鏁�" +// @Param installed query bool true "鏌ュ凡瀹夎鎴栬�呮煡鎵�鏈�" // @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"绠楁硶鍒楄〃",success:true}" // @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"[]",success:false}" // @Router /data/api-v/sdk/findAllSdk [GET] func (sc SdkController) FindAllSdk(c *gin.Context) { sdkName := c.Query("sdkName") + installed, _ := strconv.ParseBool(c.Query("installed")) logger.Debug("FindAllSdk sdkName:", sdkName) - sdks := service.GetSdkList("") //鏈満宸插畨瑁呯殑绠楁硶 + sdks := service.GetSdkList("", installed) //鏈満宸插畨瑁呯殑绠楁硶 util.ResponseFormat(c, code.Success, sdks) } diff --git a/extend/util/requtil.go b/extend/util/requtil.go index ab197ea..0bb8280 100644 --- a/extend/util/requtil.go +++ b/extend/util/requtil.go @@ -11,6 +11,7 @@ "os" "strings" "github.com/dustin/go-humanize" + "time" ) const ( @@ -63,7 +64,9 @@ request.Header.Add(key, val) } } - client := &http.Client{} + client := &http.Client{ + Timeout: time.Second * 5, + } resp, err := client.Do(request) if err != nil { return resultBytes, err diff --git a/service/SdkDownLoad.go b/service/SdkDownLoad.go index ae0556e..2d4e0b1 100644 --- a/service/SdkDownLoad.go +++ b/service/SdkDownLoad.go @@ -133,7 +133,8 @@ } } -func GetSdkList(sdkName string) []SdkInsOrUpgrade { +//installedFlag 濡傛灉鏄痶rue,琛ㄧず鍙煡鏈湴鐨勶紝涓嶉渶瑕佹瘮瀵规煡鐪嬫湭瀹夎鐨勭畻娉� +func GetSdkList(sdkName string, installedFlag bool) []SdkInsOrUpgrade { var api dbapi.SdkApi localSdks := api.FindAll(sdkName) //鏈湴宸插畨瑁呮墍鏈夌畻娉�,甯﹂『搴� if localSdks == nil { @@ -175,34 +176,36 @@ installedSdks[idx] = siou } - //杩滅鍙敤鐨勭畻娉� - remoteSdks := findAllMySdk() - logger.Debug("remoteSdks:", remoteSdks) - nInsSdks := make([]SdkInsOrUpgrade,0) - for _,sdk := range remoteSdks { - if v,ok := localSdkM[sdk.Id];ok { //鏈湴宸插畨瑁� - ls := v - if shouldVersionBeUpgrade(ls.Version, sdk.Version) { //鍒ゆ柇鐗堟湰鍙锋槸鍚﹂渶瑕佸崌绾� - ls.Installed = true - ls.IsUpgrade = true //闇�瑕佸崌绾� - ls.RemoteVersion = sdk.Version //杩滅鐨勭増鏈彿 - } - localSdkM[sdk.Id] = ls - for index,es := range installedSdks { - if es.Id == sdk.Id { - installedSdks[index] = ls - break + if !installedFlag { + //杩滅鍙敤鐨勭畻娉� + remoteSdks := findAllMySdk() + logger.Debug("remoteSdks:", remoteSdks) + + for _,sdk := range remoteSdks { + if v,ok := localSdkM[sdk.Id];ok { //鏈湴宸插畨瑁� + ls := v + if shouldVersionBeUpgrade(ls.Version, sdk.Version) { //鍒ゆ柇鐗堟湰鍙锋槸鍚﹂渶瑕佸崌绾� + ls.Installed = true + ls.IsUpgrade = true //闇�瑕佸崌绾� + ls.RemoteVersion = sdk.Version //杩滅鐨勭増鏈彿 } + localSdkM[sdk.Id] = ls + for index,es := range installedSdks { + if es.Id == sdk.Id { + installedSdks[index] = ls + break + } + } + } else { //鏈湴鏈畨瑁咃紝闇�瑕佸畨瑁� + bIns := SdkInsOrUpgrade{ + RemoteVersion: sdk.Version, + IsUpgrade: false, + Installed: false, + } + bIns.Sdk = sdk + nInsSdks = append(nInsSdks, bIns) } - } else { //鏈湴鏈畨瑁咃紝闇�瑕佸畨瑁� - bIns := SdkInsOrUpgrade{ - RemoteVersion: sdk.Version, - IsUpgrade: false, - Installed: false, - } - bIns.Sdk = sdk - nInsSdks = append(nInsSdks, bIns) } } -- Gitblit v1.8.0