package bhomedbapi import ( "basic.com/pubsub/protomsg.git" "encoding/json" "strconv" ) type FileStackApi struct{ } func (api FileStackApi) Save(paramBody map[string]interface{}) bool { url := DATA_URL_PREFIX + "/fileStack/save" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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) (b bool,sck protomsg.FileStack) { url := DATA_URL_PREFIX + "/fileStack/show" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string { "id": id, } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return false, sck } var res Result if err = json.Unmarshal(body, &res); err != nil { logPrint("unmarshal err:",err) return false, sck } if res.Success { sb, err := json.Marshal(res.Data) if err == nil { if err = json.Unmarshal(sb, &sck);err ==nil { return true, sck } else { logPrint("unmarshal sck err:", err) } } else { logPrint("marshal res.Data err:", err) } } return false, sck } func (api FileStackApi) FindAllByPage(name string,fType int, page int, size int) (bool,interface{}){ url := DATA_URL_PREFIX + "/fileStack/findAllByPage" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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 := DATA_URL_PREFIX + "/fileStack/findAllDoingStacks" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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 } if !res.Success { logPrint("FindAllDoingStacks ret false,res:", res) 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 := DATA_URL_PREFIX + "/fileStack/changeEnable" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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 := DATA_URL_PREFIX + "/fileStack/delete" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) paramBody := map[string]interface{} { "id": id, } body,err := client.DoDeleteRequest(url,CONTENT_TYPE_FORM, paramBody,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 := DATA_URL_PREFIX + "/fileStack/updateStatus" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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 } func (api FileStackApi) UpdateChannelCount(count int) bool { url := DATA_URL_PREFIX + "/fileSetting/updateChannelCount" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) paramBody := map[string]interface{} { "channelCount":count, } body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, 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 } func (api FileStackApi) FindAll() (flag bool,stacks []protomsg.FileStack) { url := DATA_URL_PREFIX + "/fileStack/findAll" netNode := getNetNode(url2Topic(Topic_Stack_Service, url)) client := NewClient(WithNodes(netNode)) 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 } }