sqlite的api,便于内部使用
liuxiaolong
2019-05-23 2b48afdf47d6bc81c60ebcab8b5b24a6e25ac60c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package dbapi
 
import (
    "basic.com/pubsub/protomsg.git"
    "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
}