12345678910111213141516171819202122232425262728293031323334353637 |
- from datetime import datetime,timedelta
- from core.dtos import LogDto
- from stores import LogStore
- class LogService:
- def __init__(self):
- self.log_store = LogStore()
- pass
- def get_logs_paginated(self, page:int, page_size:int, username:str, operation_type:str, operation_module:str, operation_result:int, start_time:str, end_time:str):
- # 处理开始时间和结束时间
- start_datetime = None
- end_datetime = None
- try:
- if start_time:
- start_datetime = datetime.strptime(start_time, '%Y-%m-%d').replace(hour=0, minute=0, second=0)
- if end_time:
- end_datetime = datetime.strptime(end_time, '%Y-%m-%d').replace(hour=0, minute=0, second=0)
- # 使用timedelta来处理结束时间加一天
- end_datetime = end_datetime + timedelta(days=1)
- except ValueError as e:
- raise ValueError(f"日期格式错误,请使用YYYY-MM-DD格式: {str(e)}")
- data = self.log_store.query_logs(page,page_size,username,operation_type,operation_module,operation_result,start_datetime,end_datetime)
- return [LogDto.from_model(item).to_dict() for item in data.get('data',[])], data.get('total',0)
- def add_operation_log(self,
- username:str,
- operation_type:str,
- operation_module:str,
- operation_desc:str,
- operation_result:int,
- operation_data:str = None,
- data_changes:str = None,
- operation_ip:str = None,
- ):
- self.log_store.insert_log(username,operation_type,operation_desc,operation_result,operation_module,operation_data,data_changes,operation_ip)
|