selection_info_dao.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. // 根据enterpriseId查询指定某天的所有带货数据
  22. func (d SelectionInfoDAO) GetSelectionInfoListOfDay(enterpriseId string, date time.Time) ([]entity.SelectionInfo, error) {
  23. var selectionInfos []entity.SelectionInfo
  24. // 构建查询
  25. query := Db.Model(&entity.SelectionInfo{})
  26. if enterpriseId != "" {
  27. query = query.Where("enterprise_id = ?", enterpriseId)
  28. }
  29. // 将日期部分提取出来进行匹配
  30. query = query.Where("DATE(created_at) = ?", date.Format("2006-01-02"))
  31. err := query.Find(&selectionInfos).Error
  32. return selectionInfos, err
  33. }
  34. func (d SelectionInfoDAO) CreateSelectionInfo(selectionInfo entity.SelectionInfo) error {
  35. err := Db.Omit("task_ddl", "submit_at", "pass_at", "pay_at", "finish_at", "auto_fail_at").Create(&selectionInfo).Error
  36. if err != nil {
  37. return err
  38. }
  39. return nil
  40. }
  41. func (d SelectionInfoDAO) UpdateSelectionInfo(selectionInfo entity.SelectionInfo) error {
  42. err := Db.Model(&entity.SelectionInfo{}).Where("selection_id = ?", selectionInfo.SelectionID).Updates(selectionInfo).Error
  43. if err != nil {
  44. return err
  45. }
  46. return nil
  47. }