1.实现获取系统统计数据接口
This commit is contained in:
parent
9fcc92a0fc
commit
f5ad9266f8
@ -19,55 +19,70 @@ from utils.response_util import ResponseUtil
|
||||
sys_statisticsController = APIRouter(prefix='/system/sys_statistics', dependencies=[Depends(LoginService.get_current_user)])
|
||||
|
||||
|
||||
# 获取统计数据
|
||||
@sys_statisticsController.get(
|
||||
'/list', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:list'))]
|
||||
'/get_data'
|
||||
)
|
||||
async def get_system_sys_statistics_list(
|
||||
async def get_statistics_data(
|
||||
request: Request,
|
||||
sys_statistics_page_query: Sys_statisticsPageQueryModel = Depends(Sys_statisticsPageQueryModel.as_query),
|
||||
query_db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
# 获取分页数据
|
||||
sys_statistics_page_query_result = await Sys_statisticsService.get_sys_statistics_list_services(query_db, sys_statistics_page_query, is_page=True)
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(model_content=sys_statistics_page_query_result)
|
||||
data = await Sys_statisticsService.get_statistics_data_services(query_db)
|
||||
return ResponseUtil.success(data=data)
|
||||
|
||||
|
||||
@sys_statisticsController.post('', dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:add'))])
|
||||
@ValidateFields(validate_model='add_sys_statistics')
|
||||
@Log(title='系统统计数据', business_type=BusinessType.INSERT)
|
||||
async def add_system_sys_statistics(
|
||||
request: Request,
|
||||
add_sys_statistics: Sys_statisticsModel,
|
||||
query_db: AsyncSession = Depends(get_db),
|
||||
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||
):
|
||||
add_sys_statistics.create_time = datetime.now()
|
||||
add_sys_statistics.create_by = current_user.user.user_name
|
||||
add_sys_statistics.update_time = datetime.now()
|
||||
add_sys_statistics.update_by = current_user.user.user_name
|
||||
add_sys_statistics_result = await Sys_statisticsService.add_sys_statistics_services(query_db, add_sys_statistics)
|
||||
logger.info(add_sys_statistics_result.message)
|
||||
|
||||
return ResponseUtil.success(msg=add_sys_statistics_result.message)
|
||||
# @sys_statisticsController.get(
|
||||
# '/list', response_model=PageResponseModel
|
||||
# # , dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:list'))]
|
||||
# )
|
||||
# async def get_system_sys_statistics_list(
|
||||
# request: Request,
|
||||
# sys_statistics_page_query: Sys_statisticsPageQueryModel = Depends(Sys_statisticsPageQueryModel.as_query),
|
||||
# query_db: AsyncSession = Depends(get_db),
|
||||
# ):
|
||||
# # 获取分页数据
|
||||
# sys_statistics_page_query_result = await Sys_statisticsService.get_sys_statistics_list_services(query_db, sys_statistics_page_query, is_page=True)
|
||||
# logger.info('获取成功')
|
||||
#
|
||||
# return ResponseUtil.success(model_content=sys_statistics_page_query_result)
|
||||
|
||||
|
||||
@sys_statisticsController.put('', dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:edit'))])
|
||||
@ValidateFields(validate_model='edit_sys_statistics')
|
||||
@Log(title='系统统计数据', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_sys_statistics(
|
||||
request: Request,
|
||||
edit_sys_statistics: Sys_statisticsModel,
|
||||
query_db: AsyncSession = Depends(get_db),
|
||||
current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||
):
|
||||
edit_sys_statistics.update_by = current_user.user.user_name
|
||||
edit_sys_statistics.update_time = datetime.now()
|
||||
edit_sys_statistics_result = await Sys_statisticsService.edit_sys_statistics_services(query_db, edit_sys_statistics)
|
||||
logger.info(edit_sys_statistics_result.message)
|
||||
|
||||
return ResponseUtil.success(msg=edit_sys_statistics_result.message)
|
||||
# @sys_statisticsController.post(''
|
||||
# , dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:add'))]
|
||||
# )
|
||||
# @ValidateFields(validate_model='add_sys_statistics')
|
||||
# @Log(title='系统统计数据', business_type=BusinessType.INSERT)
|
||||
# async def add_system_sys_statistics(
|
||||
# request: Request,
|
||||
# add_sys_statistics: Sys_statisticsModel,
|
||||
# query_db: AsyncSession = Depends(get_db),
|
||||
# current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||
# ):
|
||||
# add_sys_statistics.create_time = datetime.now()
|
||||
# add_sys_statistics.create_by = current_user.user.user_name
|
||||
# add_sys_statistics.update_time = datetime.now()
|
||||
# add_sys_statistics.update_by = current_user.user.user_name
|
||||
# add_sys_statistics_result = await Sys_statisticsService.add_sys_statistics_services(query_db, add_sys_statistics)
|
||||
# logger.info(add_sys_statistics_result.message)
|
||||
#
|
||||
# return ResponseUtil.success(msg=add_sys_statistics_result.message)
|
||||
#
|
||||
#
|
||||
# @sys_statisticsController.put('', dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:edit'))])
|
||||
# @ValidateFields(validate_model='edit_sys_statistics')
|
||||
# @Log(title='系统统计数据', business_type=BusinessType.UPDATE)
|
||||
# async def edit_system_sys_statistics(
|
||||
# request: Request,
|
||||
# edit_sys_statistics: Sys_statisticsModel,
|
||||
# query_db: AsyncSession = Depends(get_db),
|
||||
# current_user: CurrentUserModel = Depends(LoginService.get_current_user),
|
||||
# ):
|
||||
# edit_sys_statistics.update_by = current_user.user.user_name
|
||||
# edit_sys_statistics.update_time = datetime.now()
|
||||
# edit_sys_statistics_result = await Sys_statisticsService.edit_sys_statistics_services(query_db, edit_sys_statistics)
|
||||
# logger.info(edit_sys_statistics_result.message)
|
||||
#
|
||||
# return ResponseUtil.success(msg=edit_sys_statistics_result.message)
|
||||
|
||||
|
||||
# @sys_statisticsController.delete('/{statistic_ids}', dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:remove'))])
|
||||
|
||||
@ -3,6 +3,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from module_admin.entity.do.sys_statistics_do import SysStatistics
|
||||
from module_admin.entity.vo.sys_statistics_vo import Sys_statisticsModel, Sys_statisticsPageQueryModel
|
||||
from utils.page_util import PageUtil
|
||||
from datetime import datetime, date
|
||||
|
||||
|
||||
class Sys_statisticsDao:
|
||||
@ -10,6 +11,15 @@ class Sys_statisticsDao:
|
||||
系统统计数据模块数据库操作层
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
async def get_statistics_data(cls, db: AsyncSession, dd: date):
|
||||
stmt = (
|
||||
select(SysStatistics.llm_call,SysStatistics.access_control_count, SysStatistics.visitor_guide, SysStatistics.exhibition_explanation)
|
||||
.where(SysStatistics.stat_date == dd)
|
||||
)
|
||||
return (await db.execute(stmt)).mappings().first()
|
||||
|
||||
|
||||
@classmethod
|
||||
async def get_sys_statistics_detail_by_id(cls, db: AsyncSession, statistic_id: int):
|
||||
"""
|
||||
|
||||
@ -7,6 +7,7 @@ from module_admin.dao.sys_statistics_dao import Sys_statisticsDao
|
||||
from module_admin.entity.vo.sys_statistics_vo import DeleteSys_statisticsModel, Sys_statisticsModel, Sys_statisticsPageQueryModel
|
||||
from utils.common_util import CamelCaseUtil
|
||||
from utils.excel_util import ExcelUtil
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
|
||||
class Sys_statisticsService:
|
||||
@ -14,6 +15,41 @@ class Sys_statisticsService:
|
||||
系统统计数据模块服务层
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
async def get_statistics_data_services(cls, query_db: AsyncSession):
|
||||
|
||||
# 当前日期
|
||||
today = datetime.now().date()
|
||||
yesterday = today - timedelta(days=1)
|
||||
data_1 = await Sys_statisticsDao.get_statistics_data(query_db, yesterday)
|
||||
data_2 = await Sys_statisticsDao.get_statistics_data(query_db, today)
|
||||
if data_1 is None:
|
||||
data_1 = {
|
||||
"llm_call": 0,
|
||||
"access_control_count": 0,
|
||||
"visitor_guide": 0,
|
||||
"exhibition_explanation": 0
|
||||
}
|
||||
else:
|
||||
data_1 =dict(data_1)
|
||||
if data_2 is None:
|
||||
data_2 = {
|
||||
"llm_call": 0,
|
||||
"access_control_count": 0,
|
||||
"visitor_guide": 0,
|
||||
"exhibition_explanation": 0
|
||||
}
|
||||
else:
|
||||
data_2 =dict(data_2)
|
||||
#
|
||||
for k, v in data_1.items():
|
||||
data_1[k] = data_2[k] - v
|
||||
|
||||
return {
|
||||
'change': data_1,
|
||||
'today': data_2
|
||||
}
|
||||
|
||||
@classmethod
|
||||
async def get_sys_statistics_list_services(
|
||||
cls, query_db: AsyncSession, query_object: Sys_statisticsPageQueryModel, is_page: bool = False
|
||||
|
||||
@ -30,6 +30,7 @@ from module_admin.controller.message_controller import messageController
|
||||
from module_admin.controller.robot_role_pairing_controller import pairingController
|
||||
from module_admin.controller.explanation_content_controller import explanationContentController
|
||||
from module_admin.controller.explanation_style_robot_pair_controller import explanation_style_robot_pairController
|
||||
from module_admin.controller.sys_statistics_controller import sys_statisticsController
|
||||
|
||||
from sub_applications.handle import handle_sub_applications
|
||||
from utils.common_util import worship
|
||||
@ -94,6 +95,7 @@ controller_list = [
|
||||
{'router': pairingController, 'tags': ['机器人角色']},
|
||||
{'router': explanationContentController, 'tags': ['讲解管理']},
|
||||
{'router': explanation_style_robot_pairController, 'tags': ['讲解风格管理']},
|
||||
{'router': sys_statisticsController, 'tags': ['系统统计数据管理']},
|
||||
|
||||
]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user