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) FindAll() (flag bool, stacks []protomsg.FileStack) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileStack/findAll"
|
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) 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
|
}
|