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.

133 lines
3.5 KiB
Go

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
}