package dbapi
|
|
import (
|
"basic.com/pubsub/protomsg.git"
|
"encoding/json"
|
"strconv"
|
)
|
|
type CameraRuleApi struct{
|
Ip string
|
Port int
|
}
|
|
func (api CameraRuleApi) 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 CameraRuleApi) FindByCameraId(cameraId string) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule"
|
client := NewClient()
|
param := map[string]string {
|
"cameraId": cameraId,
|
}
|
body, err := client.DoGetRequest(url,param,nil)
|
if err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
return res.Success, res.Data
|
}
|
|
func (api CameraRuleApi) Save(reqBody map[string]interface{}) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/save"
|
client := NewClient()
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) PasteRules(reqBody map[string]interface{}) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/pasteRules"
|
client := NewClient()
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) SaveLinkRulesByGroup(reqBody map[string]interface{}) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/saveLinkRulesByGroup"
|
client := NewClient()
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) GetLinkRulesByCameraIds(reqBody map[string]interface{}) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/getLinkRulesByCameraIds"
|
client := NewClient()
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
return res.Success, res.Data
|
}
|
|
func (api CameraRuleApi) UpdateAlarmLevel(reqBody map[string]interface{}) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/updateAlarmLevel"
|
client := NewClient()
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) DeleteByGroup(groupId string) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/deleteByGroup"
|
client := NewClient()
|
paraM := map[string]string {
|
"groupId": groupId,
|
}
|
body, err := client.DoGetRequest(url, paraM,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) FindAll() (flag bool,allRules []protomsg.CameraAndRules) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/camera/rule/findAll"
|
client := NewClient()
|
body, err := client.DoGetRequest(url, nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false,nil
|
}
|
if !res.Success {
|
return false, nil
|
}
|
bytes, err := json.Marshal(res.Data)
|
if err != nil {
|
logPrint(err)
|
return false, nil
|
}
|
err = json.Unmarshal(bytes, &allRules)
|
if err != nil {
|
logPrint(err)
|
return false, nil
|
}
|
return true, allRules
|
}
|