50 lines
1.6 KiB
Python
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)
|