Beispiel #1
0
class Member(db.Model):
    __tablename__ = 'member'

    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(100), nullable=False)
    mobile = db.Column(db.String(11), nullable=True)
    sex = db.Column(db.Integer, nullable=False)
    avatar = db.Column(db.String(200), nullable=False)
    salt = db.Column(db.String(32), nullable=False)
    reg_ip = db.Column(db.String(100), nullable=True)
    status = db.Column(db.Integer, nullable=False, default=1)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)

    @property
    def status_desc(self):
        from application import app
        return app.config['STATUS_MAPPING'][str(self.status)]

    @property
    def sex_desc(self):
        SEX_MAPPING = {
            '0': '未知',
            '1': '男',
            '2': '女',
        }
        return SEX_MAPPING[str(self.sex)]
Beispiel #2
0
class LocationModel(Base):
    """-config-
        货位表
    """
    __tablename__ = 'LOCATION'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    revision = db.Column(db.Integer,
                         nullable=False,
                         default=0,
                         server_default="0",
                         comment="乐观锁")
    location_id = db.Column(db.String(32),
                            nullable=False,
                            default="",
                            server_default="",
                            comment="货位号")
    area_name = db.Column(db.String(32),
                          nullable=False,
                          default="",
                          server_default="",
                          comment="区域名")
    area_type = db.Column(db.String(32),
                          nullable=False,
                          default="",
                          server_default="",
                          comment="区域类型")
    location_describe = db.Column(db.String(512),
                                  nullable=False,
                                  default="",
                                  server_default="",
                                  comment="描述")
Beispiel #3
0
class ExpressCodeModel(Base):
    """-EXPRESS_MODULE-
        快递代码
    """
    __tablename__ = 'EXPRESS_CODE'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    express_company = db.Column(db.String(32), comment="快递公司")
    express_code = db.Column(db.String(32), comment="快递代码")
Beispiel #4
0
class QueueList(db.Model):
    __tablename__ = 'queue_list'

    id = db.Column(db.Integer, primary_key=True)
    queue_name = db.Column(db.String(30), nullable=False)
    data = db.Column(db.String(500), nullable=False)
    status = db.Column(db.Integer, nullable=False)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
class ArrivalOrderModel(Base):
    """-config-
        undefined
    """
    __tablename__ = 'ARRIVAL_ORDER'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    predictable_arrival_time = db.Column(db.DateTime, comment="预到达时间")
    delivery_time = db.Column(db.DateTime, comment="提货时间")
    car_number = db.Column(db.String(32), comment="车牌号")
    customer_number = db.Column(db.String(128), comment="客户单号")
    order_number = db.Column(db.String(128), comment="订单号")
    prefecture = db.Column(db.String(32), comment="区域")
    receiving_address = db.Column(db.String(512), comment="收货地址")
    receiving_contact = db.Column(db.String(32), comment="收货联系人")
    receiving_telephone = db.Column(db.String(32), comment="收货联系电话")
    predictable_quantity = db.Column(db.Integer, comment="预知数量")
    predictable_weight = db.Column(db.Float, comment="预知重量")
    predictable_volume = db.Column(db.Float, comment="预知方数")
    remarks = db.Column(db.String(512), comment="备注内容")
    actual_quantity = db.Column(db.Integer, comment="实际数量")
    actual_weight = db.Column(db.Float, comment="实际重量")
    actual_volume = db.Column(db.Float, comment="实际方数")
    actual_arrival_time = db.Column(db.DateTime, comment="实际到达时间")
    complete_time = db.Column(db.DateTime, comment="完结时间")
    state = db.Column(db.String(32), comment="状态")
Beispiel #6
0
class LocationInventoryModel(Base):
    """-config-
        undefined
    """
    __tablename__ = 'LOCATION_INVENTORY'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    location_id = db.Column(db.String(32), comment="货位表")
    order_number = db.Column(db.String(128), comment="订单号")
    number = db.Column(db.Integer, comment="件数")
    state = db.Column(db.String(32), comment="状态")
Beispiel #7
0
class DriversModel(Base):
    """-config-
        司机表
    """
    __tablename__ = 'DRIVERS'

    driver_id = db.Column(db.Integer,
                          primary_key=True,
                          nullable=False,
                          comment="id")
    driver_name = db.Column(db.String(32), comment="姓名")
    driver_phone = db.Column(db.String(32), comment="电话")
    driver_idcard = db.Column(db.String(32), comment="证件号")
