package dao import ( "fonchain-artshow/cmd/model" "fonchain-artshow/pkg/db" "go.uber.org/zap" "gorm.io/gorm" ) func SaveArtworkPrice(tx *gorm.DB, artworks []*model.ArtworkPrice) (err error, ids []uint) { ids = make([]uint, 0) // 用于记录 更新的记录ID for i := 0; i < len(artworks); i++ { if artworks[i].ID != 0 { err = tx.Model(&model.ArtworkPrice{}).Omit("id").Where("id = ?", artworks[i].ID).Updates(artworks[i]).Error } else { err = tx.Model(&model.ArtworkPrice{}).Create(&artworks[i]).Error } if err != nil { zap.L().Error("Artwork price save err", zap.Error(err)) return } ids = append(ids, artworks[i].ID) } return } func ArtworkPriceList(showID uint) (err error, out []*model.ArtworkPrice) { out = make([]*model.ArtworkPrice, 0) err = db.DbArtShow.Model(&model.ArtworkPrice{}).Where("show_id = ? ", showID).Find(&out).Error if err != nil { zap.L().Error("Artwork list err", zap.Error(err)) return } return } func QueryArtworkPrice(artworkID int64) (err error, out *model.ArtworkPrice) { out = new(model.ArtworkPrice) err = db.DbArtShow.Model(&model.ArtworkPrice{}).Where("artwork_id = ? ", artworkID).Find(&out).Error if err != nil { zap.L().Error("Artwork price query err", zap.Error(err)) return } return } func DelArtworkPrice(tx *gorm.DB, ids []uint) (err error) { err = tx.Where("id in (?)", ids).Delete(&model.ArtworkPrice{}, ids).Error if err != nil { zap.L().Error("Artwork delete err", zap.Error(err)) return } return }