package bhomedbapi
|
|
import (
|
"basic.com/pubsub/protomsg.git"
|
"encoding/json"
|
)
|
|
type CameraRuleApi struct{
|
|
}
|
|
func (api CameraRuleApi) FindByCameraId(cameraId string) (bool,interface{}) {
|
url := DATA_URL_PREFIX + "/camera/rule/findByCameraId"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,nil
|
}
|
client := NewClient(WithNodes(netNode))
|
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,interface{}) {
|
url := DATA_URL_PREFIX + "/camera/rule/save"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,nil
|
}
|
client := NewClient(WithNodes(netNode))
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false, err.Error()
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint("result:", res, "err:", err, "body:", string(body))
|
return false, err.Error()
|
}
|
return res.Success, res.Data
|
}
|
|
func (api CameraRuleApi) PasteRules(reqBody map[string]interface{}) bool {
|
url := DATA_URL_PREFIX + "/camera/pasteRules"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false
|
}
|
client := NewClient(WithNodes(netNode))
|
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, interface{}) {
|
url := DATA_URL_PREFIX + "/camera/rule/saveLinkRulesByGroup"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,nil
|
}
|
client := NewClient(WithNodes(netNode))
|
body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, reqBody,nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false, err.Error()
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false, err.Error()
|
}
|
return res.Success, res.Data
|
}
|
|
func (api CameraRuleApi) GetLinkRulesByCameraIds(reqBody map[string]interface{}) (bool,interface{}) {
|
url := DATA_URL_PREFIX + "/camera/rule/getLinkRulesByCameraIds"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,nil
|
}
|
client := NewClient(WithNodes(netNode))
|
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 := DATA_URL_PREFIX + "/camera/rule/updateAlarmLevel"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false
|
}
|
client := NewClient(WithNodes(netNode))
|
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 := DATA_URL_PREFIX + "/camera/rule/deleteGroup"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false
|
}
|
client := NewClient(WithNodes(netNode))
|
body, err := client.DoDeleteRequest(url, CONTENT_TYPE_JSON, nil,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err, "body:", string(body))
|
return false
|
}
|
return res.Success
|
}
|
|
func (api CameraRuleApi) FindAll() (flag bool,allRules []protomsg.CameraAndRules) {
|
url := DATA_URL_PREFIX + "/camera/rule/findAll"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,nil
|
}
|
client := NewClient(WithNodes(netNode))
|
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
|
}
|
|
func (api CameraRuleApi) FindAllTaskById(camId string) (flag bool, crs protomsg.CameraAndRules) {
|
url := DATA_URL_PREFIX + "/camera/rule/findAllTaskById"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false,crs
|
}
|
client := NewClient(WithNodes(netNode))
|
paramQuery := map[string]string {
|
"cameraId": camId,
|
}
|
body, err := client.DoGetRequest(url, paramQuery,nil)
|
if err != nil {
|
logPrint(err)
|
return false,crs
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false,crs
|
}
|
if !res.Success {
|
return false, crs
|
}
|
bytes, err := json.Marshal(res.Data)
|
if err != nil {
|
logPrint(err)
|
return false, crs
|
}
|
err = json.Unmarshal(bytes, &crs)
|
if err != nil {
|
logPrint(err)
|
return false, crs
|
}
|
return true, crs
|
}
|
|
func (api CameraRuleApi) ExistRunningTask(camId string) bool {
|
url := DATA_URL_PREFIX + "/camera/rule/existRunningTask"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false
|
}
|
client := NewClient(WithNodes(netNode))
|
paramQuery := map[string]string {
|
"cameraId": camId,
|
}
|
body, err := client.DoGetRequest(url, paramQuery,nil)
|
if err != nil {
|
logPrint(err)
|
return false
|
}
|
|
var res Result
|
if err = json.Unmarshal(body, &res); err != nil {
|
logPrint(err)
|
return false
|
}
|
if !res.Success {
|
return false
|
}
|
return res.Data.(bool)
|
}
|
|
func (api CameraRuleApi) FindLinksByCameraIds(camIds []string) (b bool,linkList []protomsg.CameraLink) {
|
url := DATA_URL_PREFIX + "/camera/rule/existRunningTask"
|
netNode := getNetNode(url2Topic(Topic_Scene_Service, url))
|
if netNode == nil {
|
return false, nil
|
}
|
client := NewClient(WithNodes(netNode))
|
reqBody := map[string]interface{}{
|
"cameraIds": camIds,
|
}
|
|
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
|
}
|
if res.Success {
|
bts, err := json.Marshal(res.Data)
|
if err != nil {
|
logPrint(err)
|
return false, nil
|
}
|
err = json.Unmarshal(bts, &linkList)
|
if err != nil {
|
return true, linkList
|
}
|
}
|
return false, nil
|
}
|