Beispiel #8
0
class OauthMemberBind(db.Model):
    __tablename__ = 'oauth_member_bind'
    __table_args__ = (db.Index('idx_type_openid', 'type', 'openid'), )

    id = db.Column(db.Integer, primary_key=True)
    member_id = db.Column(db.Integer, nullable=False)
    client_type = db.Column(db.String(20), nullable=True)
    type = db.Column(db.Integer, nullable=False)
    openid = db.Column(db.String(80), nullable=False)
    unionid = db.Column(db.String(100), nullable=True)
    extra = db.Column(db.Text, nullable=False)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #9
0
class OauthAccessToken(db.Model):
    __tablename__ = 'oauth_access_token'

    id = db.Column(db.Integer, primary_key=True)
    access_token = db.Column(db.String(600), nullable=False)
    expired_time = db.Column(db.DateTime, nullable=False, index=True)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #10
0
class WxShareHistory(db.Model):
    __tablename__ = 'wx_share_history'

    id = db.Column(db.Integer, primary_key=True)
    member_id = db.Column(db.Integer, nullable=False)
    share_url = db.Column(db.String(200), nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #11
0
class AccessRecordModel(Base):
    """-config-
        undefined
    """
    __tablename__ = 'ACCESS_RECORD'

    record_id = db.Column(db.Integer,
                          primary_key=True,
                          nullable=False,
                          comment="id")
    location_id = db.Column(db.String(32), comment="货位号")
    order_number = db.Column(db.String(32), comment="客户订单号")
    type = db.Column(db.String(32), comment="类型")
    number = db.Column(db.String(32), comment="数量")
    time_stamp = db.Column(db.Integer, comment="时间")
    user = db.Column(db.String(32), comment="用户")
Beispiel #12
0
class MemberModel(Base):
    """-MEMBER-
        成员表
    """
    __tablename__ = 'MEMBER'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    user_name = db.Column(db.String(128), comment="用户名")
    account = db.Column(db.String(128), comment="账号")
    password_hash = db.Column(db.String(512), comment="密码")
    access_id = db.Column(db.String(128), comment="访问id")
    secret_key = db.Column(db.String(128), comment="访问秘钥")
    salt = db.Column(db.String(128), comment="加密盐")
    user_role = db.Column(db.String(64), comment="角色")
    enable_whitelist = db.Column(db.SmallInteger, comment="启用白名单")
    whitelist_address = db.Column(db.String(3072), comment="白名单授权地址")

    def hash_password(self, password):
        """
        hash加密
        """
        self.password_hash = pwd_context.encrypt(password)

    def verify_password(self, password):
        """
        验证密码
        """
        return pwd_context.verify(password, self.password_hash)

    @staticmethod
    def create_member(user_name, password, account):
        """
        创建一个新账号
        """
        check_account = MemberModel.query.filter_by(account=account).first()
        if check_account:
            raise RepeatError('账号已存在!')
        while True:
            access_id = StringTools.get_random_string(10)
            not_repeating = MemberModel.query.filter_by(
                access_id=access_id).first()
            if not not_repeating:
                break
        with db.auto_commit():
            member = MemberModel()
            member.hash_password(password)
            member.account = account
            member.user_name = user_name
            member.access_id = access_id
            member.secret_key = StringTools.get_random_string(10)
            member.salt = StringTools.get_random_string(16)
            member.whitelist_address = '[]'
            member.enable_whitelist = 0
            member.user_role = 'default'
            db.session.add(member)
        return member
Beispiel #13
0
class AppErrorLog(db.Model):
    __tablename__ = 'app_error_log'

    id = db.Column(db.Integer, primary_key=True)
    referer_url = db.Column(
        db.String(255),
        nullable=True,
    )
    target_url = db.Column(
        db.String(255),
        nullable=False,
    )
    query_params = db.Column(db.Text, nullable=False)
    content = db.Column(db.Text, nullable=False)
    created_time = db.Column(
        db.DateTime,
        nullable=False,
    )
Beispiel #14
0
class Food(db.Model):
    __tablename__ = 'food'

    id = db.Column(db.Integer, primary_key=True)
    cat_id = db.Column(db.Integer, nullable=False)
    name = db.Column(db.String(100), nullable=False)
    price = db.Column(db.Numeric(10, 2), nullable=False)
    main_image = db.Column(db.String(100), nullable=False)
    summary = db.Column(db.String(10000), nullable=False)
    stock = db.Column(db.Integer, nullable=False)
    tags = db.Column(db.String(200), nullable=False)
    status = db.Column(db.Integer, nullable=False)
    month_count = db.Column(db.Integer, default=0)
    total_count = db.Column(db.Integer, default=0)
    view_count = db.Column(db.Integer, default=0)
    comment_count = db.Column(db.Integer, default=0)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #15
0
class PayOrder(db.Model):
    __tablename__ = 'pay_order'
    __table_args__ = (db.Index('idx_member_id_status', 'member_id',
                               'status'), )

    id = db.Column(db.Integer, primary_key=True)
    order_sn = db.Column(db.String(40), nullable=False, unique=True)
    member_id = db.Column(db.BigInteger, nullable=False)
    total_price = db.Column(db.Numeric(10, 2), nullable=False)
    yun_price = db.Column(db.Numeric(10, 2), nullable=False)
    pay_price = db.Column(db.Numeric(10, 2), nullable=False)
    pay_sn = db.Column(db.String(128), nullable=True)
    prepay_id = db.Column(db.String(128), nullable=True)
    note = db.Column(db.Text, nullable=True)
    status = db.Column(db.Integer, nullable=False)
    express_status = db.Column(db.Integer, nullable=False)
    express_address_id = db.Column(db.Integer, nullable=False)
    express_info = db.Column(db.String(200), nullable=True)
    comment_status = db.Column(db.Integer, nullable=True)
    pay_time = db.Column(db.DateTime, nullable=True)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)

    @property
    def pay_status(self):
        tmp_status = self.status
        if self.status == 1:
            tmp_status = self.express_status
            if self.express_status == 1 and self.comment_status == 0:
                tmp_status = -5
            if self.express_status == 1 and self.comment_status == 1:
                tmp_status = 1
        return tmp_status

    @property
    def status_desc(self):
        from application import app
        return app.config['PAY_STATUS_DISPLAY_MAPPING'][str(self.pay_status)]

    @property
    def order_number(self):
        order_number = self.created_time.strftime("%Y%m%d%H%M%S")
        order_number = order_number + str(self.id).zfill(5)
        return order_number
