You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.8 KiB
Go

2 years ago
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
}
2 years ago
func QueryArtworkPrice_artworkID(artworkID int64) (err error, out *model.ArtworkPrice) {
2 years ago
out = new(model.ArtworkPrice)
err = db.DbArtShow.Model(&model.ArtworkPrice{}).Where("artwork_id = ? ", artworkID).Find(&out).Error
if err != nil {
2 years ago
zap.L().Error("Artwork price artwork_id query err", zap.Error(err))
return
}
return
}
func QueryArtworkPrice_id(id uint) (err error, out *model.ArtworkPrice) {
out = new(model.ArtworkPrice)
err = db.DbArtShow.Model(&model.ArtworkPrice{}).Where("id = ? ", id).Find(&out).Error
if err != nil {
zap.L().Error("Artwork price id query err", zap.Error(err))
2 years ago
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
}