package dbapi import ( "basic.com/pubsub/protomsg.git" "encoding/json" "fmt" "strconv" ) type EventPushApi struct { Ip string Port int } func (api EventPushApi) 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 EventPushApi) Save(paramBody map[string]interface{}) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/save" client := NewClient() body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { fmt.Println(err) return false,nil } return res.Success,res.Data } func (api EventPushApi) FindByEventTopic(topic string,childType string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/findByEventTopic" client := NewClient() paramQuery :=make(map[string]string,0) paramQuery["topic"] = topic paramQuery["type"] = childType 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 true,res.Data } func (api EventPushApi) FindAll(name string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/findAll" client := NewClient() paramQuery :=make(map[string]string,0) paramQuery["name"] = name 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 true,res.Data } func (api EventPushApi) FindAllDetails() (b bool,allRules []protomsg.EventPush){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/findAllDetails" 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 } bytes, _ := json.Marshal(res.Data) err = json.Unmarshal(bytes, &allRules) if err !=nil{ fmt.Println("all eventPushRules unmarshal err:",err) return false,nil } return true,allRules } func (api EventPushApi) GetById(id string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/getById" client := NewClient() paramQuery :=make(map[string]string,0) paramQuery["id"] = id 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 true,res.Data } func (api EventPushApi) ChangeStatus(id string,enable bool) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/changeStatus" client := NewClient() paramBody :=make(map[string]interface{},0) paramBody["id"] = id paramBody["enable"] = enable body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON,paramBody, nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return true,res.Data } func (api EventPushApi) Delete(id string) (bool,interface{}){ url := api.getBasicUrl() + DATA_URL_PREFIX + "/eventPush/delete" client := NewClient() paramForm :=make(map[string]interface{},0) paramForm["id"] = id body, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramForm, nil, nil) if err != nil { return false,nil } var res Result if err = json.Unmarshal(body, &res); err != nil { return false,nil } return true,res.Data }