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.

87 lines
2.4 KiB
Go

2 years ago
package dao
import (
"fonchain-artshow/cmd/model"
"fonchain-artshow/pkg/db"
"go.uber.org/zap"
"gorm.io/gorm"
)
func SaveShowRels(tx *gorm.DB, showRels []*model.ShowRel) (err error, out []uint) {
out = make([]uint, 0)
for i := 0; i < len(showRels); i++ {
if showRels[i].ID != 0 {
err = tx.Model(&model.ShowRel{}).Omit("id").Where("id = ?", showRels[i].ID).Updates(showRels[i]).Error
} else {
2 years ago
showRel := new(model.ShowRel)
results := tx.Model(&model.ArtworkPrice{}).Where("show_id = ? and apply_id = ?", showRels[i].ShowID, showRels[i].ApplyID).First(&showRel)
if results.Error == nil || showRel.ID == 0 {
err = tx.Model(&model.ArtworkPrice{}).Create(&showRels[i]).Error
} else {
err = tx.Model(&model.ArtworkPrice{}).Where("show_id = ? and apply_id = ?", showRels[i].ShowID, showRels[i].ApplyID).Updates(showRels[i]).Error
}
2 years ago
}
if err != nil {
zap.L().Error("ShowRels err", zap.Error(err))
return err, nil
}
out = append(out, showRels[i].ID)
}
return
}
func SaveShowRel(tx *gorm.DB, showRel *model.ShowRel) (err error) {
err = tx.Model(&model.ShowRel{}).Where("show_id = ?", showRel.ShowID).Updates(showRel).Error
if err != nil {
zap.L().Error("ShowRel err", zap.Error(err))
return err
}
return
}
2 years ago
func DelShowRel(tx *gorm.DB, ids []int64) (err error) {
2 years ago
err = tx.Where("id in (?)", ids).Delete(&model.ShowRel{}).Error
if err != nil {
zap.L().Error("ShowRel delete err", zap.Error(err))
return
}
return
}
func DelShowRelByApplyID(tx *gorm.DB, applyID uint) (err error) {
err = tx.Where("apply_id = ? ", applyID).Delete(&model.ShowRel{}).Error
if err != nil {
zap.L().Error("ShowRel by applyID delete err", zap.Error(err))
return
}
return
}
2 years ago
func QueryShowRel_showId(showID int64) (err error, out *model.ShowRel) {
2 years ago
out = new(model.ShowRel)
findDB := db.DbArtShow.Model(&model.ShowRel{})
if showID != 0 {
2 years ago
findDB = findDB.Where("show_id = ? ", showID)
2 years ago
}
err = findDB.Find(&out).Error
if err != nil {
zap.L().Error("QueryShowRel err", zap.Error(err))
return
}
return
}
func QueryShowRelList(applyID uint) (err error, out []*model.ShowRel) {
out = make([]*model.ShowRel, 0)
findDB := db.DbArtShow.Model(&model.ShowRel{})
if applyID != 0 {
findDB = findDB.Where("apply_id = ? ", applyID)
}
err = findDB.Find(&out).Error
if err != nil {
zap.L().Error("QueryShowRelList err", zap.Error(err))
return
}
return
}