diff --git a/backend/app/services/creator.go b/backend/app/services/creator.go index 00e18f2..58c1491 100644 --- a/backend/app/services/creator.go +++ b/backend/app/services/creator.go @@ -425,6 +425,12 @@ func (s *creator) DeleteContent(ctx context.Context, userID int64, id string) er return err } + // Check if purchased (ContentAccess exists) + count, _ := models.ContentAccessQuery.WithContext(ctx).Where(models.ContentAccessQuery.ContentID.Eq(cid)).Count() + if count > 0 { + return errorx.ErrPreconditionFailed.WithMsg("该内容已被购买,无法删除") + } + _, err = models.ContentQuery.WithContext(ctx). Where(models.ContentQuery.ID.Eq(cid), models.ContentQuery.TenantID.Eq(tid)). Delete() diff --git a/frontend/portal/src/views/creator/ContentsView.vue b/frontend/portal/src/views/creator/ContentsView.vue index 585b014..aa273b7 100644 --- a/frontend/portal/src/views/creator/ContentsView.vue +++ b/frontend/portal/src/views/creator/ContentsView.vue @@ -131,6 +131,8 @@ + +