diff --git a/backend/apps/system/api/user.py b/backend/apps/system/api/user.py index ee57c55c..f9a9b1a5 100644 --- a/backend/apps/system/api/user.py +++ b/backend/apps/system/api/user.py @@ -253,6 +253,7 @@ async def delete(session: SessionDep, id: int = Path(description=f"{PLACEHOLDER_ @router.delete("", summary=f"{PLACEHOLDER_PREFIX}user_batchdel_api", description=f"{PLACEHOLDER_PREFIX}user_batchdel_api") @require_permissions(permission=SqlbotPermission(role=['admin'])) +@system_log(LogConfig(operation_type=OperationType.DELETE,module=OperationModules.USER,resource_id_expr="id_list")) async def batch_del(session: SessionDep, id_list: list[int]): for id in id_list: await single_delete(session, id) diff --git a/backend/common/audit/models/log_model.py b/backend/common/audit/models/log_model.py index 365c978b..6eec6966 100644 --- a/backend/common/audit/models/log_model.py +++ b/backend/common/audit/models/log_model.py @@ -22,6 +22,9 @@ class OperationModules(str, Enum): PARAMS_SETTING = "params_setting" # 参数配置 API_KEY = "api_key" # api key LOG_SETTING = "log_setting" # api key + SETTING = "setting" # 设置 + SYSTEM_MANAGEMENT = "system_management" # 系统管理 + OPT_LOG = "opt_log" # 操作日志 class OperationStatus(str, Enum): SUCCESS = "success" @@ -38,6 +41,8 @@ class OperationType(str, Enum): IMPORT = "import" ADD = "add" CREATE_OR_UPDATE = "create_or_update" + ANALYSIS = "analysis" + PREDICTION = "prediction" class SystemLog(SQLModel, table=True): diff --git a/backend/common/audit/schemas/logger_decorator.py b/backend/common/audit/schemas/logger_decorator.py index 571340b8..a6b18470 100644 --- a/backend/common/audit/schemas/logger_decorator.py +++ b/backend/common/audit/schemas/logger_decorator.py @@ -432,6 +432,9 @@ class SystemLogger: with Session(engine) as session: session.add(log) + session.query(SystemLog).filter(SystemLog.resource_id == str(resource_id)).update({ + SystemLog.resource_name: str(resource_name) + }, synchronize_session='fetch') session.commit() session.refresh(log) return log diff --git a/backend/locales/en.json b/backend/locales/en.json index 3ef2d684..212ee1a7 100644 --- a/backend/locales/en.json +++ b/backend/locales/en.json @@ -171,9 +171,12 @@ "add": "Add", "create_or_update": "Change", "api_key": "API Key", - "params_setting": "Parameters Setting", + "params_setting": "Parameter Configuration", "rules": "Permission Rules", - "log_setting": "Login Authentication" + "log_setting": "Login Authentication", + "setting": "Settings", + "system_management": "System Management", + "opt_log": "Operation Log" }, "i18n_table_not_exist": "Table not exist" } \ No newline at end of file diff --git a/backend/locales/ko-KR.json b/backend/locales/ko-KR.json index 6b76128d..4a6b7001 100644 --- a/backend/locales/ko-KR.json +++ b/backend/locales/ko-KR.json @@ -173,7 +173,10 @@ "api_key": "API 키", "params_setting": "매개변수 설정", "rules": "권한 규칙", - "log_setting": "로그인 인증" + "log_setting": "로그인 인증", + "setting": "설정", + "system_management": "시스템 관리", + "opt_log": "작업 로그" }, "i18n_table_not_exist": "현재 테이블이 존재하지 않습니다" } \ No newline at end of file diff --git a/backend/locales/zh-CN.json b/backend/locales/zh-CN.json index 51b24bce..edebe9cd 100644 --- a/backend/locales/zh-CN.json +++ b/backend/locales/zh-CN.json @@ -171,9 +171,13 @@ "add": "添加", "create_or_update": "变更", "api_key": "API Key", - "params_setting": "参数设置", + "params_setting": "参数配置", "rules": "权限规则", - "log_setting": "登录认证" + "log_setting": "登录认证", + "setting": "设置", + "system_management": "系统管理", + "opt_log": "操作日志" + }, "i18n_table_not_exist": "当前表不存在" } \ No newline at end of file diff --git a/frontend/src/api/chat.ts b/frontend/src/api/chat.ts index b3d23782..2899abd1 100644 --- a/frontend/src/api/chat.ts +++ b/frontend/src/api/chat.ts @@ -189,7 +189,9 @@ export class ChatInfo extends Chat { ds_type: string, datasource_name: string, datasource_exists: boolean, - records: Array + records: Array, + recommended_question?: string | undefined, + recommended_generate?: boolean | undefined ) constructor( param1?: number | Chat, diff --git a/frontend/src/views/chat/RecommendQuestionQuick.vue b/frontend/src/views/chat/RecommendQuestionQuick.vue index bd4436de..4a31fdd5 100644 --- a/frontend/src/views/chat/RecommendQuestionQuick.vue +++ b/frontend/src/views/chat/RecommendQuestionQuick.vue @@ -26,7 +26,7 @@ const emits = defineEmits(['clickQuestion', 'stop', 'loadingOver']) const loading = ref(false) -const questions = ref('[]') +const questions = ref('[]') const computedQuestions = computed(() => { if (