package dao import ( "errors" "gorm.io/gorm" "time" "youngee_b_api/app/entity" ) type SelectionInfoDAO struct{} func (d SelectionInfoDAO) GetSelectionInfoById(selectionId string) (*entity.SelectionInfo, error) { var selectionInfo entity.SelectionInfo err := Db.Where("selection_id = ?", selectionId).First(&selectionInfo).Error if err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil } else { return nil, err } } return &selectionInfo, err } //func (d SelectionInfoDAO) UpdateSelectionInfoById(id int, enterpriseId string) { // Db.Model(&entity.SelectionInfo{}).Where("id = ?", id).Update("enterprise_id", enterpriseId) //} //func (d SelectionInfoDAO) DeleteSelectionInfoById(id int) error { // err := Db.Delete(&entity.SelectionInfo{}, id).Error // return err //} // 根据enterpriseId查询指定某天的所有带货数据 func (d SelectionInfoDAO) GetSelectionInfoListOfDay(enterpriseId string, date time.Time) ([]entity.SelectionInfo, error) { var selectionInfos []entity.SelectionInfo // 构建查询 query := Db.Model(&entity.SelectionInfo{}) if enterpriseId != "" { query = query.Where("enterprise_id = ?", enterpriseId) } // 将日期部分提取出来进行匹配 query = query.Where("DATE(created_at) = ?", date.Format("2006-01-02")) err := query.Find(&selectionInfos).Error return selectionInfos, err } func (d SelectionInfoDAO) CreateSelectionInfo(selectionInfo entity.SelectionInfo) error { err := Db.Omit("task_ddl", "submit_at", "pass_at", "auto_fail_at").Create(&selectionInfo).Error if err != nil { return err } return nil } func (d SelectionInfoDAO) UpdateSelectionInfo(selectionInfo entity.SelectionInfo) error { err := Db.Model(&entity.SelectionInfo{}).Where("selection_id = ?", selectionInfo.SelectionID).Updates(selectionInfo).Error if err != nil { return err } return nil }