sqlite的api,便于内部使用
liuxiaolong
2019-05-22 5133036e9f297019771d4aeac7f961cbb57406ec
sdkApi.go
@@ -1 +1,83 @@
package dbapi
import (
   "dbapi/protomsg"
   "encoding/json"
   "fmt"
)
type SdkApi struct{
}
//保存算法,新增(算法id为空),更新(算法id不为空)
func (api SdkApi)Save(sdk protomsg.Sdk)bool {
   flag := false
   url := BASIC_URL + DATA_URL_PREFIX + "/sdk/save"
   client := NewClient()
   paramBody := Struct2Map(sdk)
   respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
   if err != nil {
      return flag
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      return flag
   }
   flag = res.Success
   return flag
}
//查找所有算法
func (api SdkApi) FindAll(sdkName string)[]protomsg.Sdk{
   var sdkArr []protomsg.Sdk
   url := BASIC_URL + DATA_URL_PREFIX + "/sdk/findAllSdk"
   client := NewClient()
   paramMap := make(map[string]string, 0)
   paramMap["sdkName"] = sdkName
   respBody, err := client.DoGetRequest(url, paramMap, nil)
   if err !=nil {
      return sdkArr
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      return sdkArr
   }
   bytes, _ := json.Marshal(res.Data)
   err = json.Unmarshal(bytes, &sdkArr)
   return sdkArr
}
//查找算法id的slice
func (api SdkApi) GetAllSdkIds() (sdkIds []string){
   sdkArr := api.FindAll("")
   if len(sdkArr) == 0 {
      return nil
   }
   for _,sdk := range sdkArr{
      sdkIds = append(sdkIds, sdk.Id)
   }
   return sdkIds
}
//通过id获取算法信息
func (api SdkApi) GetById(id string) protomsg.Sdk{
   var sdk protomsg.Sdk
   url := BASIC_URL + 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
   }
   var res Result
   if err = json.Unmarshal(respBody, &res); err != nil {
      fmt.Println(err)
      return sdk
   }
   bytes, _ := json.Marshal(res.Data)
   err = json.Unmarshal(bytes, &sdk)
   return sdk
}