1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package deviceAlarm
- import (
- "fmt"
- "github.com/gogf/gf/database/gredis"
- "github.com/gogf/gf/util/gconv"
- )
- 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 Alarm struct {
- redisClient *gredis.Redis
- }
- func NewAlarm(host string, port, db int) *Alarm {
- red := gredis.New(&gredis.Config{
- Host: host,
- Port: port,
- Db: 14,
- MaxActive: 100,
- })
- helper := &Alarm{
- redisClient: red,
- }
- return helper
- }
- func (a *Alarm) SetAlarm(params *AlarmParams) error {
- key := AlarmPrefix + params.DeviceCode
- buffStr := gconv.String(params)
- fmt.Printf("保存数据---------------%s", buffStr)
- _, err := a.redisClient.Do("SET", key, buffStr)
- if err != nil {
- fmt.Printf("err---------------%s", err.Error())
- return err
- }
- _, err = a.redisClient.Do("EXPIRE", key, dataExpires)
- if err != nil {
- return err
- }
- return nil
- }
- func (a *Alarm) 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 *Alarm) DeleteAlarm(code string) error {
- key := AlarmPrefix + code
- // get status from redis
- _, err := a.redisClient.DoVar("DEL", key)
- if err != nil {
- return err
- }
- return nil
- }
|