123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package dao
- import (
- "context"
- "encoding/json"
- "fmt"
- "server/global"
- )
- type DeviceRelay struct {
- ID int `json:"id"`
- RelayID int `json:"relayId" gorm:"comment:回路id"`
- DeviceSn string `json:"deviceSn" gorm:"comment:设备Sn"`
- State bool `json:"state" gorm:"comment:设备状态"`
- }
- func (DeviceRelay) TableName() string {
- return "device_relay"
- }
- func QueryRelayBySn(sn string) (deviceRelays []DeviceRelay, err error) {
- err = global.GVA_DB.Model(&DeviceRelay{}).Where("device_sn = ?", sn).Find(&deviceRelays).Error
- return
- }
- func UpdateRelayState(deviceSn string, relayId int, state bool) error {
- return global.GVA_DB.Model(&DeviceRelay{}).Where("device_sn = ? AND relay_id = ?", deviceSn, relayId).Update("state", state).Error
- }
- func GetCacheRelayState(sn string) (deviceRelays []DeviceRelay, err error) {
- if global.GVA_REDIS == nil {
- return
- }
- result, err := global.GVA_REDIS.Get(context.Background(), "device_relays_"+sn).Result()
- if err != nil {
- return
- }
- err = json.Unmarshal([]byte(result), &deviceRelays)
- if err != nil {
- return
- }
- return
- }
- // SaveCacheDeviceRelays 保存电感数据
- func SaveCacheDeviceRelays(sn string, deviceRelays []DeviceRelay) (err error) {
- jsonData, err := json.Marshal(deviceRelays)
- if err != nil {
- fmt.Println("Error marshalling JSON:", err)
- return
- }
- if global.GVA_REDIS == nil {
- return
- }
- err = global.GVA_REDIS.Set(context.Background(), "device_relays_"+sn, jsonData, 0).Err()
- return
- }
|