Beispiel #16
0
class CarsModel(Base):
    """-config-
        车辆表
    """
    __tablename__ = 'CARS'

    cars_id = db.Column(db.Integer,
                        primary_key=True,
                        nullable=False,
                        comment="id")
    registration_number = db.Column(db.String(32), comment="车牌号")
    car_model = db.Column(db.String(32), comment="车型")
    car_height = db.Column(db.Float, comment="车高")
    car_Length = db.Column(db.Float, comment="车长")
    car_width = db.Column(db.Float, comment="车宽")
    hold_weight = db.Column(db.Float, comment="载重")
    hold_volume = db.Column(db.Float, comment="载量")
    default_drivers_id = db.Column(db.String(32), comment="默认司机")
    state = db.Column(db.String(32), comment="状态")
Beispiel #17
0
class FoodCat(db.Model):
    __tablename__ = 'food_cat'

    id = db.Column(db.Integer, primary_key=True, unique=True)
    name = db.Column(db.String(50), nullable=False)
    weight = db.Column(db.Integer, nullable=False)
    status = db.Column(db.Integer, nullable=False, default=1)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)

    @property
    def status_desc(self):
        from application import app
        return app.config['STATUS_MAPPING'][str(self.status)]
Beispiel #18
0
class AppAccessLog(db.Model):
    __tablename__ = 'app_access_log'

    id = db.Column(db.Integer, primary_key=True)
    # uid = db.Column(db.BigInteger, nullable=False, index=True, )
    referer_url = db.Column(db.String(255), nullable=True, default='')
    target_url = db.Column(
        db.String(255),
        nullable=False,
    )
    query_params = db.Column(db.Text, nullable=False)
    ua = db.Column(
        db.String(255),
        nullable=False,
    )
    ip = db.Column(
        db.String(32),
        nullable=False,
    )
    note = db.Column(db.String(1000), nullable=False, default='')
    created_time = db.Column(
        db.DateTime,
        nullable=False,
    )
Beispiel #19
0
class User(db.Model):
    __tablename__ = 'user'

    uid = db.Column(db.BigInteger, primary_key=True)
    nickname = db.Column(db.String(100), nullable=False)
    mobile = db.Column(db.String(20), nullable=True)
    email = db.Column(db.String(100), nullable=False)
    sex = db.Column(db.Integer, nullable=True)
    avatar = db.Column(db.String(64), nullable=True)
    login_name = db.Column(db.String(20), nullable=False, unique=True)
    login_pwd = db.Column(db.String(32), nullable=False)
    login_salt = db.Column(db.String(32), nullable=False)
    status = db.Column(db.Integer, nullable=False, default=1)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #20
0
class ExpressInfoModel(Base):
    """-EXPRESS_MODULE-
        快递信息
    """
    __tablename__ = 'EXPRESS_INFO'

    id = db.Column(db.Integer, primary_key=True, nullable=False, comment="id")
    express_no = db.Column(db.String(32), comment="快递单号")
    express_company = db.Column(db.String(32), comment="快递公司")
    express_status = db.Column(db.String(32), comment="快递状态")
    collection_time = db.Column(db.DateTime, comment="揽收时间")
    latest_content = db.Column(db.String(512), comment="最新信息")
    latest_time = db.Column(db.DateTime, comment="最新时间")
    order_time = db.Column(db.DateTime, comment="订单日期")
    to_address = db.Column(db.String(32), comment="目的地")
    from_address = db.Column(db.String(32), comment="发件地")
    has_end = db.Column(db.SmallInteger, comment="是否完结")
    remarks = db.Column(db.String(3072), comment="备注信息")
    identification = db.Column(db.String(64), comment="单号标识")
