实现获取访客列表接口
This commit is contained in:
parent
64f476acdf
commit
88228ce2b4
@ -11,6 +11,7 @@ from module_admin.service.haikang_service import HaiKangService
|
||||
from utils.log_util import logger
|
||||
from utils.page_util import PageResponseModel
|
||||
from utils.response_util import ResponseUtil
|
||||
from module_admin.entity.vo.haikang_vo import VisitorReservationQueryModel
|
||||
|
||||
from typing import List
|
||||
|
||||
@ -18,48 +19,60 @@ from typing import List
|
||||
haikang_controller = APIRouter(prefix="/system/haikang", dependencies=[Depends(LoginService.get_current_user)])
|
||||
|
||||
|
||||
# 查询门禁点列表
|
||||
@haikang_controller.get("/door_list"
|
||||
# , response_model=PageResponseModel
|
||||
# , dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
)
|
||||
async def get_system_haikang_list(
|
||||
request: Request,
|
||||
pageNo:int,
|
||||
pageSize:int,
|
||||
):
|
||||
"""
|
||||
查询门禁点列表
|
||||
"""
|
||||
result = await HaiKangService.get_door_list_service(pageNo, pageSize)
|
||||
return parse_result(result)
|
||||
# # 查询门禁点列表
|
||||
# @haikang_controller.get("/door_list"
|
||||
# # , response_model=PageResponseModel
|
||||
# # , dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
# )
|
||||
# async def get_system_haikang_list(
|
||||
# request: Request,
|
||||
# pageNo:int,
|
||||
# pageSize:int,
|
||||
# ):
|
||||
# """
|
||||
# 查询门禁点列表
|
||||
# """
|
||||
# result = await HaiKangService.get_door_list_service(pageNo, pageSize)
|
||||
# return parse_result(result)
|
||||
|
||||
# 查询门禁点状态
|
||||
@haikang_controller.post(
|
||||
"/door_status",
|
||||
# dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
)
|
||||
async def get_door_status(
|
||||
request: Request,
|
||||
door_index_codes: List[str],
|
||||
):
|
||||
"""
|
||||
查询门禁点列表
|
||||
"""
|
||||
result = await HaiKangService.get_door_status_service(door_index_codes)
|
||||
return parse_result(result)
|
||||
# # 查询门禁点状态
|
||||
# @haikang_controller.post(
|
||||
# "/door_status",
|
||||
# # dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
# )
|
||||
# async def get_door_status(
|
||||
# request: Request,
|
||||
# door_index_codes: List[str],
|
||||
# ):
|
||||
# """
|
||||
# 查询门禁点列表
|
||||
# """
|
||||
# result = await HaiKangService.get_door_status_service(door_index_codes)
|
||||
# return parse_result(result)
|
||||
|
||||
# 门禁点反控
|
||||
# # 门禁点反控
|
||||
# @haikang_controller.post(
|
||||
# "/door_do_control",
|
||||
# # dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
# )
|
||||
# async def door_do_control(
|
||||
# request: Request,
|
||||
# door_index_codes: List[str],
|
||||
# control_type: int,
|
||||
# ):
|
||||
# pass
|
||||
|
||||
# 查询访客预约记录
|
||||
@haikang_controller.post(
|
||||
"/door_do_control",
|
||||
"/get_visitor_list",
|
||||
# dependencies=[Depends(CheckUserInterfaceAuth("system:haikang:list"))]
|
||||
)
|
||||
async def door_do_control(
|
||||
async def get_visitor(
|
||||
request: Request,
|
||||
door_index_codes: List[str],
|
||||
control_type: int,
|
||||
visitor_query: VisitorReservationQueryModel
|
||||
):
|
||||
pass
|
||||
result = await HaiKangService.get_visitor_list_service(visitor_query)
|
||||
return parse_result(result)
|
||||
|
||||
|
||||
def parse_result(result):
|
||||
|
||||
24
ruoyi-fastapi-backend/module_admin/entity/vo/haikang_vo.py
Normal file
24
ruoyi-fastapi-backend/module_admin/entity/vo/haikang_vo.py
Normal file
@ -0,0 +1,24 @@
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from pydantic.alias_generators import to_camel
|
||||
from typing import Optional
|
||||
from module_admin.annotation.pydantic_annotation import as_query
|
||||
|
||||
|
||||
class VisitorReservationQueryModel(BaseModel):
|
||||
|
||||
|
||||
receptionistId: Optional[str] = Field(default=None, description='接待ID')
|
||||
visitorName: Optional[str] = Field(default=None, description='访客姓名,支持模糊搜索')
|
||||
phoneNo: Optional[str] = Field(default=None, description='访客手机号')
|
||||
visitStartTimeBegin: Optional[str] = Field(default=None, description='开始时间, 满足ISO8601格式')
|
||||
visitStartTimeEnd: Optional[str] = Field(default=None, description='结束时间, 满足ISO8601格式')
|
||||
visitEndTimeBegin: Optional[str] = Field(default=None, description='开始时间, 满足ISO8601格式')
|
||||
visitEndTimeEnd: Optional[str] = Field(default=None, description='结束时间, 满足ISO8601格式')
|
||||
|
||||
pageNo: int = Field(default=1, description='页码')
|
||||
pageSize: int = Field(default=20, description='每页数量')
|
||||
|
||||
visitorStatus: Optional[int] = Field(default=None, description='访客状态')
|
||||
orderId: Optional[str] = Field(default=None, description='订单ID')
|
||||
|
||||
@ -1,10 +1,22 @@
|
||||
from utils.haikang_util import HaikangUtil
|
||||
from module_admin.entity.vo.haikang_vo import VisitorReservationQueryModel
|
||||
|
||||
class HaiKangService:
|
||||
"""
|
||||
康达服务
|
||||
"""
|
||||
|
||||
# 查询访客列表
|
||||
@classmethod
|
||||
async def get_visitor_list_service(cls, visitor_query: VisitorReservationQueryModel):
|
||||
"""查询访客列表
|
||||
"""
|
||||
|
||||
result = await HaikangUtil.query_visitor_record(**cls.parse_dict(visitor_query.model_dump()))
|
||||
|
||||
return result
|
||||
|
||||
|
||||
# 查询门禁点列表v2
|
||||
@classmethod
|
||||
async def get_door_list_service(cls, pageNo: int = 1, pageSize: int = 10):
|
||||
@ -35,6 +47,14 @@ class HaiKangService:
|
||||
else:
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def parse_dict(cls, d):
|
||||
t_d = dict()
|
||||
for k, v in d.items():
|
||||
if v:
|
||||
t_d[k] = v
|
||||
return t_d
|
||||
|
||||
# 门禁点反控
|
||||
# @classmethod
|
||||
# async def door_do_control_service(cls, door_index_code: list, control_type: int):
|
||||
|
||||
@ -37,6 +37,7 @@ from module_admin.controller.ragflow_controller import ragflowController
|
||||
from module_admin.controller.robot_action_controller import robot_actionController
|
||||
from module_admin.controller.identification_record_controller import identification_recordController
|
||||
from module_admin.controller.door_controller import doorController
|
||||
from module_admin.controller.haikang_controller import haikang_controller
|
||||
|
||||
from sub_applications.handle import handle_sub_applications
|
||||
from utils.common_util import worship
|
||||
@ -111,7 +112,8 @@ controller_list = [
|
||||
{'router': robot_actionController, 'tags': ['机器人动作管理']},
|
||||
{'router': identification_recordController, 'tags': ['识别记录管理']},
|
||||
{'router': doorController, 'tags': ['门禁设备管理']},
|
||||
{'router': identification_statisticsController, 'tags': ['识别统计管理']}
|
||||
{'router': identification_statisticsController, 'tags': ['识别统计管理']},
|
||||
{'router': haikang_controller, 'tags': ['海康']}
|
||||
|
||||
]
|
||||
|
||||
|
||||
@ -422,7 +422,7 @@ class HaikangUtil:
|
||||
# 查询访客预约记录, visitorStatus: 0 待审核, 1 正常, 2 迟到, 3 失效, 4 审核退回, 9 审核失效, 10 邀约中, 11 邀约失效
|
||||
@classmethod
|
||||
async def query_visitor_record(
|
||||
cls, pageNo: int = 1, pageSize: int = 10, visitorStatus: int = 1
|
||||
cls, **args
|
||||
):
|
||||
"""查询访客预约记录
|
||||
|
||||
@ -435,11 +435,7 @@ class HaikangUtil:
|
||||
_type_: _description_
|
||||
"""
|
||||
url = f"{HaiKangConfig.HAIKANG_URL}:{HaiKangConfig.HAIKANG_PORT}{HaiKangConfig.HAIKANG_VISITOR_RECORD_SEARCH}"
|
||||
body_dict = {
|
||||
"pageNo": pageNo,
|
||||
"pageSize": pageSize,
|
||||
"visitorStatus": visitorStatus,
|
||||
}
|
||||
body_dict = args
|
||||
|
||||
body_json = json.dumps(body_dict, separators=(",", ":"))
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user