package dbapi import ( "basic.com/pubsub/protomsg.git" "encoding/json" "fmt" "strconv" ) type FileAnalysisApi struct{ Ip string Port int } func (api FileAnalysisApi) 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 FileAnalysisApi) Show(id string) (bool,interface{}) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/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 { return false, nil } return res.Success, res.Data } func (api FileAnalysisApi) FindAllFile(fileName string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/findAllFile" client := NewClient() paramQuery := map[string]string { "fileName": fileName, } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return false, nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } func (api FileAnalysisApi) GetAnalysisFiles() (files []protomsg.FileAnalysis,err error){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/getAnalysisFiles" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return files, err } var res Result if err = json.Unmarshal(body, &res); err != nil { return files,err } bytes, _ := json.Marshal(res.Data) err = json.Unmarshal(bytes, &files) return files, err } func (api FileAnalysisApi) GetFileAnalysisSet() (set protomsg.FileAnalysisSetting,err error) { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileSetting/show" client := NewClient() body, err := client.DoGetRequest(url, nil, nil) if err != nil { return set, err } var res Result if err = json.Unmarshal(body, &res); err != nil { return set,err } bytes, _ := json.Marshal(res.Data) err = json.Unmarshal(bytes, &set) return set, err } func (api FileAnalysisApi) UpdateProgress(id string, progress int) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/updateProgress" client := NewClient() paramBody := map[string]interface{} { "id":id, "progress": progress, } 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 { fmt.Println(err) return false } return res.Success } func (api FileAnalysisApi) ChangeEnable(enable bool) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileSetting/changeEnable" client := NewClient() paramBody := map[string]interface{} { "enable":enable, } 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 { fmt.Println(err) return false } return res.Success } func (api FileAnalysisApi) UpdateStatus(idArr []string, status int) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/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 { fmt.Println(err) return false } return res.Success } func (api FileAnalysisApi) Delete(idArr []string) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/delete" client := NewClient() paramBody := map[string]interface{} { "ids":idArr, } 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 { fmt.Println(err) return false } return res.Success } func (api FileAnalysisApi) SortFile(id string,direct int) bool { url := api.getBasicUrl() + DATA_URL_PREFIX + "/fileAnalysis/sortFile" client := NewClient() paramBody := map[string]interface{} { "id": id, "direct": direct, } 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 { fmt.Println(err) return false } return res.Success }