video_monitor/app/utils/LogUtils.py
2026-08-30 22:23:12 +08:00

50 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
"""管理员操作日志工具类"""
from datetime import datetime
from app.models import LogModel
from app.utils.LanguageUtils import LANG_VIEWS_USE_LANG_T
class LogUtils:
LOG_TYPE_ADD = 1
LOG_TYPE_EDIT = 2
LOG_TYPE_LOGIN = 20
LOG_TYPE_LOGOUT = 21
STATE_SUCCESS = 1
@staticmethod
def add_log(user_id, log_type, content, state=STATE_SUCCESS):
try:
log = LogModel()
log.user_id = user_id
log.log_type = log_type
log.content = content
log.state = state
log.create_time = datetime.now()
log.save()
return True
except Exception as e:
print(f"LogUtils.add_log() error: {str(e)}")
return False
@staticmethod
def _action_text(log_type, lang):
if log_type == LogUtils.LOG_TYPE_ADD:
return LANG_VIEWS_USE_LANG_T(lang, "log_type_add")
return LANG_VIEWS_USE_LANG_T(lang, "log_type_edit")
@staticmethod
def add_stream_log(user_id, stream_code, log_type, lang=None):
action = LogUtils._action_text(log_type, lang)
content = LANG_VIEWS_USE_LANG_T(lang, "log_content_stream").format(
action=action, stream_code=stream_code)
return LogUtils.add_log(user_id, log_type, content)
@staticmethod
def add_user_log(user_id, username, log_type, lang=None):
action = LogUtils._action_text(log_type, lang)
content = LANG_VIEWS_USE_LANG_T(lang, "log_content_user").format(
action=action, username=username)
return LogUtils.add_log(user_id, log_type, content)