From 8a39872da54252e60436f0bf942b2baed6989743 Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Fri, 10 Oct 2025 14:17:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B7=BB=E5=8A=A0=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys_statistics_controller.py | 30 +++++++++++++++++++ .../dao/identification_record_dao.py | 4 ++- .../entity/do/identification_record_do.py | 2 +- .../entity/vo/identification_record_vo.py | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/sys_statistics_controller.py b/ruoyi-fastapi-backend/module_admin/controller/sys_statistics_controller.py index ca382d6..ef29d5a 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/sys_statistics_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/sys_statistics_controller.py @@ -8,8 +8,10 @@ from module_admin.annotation.log_annotation import Log from module_admin.aspect.interface_auth import CheckUserInterfaceAuth from module_admin.entity.vo.user_vo import CurrentUserModel from module_admin.service.login_service import LoginService +from module_admin.service.identification_record_service import Identification_recordService from module_admin.service.sys_statistics_service import Sys_statisticsService from module_admin.entity.vo.sys_statistics_vo import DeleteSys_statisticsModel, Sys_statisticsModel, Sys_statisticsPageQueryModel +from module_admin.entity.vo.identification_record_vo import Identification_recordModel from utils.common_util import bytes2file_response from utils.log_util import logger from utils.page_util import PageResponseModel @@ -18,6 +20,34 @@ from utils.response_util import ResponseUtil sys_statisticsController = APIRouter(prefix='/system/sys_statistics', dependencies=[Depends(LoginService.get_current_user)]) +# 添加识别记录 +@sys_statisticsController.post( + '/add_identification_record' +) +async def add_system_identification_record( + request: Request, + add_identification_record: Identification_recordModel, + query_db: AsyncSession = Depends(get_db), + current_user: CurrentUserModel = Depends(LoginService.get_current_user), +): + try: + # 设置创建时间和创建者 + add_identification_record.create_time = datetime.now() + add_identification_record.create_by = current_user.user.user_name + + # 调用服务层添加识别记录 + result = await Identification_recordService.add_identification_record_services(query_db, add_identification_record) + + if result.is_success: + logger.info(f'添加识别记录成功: {add_identification_record.person_name}') + return ResponseUtil.success(msg=result.message) + else: + logger.error(f'添加识别记录失败: {result.message}') + return ResponseUtil.error(msg=result.message) + except Exception as e: + logger.error(f'添加识别记录异常: {str(e)}') + return ResponseUtil.error(msg=f'添加识别记录失败: {str(e)}') + # 获取统计数据 @sys_statisticsController.get( diff --git a/ruoyi-fastapi-backend/module_admin/dao/identification_record_dao.py b/ruoyi-fastapi-backend/module_admin/dao/identification_record_dao.py index 8f0916f..d2ae3b4 100644 --- a/ruoyi-fastapi-backend/module_admin/dao/identification_record_dao.py +++ b/ruoyi-fastapi-backend/module_admin/dao/identification_record_dao.py @@ -97,7 +97,9 @@ class Identification_recordDao: :param identification_record: 识别记录对象 :return: """ - db_identification_record = IdentificationRecord(**identification_record.model_dump(exclude={})) + # 排除 id 字段(自增主键),但保留其他所有字段 + data = identification_record.model_dump(exclude={'id'}, exclude_none=True) + db_identification_record = IdentificationRecord(**data) db.add(db_identification_record) await db.flush() diff --git a/ruoyi-fastapi-backend/module_admin/entity/do/identification_record_do.py b/ruoyi-fastapi-backend/module_admin/entity/do/identification_record_do.py index b8a7d5d..7145067 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/do/identification_record_do.py +++ b/ruoyi-fastapi-backend/module_admin/entity/do/identification_record_do.py @@ -18,7 +18,7 @@ class IdentificationRecord(Base): create_time = Column(DateTime, nullable=True, comment='创建时间') create_by = Column(String(64), nullable=True, comment='创建者') conf = Column(BigInteger, default=0, comment='识别置信度') - person_status = Column(String(2), nullable=True, comment=' 0 陌生人, 1 员工') + person_status = Column(String(2), nullable=True, comment=' 0 陌生人, 1 员工, 2 访客') diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/identification_record_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/identification_record_vo.py index 11d6ad5..684bb6f 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/identification_record_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/identification_record_vo.py @@ -22,7 +22,7 @@ class Identification_recordModel(BaseModel): create_time: Optional[datetime] = Field(default=None, description='创建时间') create_by: Optional[str] = Field(default=None, description='创建者') conf: Optional[int] = Field(default=None, description='识别置信度') - person_status: Optional[str] = Field(default=None, description=' 0 陌生人, 1 员工') + person_status: Optional[str] = Field(default=None, description=' 0 陌生人, 1 员工, 2 访客')