123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- // 全局定义
- // 秒寻科技
- // zt 2024-10-04
- package public
- import (
- "fmt"
- "sync"
- )
- // 定义网管模块编号
- const (
- BTS_MODULE_DEVICE = 1 //设备参数
- BTS_MODULE_REPORT = 2 //上报参数
- BTS_MODULE_NETWORK = 3 //网管参数
- BTS_MODULE_GAIN = 4 //增益参数
- BTS_MODULE_INSTALL = 5 //安装参数
- BTS_MODULE_SYNC = 6 //同步参数
- BTS_MODULE_BTS = 7 //基站参数
- BTS_MODULE_RTC = 8 //RTC参数
- )
- // 定义MCP层命令类型
- const (
- BTS_MCP_REPORT = 1 //基站参数上报
- BTS_MCP_QUERY = 2 //基站参数参数
- BTS_MCP_SET = 3 //基站参数配置
- )
- // 客户端地址
- type HeartMapValue struct {
- ProjectID int `json:"project_id"`
- BtsID int `json:"bts_id"`
- }
- // 升级状态管理结构
- type PublicUpgradeStatus struct {
- Flag uint8 `json:"flag"` //升级状态,1:失败,2:成功
- Percent uint8 `json:"percent"` //百分比
- }
- // 全局变量
- var (
- Gpub_mutex sync.Mutex
- Gpub_mapChan = make(map[string]chan interface{}) //保存每个http请求的chan
- //心跳包map
- Gpub_mapHeart = make(map[string]HeartMapValue)
- //web socket消息通道
- Gpub_chanWebSocketMsg = make(chan PublicUpgradeStatus)
- Gpub_sysWorkMode uint32 = 0 //系统工作模式,0:调试模式,1:生产模式
- )
- // 增加一个心跳map元素
- // projectId:项目编号
- // btsId:基站编号
- // 返回值:0:map中不存在该元素,1:map中已存在该元素
- func PublicHeartMapAddItem(projectId int, btsId int) int {
- var result int = 1 //返回值
- var modeHeart HeartMapValue
- modeHeart.ProjectID = projectId
- modeHeart.BtsID = btsId
- //组织mapKey字符
- mapKey := fmt.Sprintf("%08X", projectId) + "-" + fmt.Sprintf("%08X", btsId)
- _, exist := Gpub_mapHeart[mapKey]
- if !exist { //map中部存在该key
- Gpub_mutex.Lock()
- defer Gpub_mutex.Unlock()
- Gpub_mapHeart[mapKey] = modeHeart //增加一个map元素
- result = 0
- }
- return result
- }
- // 删除map中的一个元素
- func PublicHeartMapDeleteOneItem(mapKey string) {
- Gpub_mutex.Lock()
- defer Gpub_mutex.Unlock()
- delete(Gpub_mapHeart, mapKey)
- }
- // 删除map中的所有元素
- func PublicHeartMapDeleteAllItem() {
- Gpub_mutex.Lock()
- defer Gpub_mutex.Unlock()
- for key := range Gpub_mapHeart {
- delete(Gpub_mapHeart, key)
- }
- }
- // 设置系统工作模式
- func PublicSysWorkModeSet(sysWorkMode uint32) {
- Gpub_sysWorkMode = sysWorkMode
- }
- // 获得系统工作模式
- func PublicSysWorkModeGet() uint32 {
- return Gpub_sysWorkMode
- }
|