perf: 优化导出方法

This commit is contained in:
insistence
2024-12-20 10:26:00 +08:00
parent 3a3bbcc32a
commit 1d408e6a09
9 changed files with 139 additions and 77 deletions

View File

@@ -7,7 +7,8 @@ from exceptions.exception import ServiceException
from module_admin.dao.config_dao import ConfigDao
from module_admin.entity.vo.common_vo import CrudResponseModel
from module_admin.entity.vo.config_vo import ConfigModel, ConfigPageQueryModel, DeleteConfigModel
from utils.common_util import CamelCaseUtil, export_list2excel
from utils.common_util import CamelCaseUtil
from utils.excel_util import ExcelUtil
class ConfigService:
@@ -207,17 +208,12 @@ class ConfigService:
'remark': '备注',
}
data = config_list
for item in data:
for item in config_list:
if item.get('configType') == 'Y':
item['configType'] = ''
else:
item['configType'] = ''
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(config_list, mapping_dict)
return binary_data

View File

@@ -15,7 +15,8 @@ from module_admin.entity.vo.dict_vo import (
DictTypeModel,
DictTypePageQueryModel,
)
from utils.common_util import CamelCaseUtil, export_list2excel
from utils.common_util import CamelCaseUtil
from utils.excel_util import ExcelUtil
class DictTypeService:
@@ -192,17 +193,12 @@ class DictTypeService:
'remark': '备注',
}
data = dict_type_list
for item in data:
for item in dict_type_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
item['status'] = '停用'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(dict_type_list, mapping_dict)
return binary_data
@@ -448,9 +444,7 @@ class DictDataService:
'remark': '备注',
}
data = dict_data_list
for item in data:
for item in dict_data_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
@@ -459,9 +453,6 @@ class DictDataService:
item['isDefault'] = ''
else:
item['isDefault'] = ''
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(dict_data_list, mapping_dict)
return binary_data

View File

@@ -6,7 +6,7 @@ from module_admin.dao.job_log_dao import JobLogDao
from module_admin.entity.vo.common_vo import CrudResponseModel
from module_admin.entity.vo.job_vo import DeleteJobLogModel, JobLogModel, JobLogPageQueryModel
from module_admin.service.dict_service import DictDataService
from utils.common_util import export_list2excel
from utils.excel_util import ExcelUtil
class JobLogService:
@@ -115,7 +115,6 @@ class JobLogService:
'createTime': '创建时间',
}
data = job_log_list
job_group_list = await DictDataService.query_dict_data_list_from_cache_services(
request.app.state.redis, dict_type='sys_job_group'
)
@@ -129,7 +128,7 @@ class JobLogService:
]
job_executor_option_dict = {item.get('value'): item for item in job_executor_option}
for item in data:
for item in job_log_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
@@ -138,9 +137,6 @@ class JobLogService:
item['jobGroup'] = job_group_option_dict.get(str(item.get('jobGroup'))).get('label')
if str(item.get('jobExecutor')) in job_executor_option_dict.keys():
item['jobExecutor'] = job_executor_option_dict.get(str(item.get('jobExecutor'))).get('label')
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(job_log_list, mapping_dict)
return binary_data

View File

@@ -8,8 +8,9 @@ from module_admin.dao.job_dao import JobDao
from module_admin.entity.vo.common_vo import CrudResponseModel
from module_admin.entity.vo.job_vo import DeleteJobModel, EditJobModel, JobModel, JobPageQueryModel
from module_admin.service.dict_service import DictDataService
from utils.common_util import CamelCaseUtil, export_list2excel
from utils.common_util import CamelCaseUtil
from utils.cron_util import CronUtil
from utils.excel_util import ExcelUtil
from utils.string_util import StringUtil
@@ -227,7 +228,6 @@ class JobService:
'remark': '备注',
}
data = job_list
job_group_list = await DictDataService.query_dict_data_list_from_cache_services(
request.app.state.redis, dict_type='sys_job_group'
)
@@ -241,7 +241,7 @@ class JobService:
]
job_executor_option_dict = {item.get('value'): item for item in job_executor_option}
for item in data:
for item in job_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
@@ -260,9 +260,6 @@ class JobService:
item['concurrent'] = '允许'
else:
item['concurrent'] = '禁止'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(job_list, mapping_dict)
return binary_data

