book_info_dao.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package dao
  2. import (
  3. "gorm.io/gorm"
  4. "youngee_b_api/app/entity"
  5. )
  6. type BookInfoDao struct{}
  7. // 获取指定任务id的最新预约记录
  8. func (d BookInfoDao) GetLastByTaskId(taskId string) (*entity.BookInfo, error) {
  9. var bookInfo entity.BookInfo
  10. err := Db.Model(&entity.BookInfo{}).Where("task_id = ?", taskId).Order("create_at DESC").First(&bookInfo).Error
  11. if err != nil {
  12. if err == gorm.ErrRecordNotFound {
  13. return &bookInfo, nil
  14. } else {
  15. return nil, err
  16. }
  17. }
  18. return &bookInfo, nil
  19. }
  20. // 更新预约状态
  21. func (d BookInfoDao) UpdateBookStatus(bookIds []int64, bookInfo entity.BookInfo) error {
  22. err := Db.Debug().Model(&entity.BookInfo{}).Where("book_id IN ?", bookIds).Updates(bookInfo).Error
  23. if err != nil {
  24. return err
  25. }
  26. return nil
  27. }
  28. // 更新字段
  29. func (d BookInfoDao) UpdateField(bookId int64, updateData map[string]interface{}) error {
  30. err := Db.Model(&entity.BookInfo{}).Where("book_id = ?", bookId).Updates(updateData).Error
  31. if err != nil {
  32. return err
  33. }
  34. return nil
  35. }
  36. // 批量更新字段
  37. func (d BookInfoDao) UpdateFieldBatch(bookIds []int64, updateData map[string]interface{}) error {
  38. err := Db.Model(&entity.BookInfo{}).Where("book_id IN ?", bookIds).Updates(updateData).Error
  39. if err != nil {
  40. return err
  41. }
  42. return nil
  43. }