sqlite的api,便于内部使用
liuxiaolong
2020-02-24 9f410d497dbc50f83b08b4657d3b122679301cd8
sdkApi.go
@@ -1,36 +1,50 @@
package dbapi
import (
   "basic.com/pubsub/protomsg.git"
   "encoding/json"
   "fmt"
   "strconv"
)
type SdkApi struct{
   Ip string
   Port int
}
func (api SdkApi) getBasicUrl() string {
   if api.Ip == "" {
      return BASIC_URL
   }
   if api.Ip == "" {
      api.Ip = DEFAULT_IP
   }
   if api.Port == 0 {
      api.Port = DEFAULT_PORT
   }
   return "http://"+api.Ip+":"+strconv.Itoa(api.Port)
}
//保存算法,新增(算法id为空),更新(算法id不为空)
func (api SdkApi)Save(sdk Sdk)bool {
func (api SdkApi)Register(paramBody map[string]interface{}) (bool,interface{}) {
   flag := false
   url := BASIC_URL + DATA_URL_PREFIX + "/sdk/save"
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/register"
   client := NewClient()
   paramBody := Struct2Map(sdk)
   respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
   respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
   if err != nil {
      return flag
      return flag,nil
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      return flag
      logPrint(err)
      return flag,nil
   }
   flag = res.Success
   return flag
   return res.Success,res.Data
}
//查找所有算法
func (api SdkApi) FindAll(sdkName string)[]Sdk{
   var sdkArr []Sdk
   url := BASIC_URL + DATA_URL_PREFIX + "/sdk/findAllSdk"
func (api SdkApi) FindAll(sdkName string)[]protomsg.Sdk{
   var sdkArr []protomsg.Sdk
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/findAllSdk"
   client := NewClient()
   paramMap := make(map[string]string, 0)
   paramMap["sdkName"] = sdkName
@@ -40,7 +54,7 @@
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      logPrint(err)
      return sdkArr
   }
   bytes, _ := json.Marshal(res.Data)
@@ -48,35 +62,130 @@
   return sdkArr
}
//查找算法id的slice
func (api SdkApi) GetAllSdkIds() (sdkIds []string){
func (api SdkApi) FindAllSdkRun()(sdkRuns []protomsg.SdkRun){
   sdkArr := api.FindAll("")
   if len(sdkArr) == 0 {
      return nil
   }
   idMap :=make(map[string]string,0)
   for _,sdk := range sdkArr{
      sdkIds = append(sdkIds, sdk.Uuid)
      if sdk.IpcId !=""{
         if _,ok :=idMap[sdk.IpcId];!ok{
            idMap[sdk.IpcId] = sdk.IpcId
            sdkRuns = append(sdkRuns,protomsg.SdkRun{
               IpcId:sdk.IpcId,
               SdkType:sdk.SdkType,
            })
         }
      }
   }
   return sdkIds
   return sdkRuns
}
//查找算法id的slice
func (api SdkApi) GetAllSdkIds() (ipcIds []string){
   sdkArr := api.FindAll("")
   if len(sdkArr) == 0 {
      return nil
   }
   idMap :=make(map[string]string,0)
   for _,sdk := range sdkArr{
      if sdk.IpcId !=""{
         if _,ok :=idMap[sdk.IpcId];!ok{
            idMap[sdk.IpcId] = sdk.IpcId
            ipcIds = append(ipcIds,sdk.IpcId)
         }
      }
   }
   return ipcIds
}
//通过id获取算法信息
func (api SdkApi) GetById(id string) Sdk{
   var sdk Sdk
   url := BASIC_URL + DATA_URL_PREFIX + "/sdk/getById"
func (api SdkApi) GetById(id string) (bool,interface{}){
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/getById"
   client := NewClient()
   paramMap := make(map[string]string)
   paramMap["id"] = id
   respBody, err := client.DoGetRequest(url, paramMap, nil)
   if err !=nil {
      return sdk
      return false,nil
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      return sdk
      logPrint(err)
      return false,nil
   }
   return res.Success,res.Data
}
func (api SdkApi) FindByTaskId(taskId string) (flag bool,sdks []protomsg.Sdk) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/findByTaskId"
   client := NewClient()
   paramMap := make(map[string]string)
   paramMap["taskId"] = taskId
   respBody, err := client.DoGetRequest(url, paramMap, nil)
   if err !=nil {
      return false,nil
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      logPrint(err)
      return false,nil
   }
   bytes, _ := json.Marshal(res.Data)
   err = json.Unmarshal(bytes, &sdk)
   return sdk
}
   err = json.Unmarshal(bytes, &sdks)
   return true,sdks
}
func (api SdkApi) GetSdkArgs(sdkId string, scope string) (b bool,args []protomsg.SdkArg) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdkArg/getSdkArgs"
   client := NewClient()
   paramMap := make(map[string]string)
   paramMap["sdkId"] = sdkId
   paramMap["scope"] = scope
   respBody, err := client.DoGetRequest(url, paramMap, nil)
   if err !=nil {
      return false,nil
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      logPrint(err)
      return false,nil
   }
   bytes, _ := json.Marshal(res.Data)
   err = json.Unmarshal(bytes, &args)
   return true,args
}
func (api SdkApi) GetAllSdkChanSet() (b bool, list []protomsg.SdkChanSet) {
    url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/getAllSdkChanSet"
    client := NewClient()
    respBody,err := client.DoGetRequest(url, nil, nil)
    if err !=nil {
        return false,nil
    }
    var res Result
    if err = json.Unmarshal(respBody, &res);err !=nil {
        return false,nil
    }
    bytes,_ := json.Marshal(res.Data)
    err = json.Unmarshal(bytes, &list)
    if err !=nil {
        return false, nil
    }
    return true, list
}
func (api SdkApi) UpdateSdkChanSet(paramBody map[string]interface{}) bool {
    url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/updateSdkChanSet"
    client := NewClient()
    respBody,err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
    if err !=nil {
        return false
    }
    var res Result
    if err = json.Unmarshal(respBody, &res);err !=nil {
        return false
    }
    return res.Success
}