细节优化
This commit is contained in:
@@ -156,10 +156,26 @@ class DocumentService:
|
||||
doc = self.get_or_404(doc_id, user)
|
||||
file_size = doc.file_size
|
||||
self._doc_repo.delete(doc)
|
||||
self._delete_doc_files(doc)
|
||||
# 回补配额
|
||||
self._restore_quota(user, file_size)
|
||||
self._session.commit()
|
||||
|
||||
def _delete_doc_files(self, doc: Document) -> None:
|
||||
"""物理删除文档的原始文件与 Markdown 文件(软删后调用)。"""
|
||||
from app.storage.local_storage import get_storage
|
||||
|
||||
storage = get_storage()
|
||||
for key in (doc.storage_path, doc.markdown_path):
|
||||
if not key:
|
||||
continue
|
||||
try:
|
||||
storage.delete(key)
|
||||
except Exception as exc: # noqa: BLE001
|
||||
import logging
|
||||
|
||||
logging.getLogger(__name__).warning("清理文件失败 key=%s: %s", key, exc)
|
||||
|
||||
def _check_quota(self, user: User, file_size: int) -> None:
|
||||
settings = get_settings()
|
||||
if user.storage_used + file_size > settings.default_storage_quota:
|
||||
|
||||
Reference in New Issue
Block a user