Exemple #1
0
class User(db.Model):
    '''用户信息表'''
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    # 用户名
    username = db.Column(db.String(255),
                         unique=True,
                         index=True,
                         nullable=False)
    # 密码
    pwd = db.Column(db.String(255), index=True, nullable=False)

    def generate_user_token(self, expiration=Config.EXPIRATION):
        s = Serializer(Config.SECRET_KEY, expires_in=expiration)
        return s.dumps({
            'id': self.id,
            'username': self.username
        }).decode('utf-8')

    @staticmethod
    def verify_user_token(token):
        s = Serializer(Config.SECRET_KEY, expires_in=Config.EXPIRATION)
        try:
            data = s.loads(token)
        except SignatureExpired:
            return None  # valid token, but expired
        except BadSignature:
            return None  # invalid token
        user = User.query.get(data['id'])
        return user
Exemple #2
0
class ServiceUserInfo(UserBase):
    __tablename__ = 'service_user_info'
    id = db.Column(db.Integer, primary_key=True, comment='用户id')
    user_name = db.Column(db.String(32),
                          index=True,
                          nullable=False,
                          comment='用户名')
    # 用户账号(手机号)
    user_cell = db.Column(db.String(12),
                          unique=True,
                          nullable=False,
                          comment='用户账号(手机号)')
    passwd = db.Column(db.String(32), nullable=False, comment='密码')
    create_at = db.Column(db.DateTime,
                          server_default=text('CURRENT_TIMESTAMP'),
                          nullable=False,
                          comment='创建时间')
    update_at = db.Column(
        db.DateTime,
        server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
        nullable=False,
        comment='更新时间')

    def to_dict(self):
        return {
            'user_id':
            self.id,
            'user_name':
            self.user_name,
            'user_cell':
            self.user_cell,
            'create_at':
            datetime.datetime.strftime(self.create_at, '%Y-%m-%d %H:%M:%S')
        }
Exemple #3
0
class DataServerConfig(db.Model):
    __tablename__ = 'data_server_config'
    id = db.Column(db.Integer, primary_key=True, comment='id')
    data_server_ip_port = db.Column(db.String(30),
                                    nullable=False,
                                    comment='数据server的ip:port')
    create_at = db.Column(db.DateTime,
                          server_default=text('CURRENT_TIMESTAMP'),
                          nullable=False,
                          comment='创建时间')
    update_at = db.Column(
        db.DateTime,
        server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
        nullable=False,
        comment='更新时间')

    def to_dict(self):
        return {
            'id': self.id,
            'data_server_ip_port': self.data_server_ip_port,
            'create_at': self.create_at.strftime('%Y-%m-%d %H:%M:%S'),
            'update_at': self.update_at.strftime('%Y-%m-%d %H:%M:%S')
        }
Exemple #4
0
class ConnectDevice(db.Model):
    __tablename__ = 'conn_info'
    id = db.Column(db.Integer, primary_key=True, comment='车辆id')
    car_id = db.Column(db.Integer, index=True, nullable=False, comment='车辆id')
    plat_id = db.Column(db.Integer, index=True, nullable=False, comment='台架id')
    conn_status = db.Column(TINYINT(3),
                            server_default=text("'0'"),
                            nullable=False,
                            comment='连接状态')
    create_at = db.Column(db.DateTime,
                          server_default=text('CURRENT_TIMESTAMP'),
                          nullable=False,
                          comment='连接时间')
    begin_time = db.Column(TIMESTAMP, nullable=False, comment='开始时间')
    end_time = db.Column(TIMESTAMP, nullable=False, comment='结束时间')
    type = db.Column(TINYINT(3),
                     nullable=False,
                     comment='类型(1、单独远程,2、自动任务下远程)')
