liuxiaolong
2020-08-03 99443c7fb779a289f7aa3d3436e195a81480ac88
findAllSdk add installed flag, add 5s timeout
3个文件已修改
16 ■■■■ 已修改文件
controllers/sdk.go 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
extend/util/requtil.go 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/SdkDownLoad.go 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
}
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
service/SdkDownLoad.go
@@ -133,7 +133,8 @@
    }
}
func GetSdkList(sdkName string) []SdkInsOrUpgrade {
//installedFlag 如果是true,表示只查本地的,不需要比对查看未安装的算法
func GetSdkList(sdkName string, installedFlag bool) []SdkInsOrUpgrade {
    var api dbapi.SdkApi
    localSdks := api.FindAll(sdkName) //本地已安装所有算法,带顺序
    if localSdks == nil {
@@ -175,11 +176,12 @@
        installedSdks[idx] = siou
    }
    nInsSdks := make([]SdkInsOrUpgrade,0)
    if !installedFlag {
    //远端可用的算法
    remoteSdks := findAllMySdk()
    logger.Debug("remoteSdks:", remoteSdks)
    nInsSdks := make([]SdkInsOrUpgrade,0)
    for _,sdk := range remoteSdks {
        if v,ok := localSdkM[sdk.Id];ok { //本地已安装
            ls := v
@@ -205,6 +207,7 @@
            nInsSdks = append(nInsSdks, bIns)
        }
    }
    }
    return append(installedSdks, nInsSdks...)
}