map_update.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package mysql
  2. import (
  3. "context"
  4. "fmt"
  5. "gorm.io/gen"
  6. "pji_desktop_http/biz/dal/query"
  7. "pji_desktop_http/biz/model"
  8. "pji_desktop_http/common/config"
  9. )
  10. func AddMapUpdateOneRecord(ctx context.Context, record model.MapUpdate) error {
  11. r := query.MapUpdate
  12. err := r.WithContext(ctx).Create(&record)
  13. return err
  14. }
  15. func UpdateMapUpdateOneRecord(ctx context.Context, record model.MapUpdate) (gen.ResultInfo, error) {
  16. r := query.MapUpdate
  17. info, err := r.WithContext(ctx).Where(r.ID.Eq(record.ID)).Updates(record)
  18. if err != nil {
  19. return info, err
  20. }
  21. return info, nil
  22. }
  23. func QueryMapUpdateRecordById(ctx context.Context, id string) (*model.MapUpdate, error) {
  24. r := query.MapUpdate
  25. record, err := r.WithContext(ctx).Where(r.ID.Eq(id)).First()
  26. if err != nil {
  27. return &model.MapUpdate{}, err
  28. }
  29. fmt.Println("Query map update records successfully:", &record)
  30. return record, err
  31. }
  32. func QueryMapUpdateRecords(ctx context.Context, record *model.MapUpdate, pageFlag bool, page, pageSize int) ([]*model.MapUpdate, int64, error) {
  33. r := query.MapUpdate
  34. q := r.WithContext(ctx)
  35. var records []*model.MapUpdate
  36. var count int64
  37. var err error
  38. if record.DeviceName != "" {
  39. q = q.Where(r.DeviceName.Like("%" + record.DeviceName + "%"))
  40. }
  41. if record.DeviceType != "" {
  42. q = q.Where(r.DeviceType.Eq(record.DeviceType))
  43. }
  44. if pageFlag {
  45. offset := (page - 1) * pageSize
  46. records, count, err = q.Order(r.UpdateTime.Desc()).FindByPage(offset, pageSize)
  47. } else {
  48. records, err = q.Order(r.UpdateTime.Desc()).Find()
  49. }
  50. if err != nil {
  51. fmt.Println("Query map update records failed:", err.Error())
  52. return nil, 0, err
  53. }
  54. fmt.Println("Query map update records successfully:", len(records))
  55. return records, count, err
  56. }
  57. func QueryMapUpdateRecordsByRescanFlag(ctx context.Context, flag int32) ([]*model.MapUpdate, error) {
  58. r := query.MapUpdate
  59. var records []*model.MapUpdate
  60. records, err := r.WithContext(ctx).Where(r.RescanNotifyFlag.Eq(flag)).Find()
  61. if err != nil {
  62. return records, err
  63. }
  64. fmt.Println("Query map update records successfully:", len(records))
  65. return records, err
  66. }
  67. func QueryMapUpdateRecordsByUpdateFlag(ctx context.Context, flag int32) ([]*model.MapUpdate, error) {
  68. r := query.MapUpdate
  69. var records []*model.MapUpdate
  70. records, err := r.WithContext(ctx).Where(r.UpdateFlag.Eq(flag)).Find()
  71. if err != nil {
  72. return records, err
  73. }
  74. fmt.Println("Query map update records successfully:", len(records))
  75. return records, err
  76. }
  77. func QueryMapRescanList(ctx context.Context, record *model.MapUpdate, pageFlag bool, page, pageSize int) ([]*model.MapUpdate, int64, error) {
  78. r := query.MapUpdate
  79. q := r.WithContext(ctx)
  80. var records []*model.MapUpdate
  81. var count int64
  82. var err error
  83. q = q.Where(r.RescanNotifyFlag.Eq(config.MAP_RESCAN_FLAG))
  84. if record.DeviceName != "" {
  85. q = q.Where(r.DeviceName.Like("%" + record.DeviceName + "%"))
  86. }
  87. if record.DeviceType != "" {
  88. q = q.Where(r.DeviceType.Eq(record.DeviceType))
  89. }
  90. if pageFlag {
  91. offset := (page - 1) * pageSize
  92. records, count, err = q.Order(r.UpdateTime.Desc()).FindByPage(offset, pageSize)
  93. } else {
  94. records, err = q.Order(r.UpdateTime.Desc()).Find()
  95. }
  96. if err != nil {
  97. fmt.Println("Query map rescan records failed:", err.Error())
  98. return nil, 0, err
  99. }
  100. fmt.Println("Query map rescan records successfully:", len(records))
  101. return records, count, err
  102. }