87 lines
2.4 KiB
Go
87 lines
2.4 KiB
Go
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 {
|
|
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
|
|
}
|
|
}
|
|
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
|
|
}
|
|
|
|
func DelShowRel(tx *gorm.DB, ids []int64) (err error) {
|
|
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
|
|
}
|
|
|
|
func QueryShowRel_showId(showID int64) (err error, out *model.ShowRel) {
|
|
out = new(model.ShowRel)
|
|
findDB := db.DbArtShow.Model(&model.ShowRel{})
|
|
if showID != 0 {
|
|
findDB = findDB.Where("show_id = ? ", showID)
|
|
}
|
|
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
|
|
}
|