map_update.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. )
  9. func AddMapUpdateOneRecord(ctx context.Context, record model.MapUpdate) error {
  10. r := query.MapUpdate
  11. err := r.WithContext(ctx).Create(&record)
  12. return err
  13. }
  14. func UpdateMapUpdateOneRecord(ctx context.Context, record model.MapUpdate) (gen.ResultInfo, error) {
  15. r := query.MapUpdate
  16. info, err := r.WithContext(ctx).Where(r.ID.Eq(record.ID)).Updates(record)
  17. if err != nil {
  18. return info, err
  19. }
  20. return info, nil
  21. }
  22. func QueryMapUpdateRecordById(ctx context.Context, id string) (*model.MapUpdate, error) {
  23. r := query.MapUpdate
  24. record, err := r.WithContext(ctx).Where(r.ID.Eq(id)).First()
  25. if err != nil {
  26. return &model.MapUpdate{}, err
  27. }
  28. fmt.Println("Query map update records successfully:", &record)
  29. return record, err
  30. }
  31. func QueryMapUpdateRecords(ctx context.Context, record *model.MapUpdate, pageFlag bool, page, pageSize int) ([]*model.MapUpdate, int64, error) {
  32. r := query.MapUpdate
  33. q := r.WithContext(ctx)
  34. var records []*model.MapUpdate
  35. var count int64
  36. var err error
  37. if record.DeviceName != "" {
  38. q = q.Where(r.DeviceName.Like("%" + record.DeviceName + "%"))
  39. }
  40. if record.DeviceType != "" {
  41. q = q.Where(r.DeviceType.Eq(record.DeviceType))
  42. }
  43. if pageFlag {
  44. offset := (page - 1) * pageSize
  45. records, count, err = q.Order(r.UpdateTime.Desc()).FindByPage(offset, pageSize)
  46. } else {
  47. records, err = q.Order(r.UpdateTime.Desc()).Find()
  48. }
  49. if err != nil {
  50. fmt.Println("Query map update records failed:", err.Error())
  51. return nil, 0, err
  52. }
  53. fmt.Println("Query map update records successfully:", len(records))
  54. return records, count, err
  55. }