12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package Warning
- import (
- "Cold_mqtt/logs"
- _ "github.com/astaxie/beego/cache/redis"
- "github.com/beego/beego/v2/adapter/orm"
- _ "github.com/go-sql-driver/mysql"
- "time"
- )
- // 模板
- type WarningType struct {
- Id int `orm:"column(ID);size(11);auto;pk"`
- T_name string `orm:"size(256);"` // 分类
- T_Tips string `orm:"type(text);size(256);"` // 提示
- }
- //1 温度超上限报警
- //2 温度超下限报警
- //3 温度恢复正常
- //4 湿度超上限报警
- //5 湿度超下限报警
- //6 湿度恢复正常
- //7 温度超上限预警
- //8 温度超下限预警
- //9 温度预警恢复正常
- //10 湿度超上限预警
- //11 湿度超下限预警
- //12 湿度预警恢复正常
- //101 主机报警
- //102 操作日志
- //103 普通日志
- //109 市电断电报警
- //110 市电已恢复
- //111 电池电量低报警
- //112 电池电量恢复
- //113 传感器故障报警
- //114 传感器恢复
- //115 开始监测任务
- //116 中途打印任务
- //117 结束监测任务
- //1001 设备状态异常
- //1002 用户余额通知
- //1011 报警策略异常
- //1012 传感器数据异常
- //1013 系统预警通知
- //1014 运维预警通知
- var WarningType_list map[int]string // 泛型
- func (t *WarningType) TableName() string {
- return "warning_type" // 数据库名称 // ************** 替换 FormulaList **************
- }
- //var redisCache_WarningType cache.Cache
- func init() {
- //注册模型
- orm.RegisterModel(new(WarningType))
- WarningType_list = make(map[int]string)
- go Read_WarningType_All()
- }
- // 获取全部
- func Read_WarningType_All() {
- time.Sleep(time.Second)
- logs.Println("=========== 初始化报警规则 =========")
- o := orm.NewOrm()
- for true {
- var r []WarningType
- qs := o.QueryTable(new(WarningType))
- qs.All(&r)
- for _, v := range r {
- WarningType_list[v.Id] = v.T_name
- //logs.Println(v.T_name,v.Id)
- }
- time.Sleep(1 * time.Hour)
- }
- }
- func Read_WarningType_Get(Id int) string {
- // 有先加入 给全部人发消息
- v, ok := WarningType_list[Id] /*如果确定是真实的,则存在,否则不存在 */
- if ok {
- return v
- } else {
- return "未知报警"
- }
- }
|