1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package deviceAlarm
- import (
- "fmt"
- "github.com/gogf/gf/database/gredis"
- )
- const (
- AlarmPrefix = "alarm:"
- dataExpires = 7200
- )
- type AlarmParams struct {
- DeviceCode string `json:"device_code"`
- FirstReportTime int64 `json:"first_report_time"`
- LastAlarmTime int64 `json:"last_alarm_time"`
- }
- type DevAlarmManager struct {
- redisClient *gredis.Redis
- }
- func NewDevAlarmManager(host string, port, db int) *DevAlarmManager {
- red := gredis.New(&gredis.Config{
- Host: host,
- Port: port,
- Db: db,
- MaxActive: 100,
- })
- helper := &DevAlarmManager{
- redisClient: red,
- }
- return helper
- }
- func (a *DevAlarmManager) SetAlarm(params *AlarmParams) error {
- key := AlarmPrefix + params.DeviceCode
- res, err := a.redisClient.DoVar("SET", key, params)
- if err != nil {
- fmt.Printf("set alarm failed1: %s", err.Error())
- return err
- }
- if res.String() != "OK" {
- fmt.Printf("set alarm failed2: %s", res.String())
- }
- //_, err = a.redisClient.Do("EXPIRE", key, dataExpires)
- //if err != nil {
- // return err
- //}
- return nil
- }
- func (a *DevAlarmManager) GetAlarm(code string) (*AlarmParams, error) {
- key := AlarmPrefix + code
- alarm := new(AlarmParams)
- // get status from redis
- result, err := a.redisClient.DoVar("GET", key)
- if err != nil {
- return nil, err
- }
- err = result.Struct(alarm)
- if err != nil {
- return nil, err
- }
- return alarm, nil
- }
- func (a *DevAlarmManager) DeleteAlarm(code string) error {
- key := AlarmPrefix + code
- // get status from redis
- _, err := a.redisClient.DoVar("DEL", key)
- if err != nil {
- return err
- }
- return nil
- }
|