1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma
from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class DeviceModel(PrimaryModel):
__tablename__ = 'evm_device'
imei = db.Column(db.String(20), index = True, nullable = False)
name = db.Column(db.String(20), index = True, nullable = False, default = '')
type = db.Column(db.String(20), nullable = False, default = '')
desc = db.Column(db.String(20), index = True, nullable = False, default = '')
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# )
def __init__(self, imei, name='', type='', desc='', create_by=None, create_at=None, update_by=None, update_at=None, remarks=""):
self.imei = imei
self.name = name
self.type = type
self.desc = desc
self.create_by = create_by
self.create_at = create_at
self.update_by = update_by
self.update_at = update_at
self.remarks = remarks
def __repr__(self):
return '<DeviceModel %r>' % (self.imei)
def to_dict(self):
return {
'uuid': self.uuid,
'imei': self.imei,
'name': self.name,
'type': self.type,
'desc': self.desc,
"create_by": self.create_by,
"update_by": self.update_by,
"create_at": self.create_at.strftime("%Y-%m-%d %H:%M:%S") if self.create_at else None,
"update_at": self.update_at.strftime("%Y-%m-%d %H:%M:%S") if self.update_at else None,
}
class PostDeviceSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = DeviceModel
imei = ma.auto_field()
name = ma.auto_field()
type = ma.auto_field()
desc = ma.auto_field()
postDeviceSchema = PostDeviceSchema()
class DeleteDeviceSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = DeviceModel
deleteDeviceSchema = DeleteDeviceSchema()
class GetListDeviceSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = DeviceModel
page = fields.Integer(required=False)
pageSize = fields.Integer(required=False)
uuid = ma.auto_field()
imei = ma.auto_field()
name = ma.auto_field()
type = ma.auto_field()
desc = ma.auto_field()
create_at = ma.auto_field()
update_at = ma.auto_field()
getListDeviceSchema = GetListDeviceSchema()
getListDevicesSchema = GetListDeviceSchema(many=True)
class GetDeviceSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = DeviceModel
imei = ma.auto_field()
name = ma.auto_field()
type = ma.auto_field()
getDeviceSchema = GetDeviceSchema()
class PutDeviceSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = DeviceModel
imei = fields.String(required=False, length=None)
name = fields.String(required=False, length=None)
type = fields.String(required=False, length=None)
desc = fields.String(required=False, length=None)
putDeviceSchema = PutDeviceSchema()