meian
This commit is contained in:
98
meian/devices/meian_model.py
Normal file
98
meian/devices/meian_model.py
Normal file
@@ -0,0 +1,98 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
"""
|
||||
@File : meian_model
|
||||
@Author : xuxingchen
|
||||
@Version : 1.0
|
||||
@Contact : xuxingchen@sinochem.com
|
||||
@Desc : Data Entity
|
||||
"""
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
# 错误码
|
||||
error_code = {
|
||||
0: "成功",
|
||||
-1: "图片下载超时",
|
||||
-2: "图片下载失败",
|
||||
-3: "用户ID不存在",
|
||||
-4: "参数无效",
|
||||
-5: "注册失败",
|
||||
-6: "用户ID已存在",
|
||||
-7: "无效人脸",
|
||||
-8: "内部错误",
|
||||
-9: "图片解码失败,图像尺寸宽高像素应为540*960",
|
||||
-10: "添加人脸失败",
|
||||
-11: "人脸图像无特征",
|
||||
-12: "查询离线通行记录失败",
|
||||
-13: "设备忙",
|
||||
-14: "rf_id_not_exist",
|
||||
-15: "rf_id_existed",
|
||||
-16: "add_rf_id_failed or rm_rf_id_failed",
|
||||
-17: "get_rf_id_reader_mode_failed",
|
||||
-18: "set_rf_id_reader_mode_failed",
|
||||
-19: "添加人脸操作不支持",
|
||||
}
|
||||
|
||||
|
||||
class BaseInfo(BaseModel):
|
||||
data_type: str = None
|
||||
|
||||
def check(self):
|
||||
for attr in self.__dict__.keys():
|
||||
# if property can be null, default value should not be set to None
|
||||
if self.__dict__[attr] is None:
|
||||
raise ValueError(f"{attr} not allowed to be set to None")
|
||||
|
||||
|
||||
class BaseRequest(BaseInfo):
|
||||
device_id: str = None
|
||||
token: str = None
|
||||
|
||||
|
||||
class BaseResponse(BaseInfo):
|
||||
factory_id: str = None
|
||||
error_code: int = None
|
||||
token: str = None
|
||||
|
||||
|
||||
class HeartBeat(BaseInfo):
|
||||
device_id: str = None
|
||||
factory_id: str = None
|
||||
|
||||
|
||||
class PushRtAccessRecord(HeartBeat):
|
||||
time: str = None
|
||||
user_id: str = None
|
||||
access_mode: str = None
|
||||
|
||||
|
||||
class Register(BaseRequest):
|
||||
factory_id: str = None # 厂商唯一标识
|
||||
device_type: int = None # 0:面板机,1:梯控机
|
||||
device_position_code: str = None
|
||||
device_position_desc: str = None
|
||||
|
||||
|
||||
class FaceInfo(BaseModel):
|
||||
dataType: str
|
||||
deviceId: str
|
||||
token: str
|
||||
userId: str
|
||||
faceUrl: str
|
||||
floor: int
|
||||
|
||||
|
||||
class QrCodeInfo(BaseModel):
|
||||
dataType: str
|
||||
deviceId: str
|
||||
token: str
|
||||
userId: str
|
||||
qrCode: str
|
||||
floor: int
|
||||
|
||||
|
||||
class DeleteUser(BaseModel):
|
||||
dataType: str
|
||||
deviceId: str
|
||||
token: str
|
||||
userId: str
|
||||
Reference in New Issue
Block a user