12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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 DevAlarmManager struct {
- redisClient *gredis.Redis
- }
- func NewDevAlarmManager(host string, port, db int) *DevAlarmManager {
- red := gredis.New(&gredis.Config{
- Host: host,
- Port: port,
- Db: 14,
- MaxActive: 100,
- })
- helper := &DevAlarmManager{
- redisClient: red,
- }
- return helper
- }
- func (a *DevAlarmManager) SetAlarm(params *AlarmParams) error {
- key := AlarmPrefix + params.DeviceCode
- buffStr := gconv.String(params)
- fmt.Printf("保存数据: key:%s value:%s \r\n", key, buffStr)
- _, err := a.redisClient.Do("SET", key, buffStr)
- if err != nil {
- return err
- }
- _, err = a.redisClient.Do("EXPIRE", key, dataExpires)
- if err != nil {
- return err
- }
- fmt.Println("11111111111111")
- 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
- }
|