liuxiaolong
2021-01-07 7557a02c2fb24b4c2b78baf05392b4cd68b52666
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package bhomedbapi
 
import (
    "basic.com/pubsub/protomsg.git"
    "encoding/json"
)
 
type ChanManageApi struct {
 
}
 
//保存轮询配置
func (api ChanManageApi) SavePollPeriod(period int) (bool,interface{}){
    url := DATA_URL_PREFIX + "/pollConfig/savePollPeriod"
    netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url))
    if netNode == nil {
        return false,nil
    }
    client := NewClient(WithNodes(netNode))
    paramBody := make(map[string]interface{},0)
    paramBody["period"] = period
    body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil)
    if err != nil {
        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 ChanManageApi) SavePollDelay(delay int) (bool,interface{}){
    url := DATA_URL_PREFIX + "/pollConfig/savePollDelay"
    netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url))
    if netNode == nil {
        return false,nil
    }
    client := NewClient(WithNodes(netNode))
    paramBody := make(map[string]interface{},0)
    paramBody["delay"] = delay
    body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil)
    if err != nil {
        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 ChanManageApi) GetPollConfig() (flag bool,config protomsg.PollConfig) {
    url := DATA_URL_PREFIX + "/pollConfig/getPollConfig"
    netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url))
    if netNode == nil {
        return false,config
    }
    client := NewClient(WithNodes(netNode))
 
    body, err := client.DoGetRequest(url, nil, nil)
    if err != nil {
        return false, config
    }
 
    var res Result
    if err = json.Unmarshal(body, &res); err != nil {
        return false, config
    }
 
    b, err := json.Marshal(res.Data)
    if err !=nil {
        return false,config
    } else {
        err = json.Unmarshal(b, &config)
        if err !=nil {
            return false,config
        } else {
            return true,config
        }
    }
}
 
//切换轮询是否开启和关闭
func (api ChanManageApi) UpdatePollEnable(enable bool) bool{
    url := DATA_URL_PREFIX + "/pollConfig/updateEnable"
    netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url))
    if netNode == nil {
        return false
    }
    client := NewClient(WithNodes(netNode))
    paramBody :=make(map[string]interface{},0)
    paramBody["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 {
        return false
    }
 
    return res.Success
}
 
func (api ChanManageApi) UpdateChannelCount(pollChannelCount int, videoChannelCount int) bool{
    url := DATA_URL_PREFIX + "/pollConfig/updateChannelCount"
    netNode := getNetNode(url2Topic(Topic_Chanmanage_Service, url))
    if netNode == nil {
        return false
    }
    client := NewClient(WithNodes(netNode))
    paramBody :=make(map[string]interface{},0)
    paramBody["pollChannelCount"] = pollChannelCount
    paramBody["videoChannelCount"] = videoChannelCount
    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 {
        return false
    }
 
    return res.Success
}