// 全局定义
// 秒寻科技
// zt 2024-10-04

package public

import "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)
)

//删除map中的一个元素
func PublicDeleteOneItem(keyStr string) {
	delete(Gpub_mapHeart, keyStr)
}

//删除map中的所有元素
func PublicDeleteAllItem() {
	for key := range Gpub_mapHeart {
		delete(Gpub_mapHeart, key)
	}
}
