siteAlarmSnapshotData.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package pgsql_alarmSnapshot
  2. import (
  3. "context"
  4. "fmt"
  5. "fwh-toolbox-server/models/model_pgsql/model_alarm_snapshot"
  6. "fwh-toolbox-server/models/model_pgsql/query_alarm_snapshot"
  7. "time"
  8. "go.uber.org/zap"
  9. "gorm.io/gorm/clause"
  10. )
  11. type SnapshotData = model_alarm_snapshot.SiteAlarmSnapshotData
  12. func QuerySnapshotData(c context.Context, sn string, logTime string) ([]*SnapshotData, error) {
  13. ctx, cancel := context.WithTimeout(c, 5*time.Second)
  14. defer cancel()
  15. start, err := time.Parse(time.DateOnly, logTime)
  16. if err != nil {
  17. return nil, err
  18. }
  19. end := start.Add(24 * time.Hour)
  20. SnapshotDataModel := query_alarm_snapshot.SiteAlarmSnapshotData
  21. data, err := SnapshotDataModel.WithContext(ctx).
  22. Where(
  23. SnapshotDataModel.Sn.Eq(sn),
  24. SnapshotDataModel.LogTime.Gte(start),
  25. SnapshotDataModel.LogTime.Lt(end),
  26. ).
  27. Find()
  28. return data, err
  29. }
  30. func InsertSnapshotData(c context.Context, data *SnapshotData) error {
  31. if data == nil {
  32. return fmt.Errorf("InsertSnapshotData empty data.")
  33. }
  34. ctx, cancel := context.WithTimeout(c, 5*time.Second)
  35. defer cancel()
  36. SnapshotDataModel := query_alarm_snapshot.SiteAlarmSnapshotData
  37. err := SnapshotDataModel.WithContext(ctx).Clauses(clause.OnConflict{
  38. UpdateAll: true,
  39. }).Create(data)
  40. if err != nil {
  41. zap.L().Error("文件解析记录数据库创建失败", zap.String("err", err.Error()), zap.Int64("ID", data.ID), zap.String("SN", data.Sn), zap.Int64("FileRecordID", data.FileRecordID), zap.String("LogTime", data.LogTime.String()))
  42. return err
  43. }
  44. return nil
  45. }