1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package deviceAlarm
- import (
- "fmt"
- "github.com/gogf/gf/database/gredis"
- "github.com/gogf/gf/encoding/gjson"
- )
- const (
- AlarmPrefix = "device:main: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 int) *DevAlarmManager {
- fmt.Printf("redis---------------%s:%d\n", host, port)
- 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
- res, err := a.redisClient.DoVar("SET", key, params)
- if err != nil {
- return err
- }
- fmt.Printf("params--------------%s\nres--------------%s\n", gjson.New(params).MustToJsonString(), res.String())
- r, err := a.GetAlarm(params.DeviceCode)
- if err != nil {
- fmt.Printf("err------------%s\n", err.Error())
- }
- if res == nil {
- fmt.Printf("rrrrrrrrrrrrr为空----------\n")
- return nil
- }
- fmt.Printf("r---------------------%s\n", gjson.New(r).MustToJsonString())
- //_, 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.Do("DEL", key)
- if err != nil {
- return err
- }
- return nil
- }
|