Beispiel #21
0
class FoodStockChangeLog(db.Model):
    __tablename__ = 'food_stock_change_log'

    id = db.Column(db.Integer, primary_key=True)
    food_id = db.Column(db.Integer, nullable=False, index=True)
    unit = db.Column(
        db.Integer,
        nullable=False,
    )
    total_stock = db.Column(
        db.Integer,
        nullable=False,
    )
    note = db.Column(
        db.String(100),
        nullable=False,
    )
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #22
0
class User(db.Model, TimeModel):
    """
    用户基本信息
    """
    __tablename__ = 'user_basic'

    class STATUS:
        ENABLE = 1
        DISABLE = 0

    id = db.Column('user_id', db.Integer, primary_key=True, doc='用户ID')
    mobile = db.Column(db.String, doc='手机号')
    password_hash = db.Column('password', db.String(128), nullable=False)
    name = db.Column('user_name', db.String, doc='昵称、姓名')
    profile_photo = db.Column('user_photo', db.String, doc='头像')
    last_login = db.Column(db.DateTime, doc='最后登录时间')

    account = db.Column(db.String, doc='账号:做备用')
    status = db.Column(db.Integer, default=1, doc='状态,是否可用')
    company = db.Column('user_firm', db.String, doc='公司')
    position = db.Column('user_position', db.String, doc='公司职位')
    gender = db.Column('user_gender', db.Integer, default=0, doc='性别,0-男,1-女')
    city = db.Column('city_id', db.Integer, doc='所在城市')
    role = db.Column(db.Integer, default=1, doc='用户角色,0表示管理员,1表示普通用户,2表示律师用户')

    @property
    def password(self):
        raise AttributeError("当前属性不可读")

    @password.setter
    def password(self, value):
        self.password_hash = generate_password_hash(value)

    def check_passowrd(self, password):
        return check_password_hash(self.password_hash, password)

    def __repr__(self):
        return "%s-%s" % (self.id, self.name)
Beispiel #23
0
class MemberAddress(db.Model):
    __tablename__ = 'member_address'
    __table_args__ = (db.Index('idx_member_id_status', 'member_id',
                               'status'), )

    id = db.Column(db.Integer, primary_key=True)
    member_id = db.Column(db.Integer, nullable=False)
    nickname = db.Column(db.String(20), nullable=False)
    mobile = db.Column(db.String(11), nullable=False)
    province_id = db.Column(db.Integer, nullable=False)
    province_str = db.Column(db.String(50), nullable=False)
    city_id = db.Column(db.Integer, nullable=False)
    city_str = db.Column(db.String(50), nullable=False)
    area_id = db.Column(db.Integer, nullable=False)
    area_str = db.Column(db.String(50), nullable=False)
    address = db.Column(db.String(100), nullable=False)
    status = db.Column(db.Integer, nullable=False, default=1)
    is_default = db.Column(db.Integer, nullable=False)
    updated_time = db.Column(db.DateTime, nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)
Beispiel #24
0
class ArrangeCarsModel(Base):
    """-config-
        排车表
    """
    __tablename__ = 'ARRANGE_CARS'

    arrange_id = db.Column(db.Integer,
                           primary_key=True,
                           nullable=False,
                           comment="id")
    registration_number = db.Column(db.String(32), comment="车牌号")
    car_model = db.Column(db.String(32), comment="车型")
    car_height = db.Column(db.Float, comment="车高")
    car_length = db.Column(db.Float, comment="车长")
    car_width = db.Column(db.Float, comment="车宽")
    hold_weight = db.Column(db.Float, comment="载重")
    hold_volume = db.Column(db.Float, comment="载量")
    driver_name = db.Column(db.String(32), comment="司机姓名")
    driver_phone = db.Column(db.String(32), comment="司机电话")
    driver_idcard = db.Column(db.String(32), comment="证件号")
    seal_number = db.Column(db.String(32), comment="封条号")
    in_time = db.Column(db.DateTime, comment="到达时间")
    out_time = db.Column(db.DateTime, comment="离开时间")
Beispiel #25
0
class Image(db.Model):
    __tablename__ = 'images'

    id = db.Column(db.Integer, primary_key=True)
    file_key = db.Column(db.String(60), nullable=False)
    created_time = db.Column(db.DateTime, nullable=False)