package service
|
|
import (
|
"errors"
|
"gorm.io/gorm"
|
"speechAnalysis/models"
|
"speechAnalysis/pkg/logx"
|
)
|
|
func DeleteAudio(audioId uint) (err error) {
|
err = models.WithTransaction(func(db *gorm.DB) error {
|
if err := models.NewAudioSearch().SetID(audioId).Delete(); err != nil {
|
return err
|
}
|
return models.NewAudioTextSearch().SetAudioID(audioId).Delete()
|
})
|
if err != nil {
|
logx.Errorf("delete audio err: %v", err)
|
return errors.New("DB错误")
|
}
|
return nil
|
}
|
|
func BatchDeleteAudio(audioIds []uint) (err error) {
|
if len(audioIds) == 0 {
|
return nil
|
}
|
err = models.WithTransaction(func(db *gorm.DB) error {
|
if err := models.NewAudioSearch().SetIDs(audioIds).Delete(); err != nil {
|
return err
|
}
|
return models.NewAudioTextSearch().SetAudioIDs(audioIds).Delete()
|
})
|
if err != nil {
|
logx.Errorf("delete audio err: %v", err)
|
return errors.New("DB错误")
|
}
|
return nil
|
}
|