Roc 9 ماه پیش
والد
کامیت
c074ab0268
3فایلهای تغییر یافته به همراه20 افزوده شده و 17 حذف شده
  1. 2 2
      controllers/audio.go
  2. 1 2
      controllers/video.go
  3. 17 13
      models/media.go

+ 2 - 2
controllers/audio.go

@@ -174,13 +174,13 @@ func (this *AudioController) AddAudio() {
 		CreatedTime:           time.Now(),
 	}
 
-	insertId, err := models.InsertMedia(audioInsert)
+	err = models.InsertMedia(audioInsert)
 	if err != nil {
 		br.Msg = "添加失败"
 		br.ErrMsg = "音频新增失败,Err:" + err.Error()
 		return
 	}
-	audioInsert.Id = int(insertId)
+	//audioInsert.Id = int(insertId)
 	// 添加es
 	go func(audio *models.ESMedia) {
 		docId := strconv.Itoa(audio.MediaId)

+ 1 - 2
controllers/video.go

@@ -152,13 +152,12 @@ func (this *VideoController) AddVideo() {
 		CreatedTime:           time.Now(),
 	}
 
-	insertId, err := models.InsertMedia(audioInsert)
+	err = models.InsertMedia(audioInsert)
 	if err != nil {
 		br.Msg = "添加失败"
 		br.ErrMsg = "音频新增失败,Err:" + err.Error()
 		return
 	}
-	audioInsert.Id = int(insertId)
 	// 添加es
 	go func(audio *models.ESMedia) {
 		docId := strconv.Itoa(audio.MediaId)

+ 17 - 13
models/media.go

@@ -65,12 +65,11 @@ type Media struct {
 	UpdatedTime           time.Time  `description:"updated_time"`
 }
 
-func InsertMedia(m *Media) (insertId int64, err error) {
-	o := orm.NewOrm()
+func InsertMedia(m *Media) (err error) {
+	tx, err := orm.NewOrm().Begin()
 	if err != nil {
-		return 0, err
+		return
 	}
-	tx, err := o.Begin()
 	if err != nil {
 		fmt.Printf("%v", err)
 		return
@@ -80,28 +79,33 @@ func InsertMedia(m *Media) (insertId int64, err error) {
 			_ = tx.Rollback()
 			return
 		}
+
+		if err != nil {
+			_ = tx.Rollback()
+		} else {
+			_ = tx.Commit()
+		}
 	}()
-	insertId, err = o.Insert(m)
+	insertId, err := tx.Insert(m)
 	if err != nil {
 		_ = tx.Rollback()
 		return
 	}
+	m.Id = int(insertId)
+
+	permissionMappingList := make([]*MediaPermissionMapping, 0)
 	ids := strings.Split(m.PermissionIds, ",")
 	for _, item := range ids {
 		x, _ := strconv.Atoi(item)
-		mapping := &MediaPermissionMapping{
+		permissionMappingList = append(permissionMappingList, &MediaPermissionMapping{
 			MediaId:      m.Id,
 			MediaType:    m.MediaType,
 			PermissionId: x,
 			CreatedTime:  time.Now(),
-		}
-		_, err = o.Insert(mapping)
-		if err != nil {
-			_ = tx.Rollback()
-			return
-		}
+		})
 	}
-	_ = tx.Commit()
+	_, err = tx.InsertMulti(500, permissionMappingList)
+
 	return
 }
 func DeleteMedia(m *Media) (err error) {