package dao import ( "fonchain-artshow/cmd/model" "fonchain-artshow/pkg/db" uuid "github.com/satori/go.uuid" "go.uber.org/zap" "gorm.io/gorm" ) func SaveShowRels(tx *gorm.DB, showRels []*model.ShowRel) (err error, out []string) { out = make([]string, 0) for i := 0; i < len(showRels); i++ { if showRels[i].ShowRelUID == "" { uid, err := uuid.NewV4() if err != nil { return err, out } showRels[i].ShowRelUID = uid.String() err = tx.Model(&model.ShowRel{}).Create(&showRels[i]).Error if err != nil { zap.L().Error("ShowRels save err", zap.Error(err)) return err, nil } } else { err = tx.Model(&model.ShowRel{}).Where("show_uid = ? and apply_uid = ?", showRels[i].ShowUID, showRels[i].ApplyUID).First(&showRels[i]).Error if err != nil { zap.L().Error("ShowRels updates err", zap.Error(err)) return err, nil } } out = append(out, showRels[i].ApplyUID) } return } func UpdateShowRels(tx *gorm.DB, showRels []*model.ShowRel) (err error, out []string) { out = make([]string, 0) for i := 0; i < len(showRels); i++ { results := tx.Model(&model.ShowRel{}).Where("show_uid = ? and apply_uid = ?", showRels[i].ShowUID, showRels[i].ApplyUID).First(&showRels[i]) if results.Error != nil { zap.L().Error("ShowRels updates err", zap.Error(err)) return err, nil } out = append(out, showRels[i].ApplyUID) } return } func SaveShowRel(tx *gorm.DB, showRel *model.ShowRel) (err error) { err = tx.Model(&model.ShowRel{}).Where("show_uid = ?", showRel.ShowUID).Updates(showRel).Error if err != nil { zap.L().Error("ShowRel err", zap.Error(err)) return err } return } func DelShowRelWithUID(tx *gorm.DB, showRelUIDs []string) (err error) { err = tx.Where("show_rel_uid in (?)", showRelUIDs).Delete(&model.ShowRel{}).Error if err != nil { zap.L().Error("ShowRel delete err", zap.Error(err)) return } return } func DelShowReWithApplyUID(tx *gorm.DB, applyUID string) (err error) { err = tx.Where("apply_uid = ? ", applyUID).Delete(&model.ShowRel{}).Error if err != nil { zap.L().Error("DelShowReWithApplyUID err", zap.Error(err)) return } return } func DelShowReWithShowUID(tx *gorm.DB, showUID string) (err error) { err = tx.Where("show_uid = ? ", showUID).Delete(&model.ShowRel{}).Error if err != nil { zap.L().Error("DelShowReWithShowUID err", zap.Error(err)) return } return } func QueryShowRel_showUID(showUID string) (err error, out *model.ShowRel) { out = new(model.ShowRel) findDB := db.DbArtShow.Model(&model.ShowRel{}) if showUID != "" { findDB = findDB.Where("show_uid = ? ", showUID) } err = findDB.Find(&out).Error if err != nil { zap.L().Error("QueryShowRel err", zap.Error(err)) return } return } func QueryShowRelList(applyUID string, showUID string) (err error, out []*model.ShowRel) { out = make([]*model.ShowRel, 0) findDB := db.DbArtShow.Model(&model.ShowRel{}) if applyUID != "" { findDB = findDB.Where("apply_uid = ? ", applyUID) } if showUID != "" { findDB = findDB.Where("show_uid = ? ", showUID) } err = findDB.Find(&out).Error if err != nil { zap.L().Error("QueryShowRelList err", zap.Error(err)) return } return } func QueryShowRel(applyUID, showUID string) (err error, out *model.ShowRel) { out = new(model.ShowRel) findDB := db.DbArtShow.Model(&model.ShowRel{}) if showUID != "" { findDB = findDB.Where("show_uid = ? ", showUID) } if applyUID != "" { findDB = findDB.Where("apply_uid = ? ", applyUID) } err = findDB.Find(&out).Error if err != nil { zap.L().Error("QueryShowRel err", zap.Error(err)) return } return }