package dbapi import ( "basic.com/pubsub/protomsg.git" "encoding/json" "strconv" ) type FileStackApi struct{ Ip string Port int } func (api FileStackApi) 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) } func (api FileStackApi) Save(paramBody map[string]interface{}) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/save" client := NewClient() body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false } return res.Success } func (api FileStackApi) Show(id string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/show/"+id client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false, nil } return res.Success, res.Data } func (api FileStackApi) FindAllByPage(name string,fType int, page int, size int) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/findAllByPage" client := NewClient() paramQuery := map[string]string { "name": name, "type": strconv.Itoa(fType), "page": strconv.Itoa(page), "size": strconv.Itoa(size), } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false, nil } return res.Success, res.Data } func (api FileStackApi) FindAllDoingStacks() (flag bool,stacks []protomsg.FileStack){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/findAllDoingStacks" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, nil } b, err := json.Marshal(res.Data) if err !=nil { logPrint("unmarshal FileStackApi FindAll.result err") return false,nil } if err = json.Unmarshal(b, &stacks);err !=nil { logPrint("unmarshal err:",err) return false,nil } else { return true,stacks } } func (api FileStackApi) ChangeEnable(id string,enable bool) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/changeEnable" client := NewClient() paramBody := map[string]interface{} { "id": id, "enable":enable, } body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { logPrint("FileStackApi ChangeEnable doPost err:", err) return false } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false } return res.Success } //stack delete func (api FileStackApi) Delete(id string) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/delete/"+id client := NewClient() body,err := client.DoDeleteRequest(url,CONTENT_TYPE_FORM, nil,nil, nil) if err != nil { return false } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false } return res.Success } func (api FileStackApi) UpdateStatus(idArr []string, status int) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/updateStatus" client := NewClient() paramBody := map[string]interface{} { "ids":idArr, "status": status, } body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint(err) return false } return res.Success }