From 0a6e8be485f41fcbf6c362663138ce86ccdd02f1 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 22 五月 2024 19:47:19 +0800
Subject: [PATCH] 音频正在处理或者处理完成,不可删除

---
 controllers/audio.go |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/controllers/audio.go b/controllers/audio.go
index 2924c9b..5d035d8 100644
--- a/controllers/audio.go
+++ b/controllers/audio.go
@@ -322,7 +322,18 @@
 		return
 	}
 
-	err := service.DeleteAudio(params.ID)
+	audio, err := models.NewAudioSearch().SetID(params.ID).First()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "闊抽涓嶅瓨鍦�")
+		return
+	}
+
+	if audio.AudioStatus == constvar.AudioStatusProcessing || audio.AudioStatus == constvar.AudioStatusFinish {
+		util.ResponseFormat(c, code.RequestParamError, "闊抽姝e湪澶勭悊鎴栬�呭鐞嗗畬鎴愶紝涓嶅彲鍒犻櫎")
+		return
+	}
+
+	err = service.DeleteAudio(params.ID)
 	if err != nil {
 		util.ResponseFormat(c, code.InternalError, err.Error())
 		return
@@ -345,7 +356,20 @@
 		return
 	}
 
-	err := service.BatchDeleteAudio(params.IDs)
+	audioList, err := models.NewAudioSearch().SetIDs(params.IDs).FindNotTotal()
+	if err != nil {
+		util.ResponseFormat(c, code.InternalError, "鍐呴儴閿欒")
+		return
+	}
+
+	for _, audio := range audioList {
+		if audio.AudioStatus == constvar.AudioStatusProcessing || audio.AudioStatus == constvar.AudioStatusFinish {
+			util.ResponseFormat(c, code.RequestParamError, "闊抽姝e湪澶勭悊鎴栬�呭鐞嗗畬鎴愶紝涓嶅彲鍒犻櫎")
+			return
+		}
+	}
+
+	err = service.BatchDeleteAudio(params.IDs)
 	if err != nil {
 		util.ResponseFormat(c, code.InternalError, err.Error())
 		return

--
Gitblit v1.8.0