Exemple #5
0
class Car(Base):
    '''车辆信息表'''
    __tablename__ = 'car'

    id = Column(INTEGER(11), primary_key=True)
    carnum = Column(String(15), nullable=False, comment='车辆编号')
    cartype = Column(TINYINT(3),
                     nullable=False,
                     server_default=text("'1'"),
                     comment='车辆类型(1清扫车)')
    carstu = Column(TINYINT(3),
                    nullable=False,
                    server_default=text("'2'"),
                    comment='车辆状态(1在线,2离线,3任务中)')
    deviceid = Column(INTEGER(11), nullable=False, comment='设备id')
    devicekey = Column(String(64), nullable=False, comment='车辆key')
    devicesecret = Column(String(128), nullable=False, comment='车辆密钥')
    productkey = Column(String(64), nullable=False, comment='产品key')
    cardel = Column(TINYINT(3),
                    nullable=False,
                    server_default=text("'1'"),
                    comment='1正常,2删除')
    createat = Column(TIMESTAMP,
                      nullable=False,
                      server_default=text('CURRENT_TIMESTAMP'),
                      comment='创建时间')
    updateat = Column(
        TIMESTAMP,
        nullable=False,
        server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
        comment='更新时间')
    is_linked = db.Column(db.SmallInteger,
                          server_default=text("'0'"),
                          nullable=False,
                          comment='是否链接过')
    # 连接状态 0:未连接 1:已连接
    is_conn = db.Column(TINYINT(3),
                        server_default=text("'0'"),
                        nullable=False,
                        comment='连接状态')
    carmileage = db.Column(INTEGER(11),
                           server_default=text("'0'"),
                           nullable=False,
                           comment='总任务里程数')
    caratime = db.Column(INTEGER(11),
                         server_default=text("'0'"),
                         nullable=False,
                         comment='总任务时长')
    control = db.Column(INTEGER(11),
                        server_default=text("'0'"),
                        nullable=False,
                        comment='总任务时长')
    car_width = db.Column(INTEGER(11),
                          server_default=text("150"),
                          nullable=False,
                          comment='车辆清扫宽度cm')
    isonlineat = Column(TIMESTAMP,
                        nullable=False,
                        server_default=text('CURRENT_TIMESTAMP'),
                        comment='创建时间')
    is_peo_start = Column(TINYINT(3),
                          nullable=False,
                          server_default=text("'1'"))
    is_conn_server = Column(TINYINT(3),
                            nullable=False,
                            server_default=text("'0'"))

    def to_dict(self):
        return {
            'id': self.id,
            'carnum': self.carnum,
            'cartype': self.cartype,
            'carstu': self.carstu,
            'deviceid': self.deviceid,
            'devicekey': self.devicekey,
            'devicesecret': self.devicesecret,
            'productkey': self.productkey,
            'deviceaddtime': self.deviceaddtime,
            'createat': self.created_time,
            'updateat': self.updated_time,
        }
Exemple #6
0
class PlatformInfo(db.Model):
    __tablename__ = 'platform_info'
    id = db.Column(db.Integer, primary_key=True, comment='台架id')
    platform_name = db.Column(db.String(20),
                              unique=True,
                              nullable=False,
                              comment='台架名称')
    # 台架状态
    platform_status = db.Column(TINYINT(3),
                                server_default=text("'0'"),
                                nullable=False,
                                comment='台架状态')
    # 连接状态 0:未连接 1:已连接
    is_conn = db.Column(TINYINT(3),
                        server_default=text("'0'"),
                        nullable=False,
                        comment='连接状态')
    product_key = db.Column(db.String(64),
                            nullable=False,
                            comment='product_key')
    device_key = db.Column(db.String(64), nullable=False, comment='device_key')
    device_secret = db.Column(db.String(128),
                              nullable=False,
                              comment='device_secret')
    device_id = db.Column(db.Integer, nullable=False, comment='device_id')
    platdel = db.Column(TINYINT(3), nullable=False, server_default=text('"1"'))
    create_at = db.Column(db.DateTime,
                          server_default=text('CURRENT_TIMESTAMP'),
                          nullable=False,
                          comment='创建时间')
    update_at = db.Column(
        db.DateTime,
        server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
        nullable=False,
        comment='更新时间')