View File

@@ -14,7 +14,7 @@ from module_admin.entity.vo.log_vo import (
UnlockUser,
)
from module_admin.service.dict_service import DictDataService
from utils.common_util import export_list2excel
from utils.excel_util import ExcelUtil
class OperationLogService:
@@ -122,7 +122,6 @@ class OperationLogService:
'costTime': '消耗时间(毫秒)',
}
data = operation_log_list
operation_type_list = await DictDataService.query_dict_data_list_from_cache_services(
request.app.state.redis, dict_type='sys_oper_type'
)
@@ -131,18 +130,14 @@ class OperationLogService:
]
operation_type_option_dict = {item.get('value'): item for item in operation_type_option}
for item in data:
for item in operation_log_list:
if item.get('status') == 0:
item['status'] = '成功'
else:
item['status'] = '失败'
if str(item.get('businessType')) in operation_type_option_dict.keys():
item['businessType'] = operation_type_option_dict.get(str(item.get('businessType'))).get('label')
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(operation_log_list, mapping_dict)
return binary_data
@@ -253,16 +248,11 @@ class LoginLogService:
'loginTime': '登录日期',
}
data = login_log_list
for item in data:
for item in login_log_list:
if item.get('status') == '0':
item['status'] = '成功'
else:
item['status'] = '失败'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(login_log_list, mapping_dict)
return binary_data

View File

@@ -5,7 +5,8 @@ from exceptions.exception import ServiceException
from module_admin.dao.post_dao import PostDao
from module_admin.entity.vo.common_vo import CrudResponseModel
from module_admin.entity.vo.post_vo import DeletePostModel, PostModel, PostPageQueryModel
from utils.common_util import CamelCaseUtil, export_list2excel
from utils.common_util import CamelCaseUtil
from utils.excel_util import ExcelUtil
class PostService:
@@ -172,16 +173,11 @@ class PostService:
'remark': '备注',
}
data = post_list
for item in data:
for item in post_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
item['status'] = '停用'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(post_list, mapping_dict)
return binary_data

View File

@@ -15,7 +15,8 @@ from module_admin.entity.vo.role_vo import (
from module_admin.entity.vo.user_vo import UserInfoModel, UserRolePageQueryModel
from module_admin.dao.role_dao import RoleDao
from module_admin.dao.user_dao import UserDao
from utils.common_util import CamelCaseUtil, export_list2excel
from utils.common_util import CamelCaseUtil
from utils.excel_util import ExcelUtil
from utils.page_util import PageResponseModel
@@ -295,17 +296,12 @@ class RoleService:
'remark': '备注',
}
data = role_list
for item in data:
for item in role_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
item['status'] = '停用'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(role_list, mapping_dict)
return binary_data

View File

@@ -31,7 +31,8 @@ from module_admin.service.config_service import ConfigService
from module_admin.service.dept_service import DeptService
from module_admin.service.post_service import PostService
from module_admin.service.role_service import RoleService
from utils.common_util import CamelCaseUtil, export_list2excel, get_excel_template
from utils.common_util import CamelCaseUtil
from utils.excel_util import ExcelUtil
from utils.page_util import PageResponseModel
from utils.pwd_util import PwdUtil
@@ -461,7 +462,7 @@ class UserService:
header_list = ['部门编号', '登录名称', '用户名称', '用户邮箱', '手机号码', '用户性别', '帐号状态']
selector_header_list = ['用户性别', '帐号状态']
option_list = [{'用户性别': ['', '', '未知']}, {'帐号状态': ['正常', '停用']}]
binary_data = get_excel_template(
binary_data = ExcelUtil.get_excel_template(
header_list=header_list, selector_header_list=selector_header_list, option_list=option_list
)
@@ -492,9 +493,7 @@ class UserService:
'remark': '备注',
}
data = user_list
for item in data:
for item in user_list:
if item.get('status') == '0':
item['status'] = '正常'
else:
@@ -505,10 +504,7 @@ class UserService:
item['sex'] = ''
else:
item['sex'] = '未知'
new_data = [
{mapping_dict.get(key): value for key, value in item.items() if mapping_dict.get(key)} for item in data
]
binary_data = export_list2excel(new_data)
binary_data = ExcelUtil.export_list2excel(user_list, mapping_dict)
return binary_data