예제 #1
0
class MenuFood(BaseModel):
    # 菜品名称
    food_name = db.Column(db.String(64))
    # 菜品评分
    rating = db.Column(db.Float, default=5.0)
    # 归属店铺
    shop_id = db.Column(db.Integer, db.ForeignKey('seller_shop.id'))
    # 归属分类
    category_id = db.Column(db.Integer, db.ForeignKey('menu_category.id'))
    cates = db.relationship('MenuCategory', backref='foods')  # 添加一条关系
    # 菜品价格
    food_price = db.Column(db.DECIMAL(6, 2), default=0.0)
    # 菜品描述
    description = db.Column(db.String(128), default='')
    # 月销售额
    month_sales = db.Column(db.Integer, default=0)
    # 评分数量
    rating_count = db.Column(db.Integer, default=0)
    # 提示信息
    tips = db.Column(db.String(128), default='')
    # 菜品图片
    food_img = db.Column(db.String(128), default='')

    def __repr__(self):
        return "<Food: {}-{}>".format(self.food_name, self.food_price)
예제 #2
0
class CartModel(BaseModel):
    user_id = db.Column(db.Integer, db.ForeignKey('buyer_user_model.id'))
    # 菜品id
    foods_id = db.Column(db.Integer, db.ForeignKey('menu_food.id'))
    # 菜品数量
    food_num = db.Column(db.Integer)

    user = db.relationship('BuyerUserModel', backref='carts')
예제 #3
0
class MenuCategory(BaseModel):
    # 分类名称
    name = db.Column(db.String(32))
    # 分类描述
    description = db.Column(db.String(128), default='')
    # 是否默认
    is_default = db.Column(db.Boolean, default=False)
    # 归属店铺
    shop_id = db.Column(db.Integer, db.ForeignKey('seller_shop.id'))

    shop = db.relationship('SellerShop', backref='categories')

    def __repr__(self):
        return "<MenuCate {}>".format(self.name)

    def keys(self):
        return "name", "description", "is_default"
예제 #4
0
class SellerUser(BaseModel, UserMixin):
    username = db.Column(db.String(32), unique=True, nullable=False)
    _password = db.Column("password", db.String(128))

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, arg):
        self._password = generate_password_hash(arg)

    # 校验密码
    def check_password(self, raw_pwd):
        return check_password_hash(self.password, raw_pwd)

    def __repr__(self):
        return "<User {}>".format(self.username)
예제 #5
0
class BuyerUserModel(BaseModel):
    # 买家用户名
    username = db.Column(db.String(32), unique=True)
    # 买家密码
    _password = db.Column("password", db.String(128))
    # 买家电话号码
    tel = db.Column(db.String(16), unique=True)
    # token
    token = db.Column(db.String(128))

    @property
    def password(self):
        return self._password

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

    def check_pwd(self, raw_pwd):
        return check_password_hash(self._password, raw_pwd)
예제 #6
0
class BuyerAddressModel(BaseModel):
    user_id = db.Column(db.Integer, db.ForeignKey('buyer_user_model.id'))
    user = db.relationship("BuyerUserModel", backref="addresses")
    # 省
    provence = db.Column(db.String(8))
    # 市
    city = db.Column(db.String(16))
    # 县
    area = db.Column(db.String(16))
    # 详细地址
    detail_address = db.Column(db.String(64))
    # 收货人姓名
    name = db.Column(db.String(32))
    # 收货人电话
    tel = db.Column(db.String(16))

    def keys(self):
        return "provence", "city", "area", "detail_address", "name", "tel"
예제 #7
0
class SellerShop(BaseModel):
    # 店铺名称
    shop_name = db.Column(db.String(32), nullable=False)
    # 和商家的关联关系
    seller_id = db.Column(db.Integer, db.ForeignKey('seller_user.id'))
    # 建立一个反向关系
    seller = db.relationship("SellerUser", backref="shop")
    # 店铺logo
    shop_logo = db.Column(db.String(128), default='')
    # 店铺评分
    shop_rating = db.Column(db.Float, default=5.0)
    # 是否是品牌
    is_brand = db.Column(db.Boolean, default=False)
    # 是否准时送达
    is_ontime = db.Column(db.Boolean, default=True)
    # 是否蜂鸟配送
    is_bird = db.Column(db.Boolean, default=True)
    # 是否保险
    is_bao = db.Column(db.Boolean, default=False)
    # 是否有发票
    is_fp = db.Column(db.Boolean, default=True)
    # 是否准标识
    is_zun = db.Column(db.Boolean, default=False)
    # 起送价格
    start_cost = db.Column(db.Float, default=0.0)
    # 配送费
    send_cost = db.Column(db.Float, default=0.0)
    # 店铺公告
    notice = db.Column(db.String(210), default='')
    # 优惠信息
    discount = db.Column(db.String(210), default='')

    def keys(self):
        return "shop_name", "is_ontime", "is_ontime", "is_bird", "is_bao", "is_fp", "is_zun", "start_cost", "send_cost", "notice", "discount"

    def __repr__(self):
        return '<Shop {} --- {}>'.format(self.shop_name, self.seller)