selection_info_dao.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package dao
  2. import (
  3. "errors"
  4. "gorm.io/gorm"
  5. "time"
  6. "youngee_b_api/app/entity"
  7. )
  8. type SelectionInfoDAO struct{}
  9. func (d SelectionInfoDAO) GetSelectionInfoById(selectionId string) (*entity.SelectionInfo, error) {
  10. var selectionInfo entity.SelectionInfo
  11. err := Db.Where("selection_id = ?", selectionId).First(&selectionInfo).Error
  12. if err != nil {
  13. if errors.Is(err, gorm.ErrRecordNotFound) {
  14. return nil, nil
  15. } else {
  16. return nil, err
  17. }
  18. }
  19. return &selectionInfo, err
  20. }
  21. //func (d SelectionInfoDAO) UpdateSelectionInfoById(id int, enterpriseId string) {
  22. // Db.Model(&entity.SelectionInfo{}).Where("id = ?", id).Update("enterprise_id", enterpriseId)
  23. //}
  24. //func (d SelectionInfoDAO) DeleteSelectionInfoById(id int) error {
  25. // err := Db.Delete(&entity.SelectionInfo{}, id).Error
  26. // return err
  27. //}
  28. // 根据enterpriseId查询指定某天的所有带货数据
  29. func (d SelectionInfoDAO) GetSelectionInfoListOfDay(enterpriseId string, date time.Time) ([]entity.SelectionInfo, error) {
  30. var selectionInfos []entity.SelectionInfo
  31. // 构建查询
  32. query := Db.Model(&entity.SelectionInfo{})
  33. if enterpriseId != "" {
  34. query = query.Where("enterprise_id = ?", enterpriseId)
  35. }
  36. // 将日期部分提取出来进行匹配
  37. query = query.Where("DATE(created_at) = ?", date.Format("2006-01-02"))
  38. err := query.Find(&selectionInfos).Error
  39. return selectionInfos, err
  40. }
  41. func (d SelectionInfoDAO) CreateSelectionInfo(selectionInfo entity.SelectionInfo) error {
  42. err := Db.Omit("task_ddl", "submit_at", "pass_at", "auto_fail_at").Create(&selectionInfo).Error
  43. if err != nil {
  44. return err
  45. }
  46. return nil
  47. }
  48. func (d SelectionInfoDAO) UpdateSelectionInfo(selectionInfo entity.SelectionInfo) error {
  49. err := Db.Model(&entity.SelectionInfo{}).Where("selection_id = ?", selectionInfo.SelectionID).Updates(selectionInfo).Error
  50. if err != nil {
  51. return err
  52. }
  53. return nil
  54. }