1.实现获取门禁识别率接口
This commit is contained in:
parent
d248154c37
commit
0912e75abd
@ -37,12 +37,22 @@ async def get_statistics_data(
|
||||
async def get_visitor_count(
|
||||
request: Request,
|
||||
day: int,
|
||||
|
||||
query_db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
data = await Sys_statisticsService.get_visitor_count_services(query_db, day)
|
||||
return ResponseUtil.success(data=data)
|
||||
|
||||
# 获取门禁识别成功率
|
||||
@sys_statisticsController.get(
|
||||
'/access_control_success_rate/{day}'
|
||||
)
|
||||
async def get_access_control_success_rate(
|
||||
request: Request,
|
||||
day: int,
|
||||
query_db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
data = await Sys_statisticsService.get_access_control_success_rate_services(query_db, day)
|
||||
return ResponseUtil.success(data=data)
|
||||
# @sys_statisticsController.get(
|
||||
# '/list', response_model=PageResponseModel
|
||||
# # , dependencies=[Depends(CheckUserInterfaceAuth('system:sys_statistics:list'))]
|
||||
|
||||
@ -11,6 +11,22 @@ class Sys_statisticsDao:
|
||||
系统统计数据模块数据库操作层
|
||||
"""
|
||||
|
||||
|
||||
@classmethod
|
||||
async def get_access_control_success_rate(cls, db: AsyncSession, start_time: datetime, end_time: datetime):
|
||||
stmt = (
|
||||
select(SysStatistics.access_control_success_rate, SysStatistics.stat_date)
|
||||
.where(
|
||||
and_(
|
||||
SysStatistics.stat_date >= start_time,
|
||||
SysStatistics.stat_date <= end_time
|
||||
)
|
||||
)
|
||||
.order_by(desc(SysStatistics.stat_date))
|
||||
)
|
||||
|
||||
return (await db.execute(stmt)).mappings().all()
|
||||
|
||||
@classmethod
|
||||
async def get_visitor_count(cls, db: AsyncSession, start_time: date, end_time: date):
|
||||
stmt = (
|
||||
|
||||
@ -14,6 +14,17 @@ class Sys_statisticsService:
|
||||
"""
|
||||
系统统计数据模块服务层
|
||||
"""
|
||||
|
||||
# 根据时间区间获取门禁识别成功率
|
||||
@classmethod
|
||||
async def get_access_control_success_rate_services(cls, query_db: AsyncSession, day: int):
|
||||
end_date = datetime.now().date() - timedelta(days=1)
|
||||
start_date = end_date - timedelta(days=day)
|
||||
result = await Sys_statisticsDao.get_access_control_success_rate(query_db, start_date, end_date)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
# 根据时间区间获取访客数量
|
||||
@classmethod
|
||||
async def get_visitor_count_services(cls, query_db: AsyncSession, day: int):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user