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 { err = tx.Model(&model.ShowRel{}).Create(&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 []uint) (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 uint) (err error, out *model.ShowRel) { out = new(model.ShowRel) findDB := db.DbArtShow.Model(&model.ShowRel{}) if showID != 0 { findDB = findDB.Where("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 }