package bhomedbapi import ( "basic.com/pubsub/protomsg.git" jsoniter "github.com/json-iterator/go" "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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 json = jsoniter.ConfigCompatibleWithStandardLibrary 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 } }