1+ from sqlalchemy import asc , desc
12from sqlalchemy .orm import Session
23from module_admin .entity .do .log_do import SysOperLog , SysLogininfor
34from module_admin .entity .vo .log_vo import OperLogModel , LogininforModel , OperLogQueryModel , LoginLogQueryModel
@@ -32,6 +33,12 @@ def get_operation_log_list(cls, db: Session, query_object: OperLogQueryModel):
3233 :param query_object: 查询参数对象
3334 :return: 操作日志列表信息对象
3435 """
36+ if query_object .is_asc == 'ascend' :
37+ order_by_column = asc (getattr (SysOperLog , query_object .order_by_column , None ))
38+ elif query_object .is_asc == 'descend' :
39+ order_by_column = desc (getattr (SysOperLog , query_object .order_by_column , None ))
40+ else :
41+ order_by_column = asc (SysOperLog .oper_time )
3542 operation_log_list = db .query (SysOperLog ) \
3643 .filter (SysOperLog .title .like (f'%{ query_object .title } %' ) if query_object .title else True ,
3744 SysOperLog .oper_name .like (f'%{ query_object .oper_name } %' ) if query_object .oper_name else True ,
@@ -42,7 +49,7 @@ def get_operation_log_list(cls, db: Session, query_object: OperLogQueryModel):
4249 datetime .combine (datetime .strptime (query_object .oper_time_end , '%Y-%m-%d' ), time (23 , 59 , 59 )))
4350 if query_object .oper_time_start and query_object .oper_time_end else True
4451 )\
45- .distinct ().all ()
52+ .distinct ().order_by ( order_by_column ). all ()
4653
4754 return list_format_datetime (operation_log_list )
4855
@@ -96,6 +103,12 @@ def get_login_log_list(cls, db: Session, query_object: LoginLogQueryModel):
96103 :param query_object: 查询参数对象
97104 :return: 登录日志列表信息对象
98105 """
106+ if query_object .is_asc == 'ascend' :
107+ order_by_column = asc (getattr (SysLogininfor , query_object .order_by_column , None ))
108+ elif query_object .is_asc == 'descend' :
109+ order_by_column = desc (getattr (SysLogininfor , query_object .order_by_column , None ))
110+ else :
111+ order_by_column = asc (SysLogininfor .login_time )
99112 login_log_list = db .query (SysLogininfor ) \
100113 .filter (SysLogininfor .ipaddr .like (f'%{ query_object .ipaddr } %' ) if query_object .ipaddr else True ,
101114 SysLogininfor .user_name .like (f'%{ query_object .user_name } %' ) if query_object .user_name else True ,
@@ -105,7 +118,7 @@ def get_login_log_list(cls, db: Session, query_object: LoginLogQueryModel):
105118 datetime .combine (datetime .strptime (query_object .login_time_end , '%Y-%m-%d' ), time (23 , 59 , 59 )))
106119 if query_object .login_time_start and query_object .login_time_end else True
107120 )\
108- .distinct ().all ()
121+ .distinct ().order_by ( order_by_column ). all ()
109122
110123 return list_format_datetime (login_log_list )
111124
0 commit comments