Bläddra i källkod

标签视频引用数

hsun 1 år sedan
förälder
incheckning
d948ad94b7

+ 16 - 5
controllers/eta_training_video/eta_training_video.go

@@ -478,6 +478,14 @@ func (this *EtaTrainingVideoController) Edit() {
 		_ = logItem.Create()
 	}()
 
+	// 更新标签引用数
+	go func() {
+		tagOB := new(eta_training_video.EtaTrainingVideoTag)
+		for _, t := range tagRelates {
+			_ = tagOB.UpdateVideoTotal(t.EtaTrainingVideoTagId)
+		}
+	}()
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -622,13 +630,16 @@ func (this *EtaTrainingVideoController) Remove() {
 		return
 	}
 
-	// 移除分类、标签关联
+	// 移除分类、标签关联, 更新标签引用数
 	go func() {
-		rc := new(eta_training_video.EtaTrainingVideoClassifyRelate)
-		_ = rc.RemoveRelateByVideoId(item.EtaTrainingVideoId)
+		cr := new(eta_training_video.EtaTrainingVideoClassifyRelate)
+		_ = cr.RemoveRelateByVideoId(item.EtaTrainingVideoId)
+
+		tr := new(eta_training_video.EtaTrainingVideoTagRelate)
+		_ = tr.RemoveRelateByVideoId(item.EtaTrainingVideoId)
 
-		rt := new(eta_training_video.EtaTrainingVideoTagRelate)
-		_ = rt.RemoveRelateByVideoId(item.EtaTrainingVideoId)
+		t := new(eta_training_video.EtaTrainingVideoTag)
+		_ = t.RemoveVideoTotalByVideoId(item.EtaTrainingVideoId)
 	}()
 
 	// 操作日志

+ 10 - 0
models/eta_training_video/eta_training_video_tag.go

@@ -137,6 +137,16 @@ func (m *EtaTrainingVideoTag) UpdateVideoTotal(tagId int) (err error) {
 	return
 }
 
+// RemoveVideoTotalByVideoId 更新标签的视频引用数
+func (m *EtaTrainingVideoTag) RemoveVideoTotalByVideoId(videoId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE eta_training_video_tag SET video_total = video_total-1 WHERE eta_training_video_tag_id IN (
+				SELECT DISTINCT eta_training_video_tag_id FROM eta_training_video_tag_relate WHERE eta_training_video_id = ?
+			) AND video_total > 0`
+	_, err = o.Raw(sql, videoId).Exec()
+	return
+}
+
 // EtaTrainingVideoTagAddReq 新增标签请求体
 type EtaTrainingVideoTagAddReq struct {
 	TagName string `description:"标签名称"`