Example #1
0
class OrderModel(BaseModel):
    """订单表"""
    # 订单编号
    order_code = db.Column(db.String(32), unique=True)
    shop_pid = db.Column(db.String(16), db.ForeignKey("shop_model.pub_id"))
    # 买家id信息
    user_id = db.Column(db.Integer, db.ForeignKey("buyer_model.id"))
    # 送货地址
    order_address = db.Column(db.String(128))
    # 订单金额
    order_price = db.Column(db.Float, default=0)
    # 订单状态
    order_status = db.Column(db.Integer, default=0)
    # 订单产生时间
    created_time = db.Column(db.DateTime, onupdate=True)
    # 第三方交易号
    trade_sn = db.Column(db.String(128), default="")
    user = db.relationship("BuyerModel", backref="orders")
    shop = db.relationship("ShopModel", backref="orders")

    def keys(self):
        return "order_address", "order_code", "order_price"

    def get_status(self):
        if self.order_status == 0:
            return "待付款"
        else:
            return "已付款"
Example #2
0
class BuyerOrder(BaseModel):
    # 买家id
    user_id = db.Column(db.Integer, db.ForeignKey('buyer_user.id'))
    user = db.relationship("BuyerUser", backref="order")
    # 店铺id
    shop_id = db.Column(db.Integer, db.ForeignKey('shell_shop_model.id'))
    shop = db.relationship("ShellShopModel", backref="order")
    # 订单地址
    order_address = db.Column(db.String(128))
    # 订单价钱
    order_price = db.Column(db.Float, default=0)
    # 订单状态
    order_status = db.Column(db.Boolean, default=False)
    # 订单编号
    order_code = db.Column(db.String(32), unique=True)
    # 下单时间
    order_tiem = db.Column(db.DateTime, onupdate=True)

    def keys(self):
        return "order_address", "order_price", "order_status", "order_code"

    def get_status(self):
        if self.order_status:
            return "已支付"
        return "待支付"
Example #3
0
class OrderInfo(BaseModel):
    # 订单编号
    order_code = db.Column(db.String(32), unique=True)
    shop_pid = db.Column(db.String(16), db.ForeignKey('seller_shop.pub_id'))
    user_id = db.Column(db.Integer, db.ForeignKey('buyer_user.id'))
    # 订单送货地址
    order_address = db.Column(db.String(128))
    # 订单价钱
    order_price = db.Column(db.Float, default=0)
    # 订单状态
    order_status = db.Column(db.Integer, default=0)
    # 订单产生时间
    created_time = db.Column(db.DateTime, onupdate=True)
    # 第三方交易号
    trade_sn = db.Column(db.String(128), default='')

    user = db.relationship('BuyerUser', backref='orders')
    shop = db.relationship('SellerShop', backref='orders')

    def keys(self):
        return 'order_address', 'order_price', 'order_code'

    def get_status(self):
        if self.order_status == 0:
            return "代付款"
        else:
            return "以付款"
Example #4
0
class Photo(BaseModel):
    title = db.Column(db.String(32), unique=True, index=True)
    img = db.Column(db.String(128))
    content = db.Column(db.Text())

    album_id = db.Column(db.ForeignKey('album.id'))
    album = db.relationship('Album', backref='photo')

    label_name = db.Column(db.ForeignKey('label.name'))
    label = db.relationship('Label', backref='photo_of_label')

    created_time = db.Column(db.DateTime, default=datetime.now)

    def __repr__(self):
        return self.img
Example #5
0
class Album(BaseModel):
    """相册"""
    title = db.Column(db.String(32), unique=True, index=True)
    content = db.Column(db.Text())
    created_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime, onupdate=datetime.now)

    username = db.Column(db.ForeignKey('user.username'))
    user = db.relationship('User', backref='album_of_user')

    category_name = db.Column(db.ForeignKey('category.name'))
    category = db.relationship('Category', backref='album_of_category')

    def __repr__(self):
        return self.title
Example #6
0
class MenuFood(BaseModel):
    # 对外ID
    goods_id = db.Column(db.String(16))
    # 菜品名称
    goods_name = db.Column(db.String(64))
    # 菜品评分
    rating = db.Column(db.Float, default=5.0)
    # 归属店铺
    shop_id = db.Column(db.Integer, db.ForeignKey('merchant_shop.id'))
    # 归属分类
    category_id = db.Column(db.Integer, db.ForeignKey('menu_category.id'))
    cates = db.relationship('MenuCategory', backref='foods')  # 添加一条关系
    # 菜品价格
    goods_price = db.Column(db.Float, default=0.0)
    # db.DECIMAL(6, 2)
    # 菜品描述
    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='')
    # 菜品图片
    goods_img = db.Column(db.String(128), default='')

    def keys(self):
        return "goods_name", "shop_id", "goods_price", "description","tips"

    def __repr__(self):
        return "<Food: {}-{}>".format(self.goods_name, self.goods_price)
Example #7
0
class BuyerAddress(BaseModel):
    user_id = db.Column(db.Integer, db.ForeignKey("buyer_model.id"))
    user = db.relationship(BuyerModel, 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"

    def __repr__(self):
        return "{}{}{}{} {} {}".format(
            self.provence,
            self.city,
            self.area,
            self.detail_address,
            self.name,
            self.tel,
        )
Example #8
0
class Category(db.Model):
    __tablename__ = 'category'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(20))
    blogs = db.relationship('Blog', backref='category', lazy=True)

    def __str__(self):
        return self.name
Example #9
0
class OrderGoods(BaseModel):
    order_id = db.Column(db.Integer, db.ForeignKey('order_info.id'))
    # 商品ID号
    goods_id = db.Column(db.Integer)
    # 商品名称
    goods_name = db.Column(db.String(64))
    # 商品图片
    goods_image = db.Column(db.String(128), default='')
    # 商品价钱
    goods_price = db.Column(db.Float)
    # 商品数量
    amount = db.Column(db.Integer)

    order = db.relationship('OrderInfo', backref='order_goods')
Example #10
0
class DishesInfoModel(BaseModel):
    goods_id = db.Column(db.String(16), index=True)
    goods_name = db.Column(db.String(32), nullable=False)
    goods_price = db.Column(db.Float, nullable=False)
    goods_img = db.Column(db.String(64))
    month_sales = db.Column(db.Integer, default=0)
    rating = db.Column(db.Float, default=5.0)
    tips = db.Column(db.String(64), default="")
    description = db.Column(db.String(64), default="")
    cate_id = db.Column(db.Integer, db.ForeignKey(DishesCategoryModel.id))
    cate = db.relationship("DishesCategoryModel", backref="info")

    def keys(self):
        return "goods_id", "goods_name", "goods_price", "goods_img", "month_sales", "rating", \
               "tips", "description",
Example #11
0
class User(db.Model, UserMixin):
	__tablename__ = 'user'

	id = db.Column(db.Integer, primary_key=True, autoincrement=True)
	username = db.Column(db.String(20), unique=True)
	_password = db.Column('password', db.String(256))
	nickname = db.Column(db.String(20), nullable=True)
	email = db.Column(db.String(30), unique=True, nullable=True)
	telephone = db.Column(db.String(11), nullable=True)
	created_time = db.Column(db.DateTime, default=datetime.utcnow)
	is_superuser = db.Column(db.Boolean, default=False)
	userlogs = db.relationship('UserLog', backref='user', lazy='dynamic')

	__mapper_args__ = {
		"order_by": created_time.desc()
	}

	def __init__(self, username=None, password=None, is_superuser=False, *args, **kwargs):
		self.username = username
		self.password = password
		self.is_superuser = is_superuser
		super(User, self).__init__(*args, **kwargs)


	def __str__(self):
		return '<User:{0}>'.format(self.username)

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

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

	def check_password(self, pw):
		return check_password_hash(self._password, pw)

	@classmethod
	def is_username_exists(self, username):
		try:
			user = self.query.filter_by(username=username).first()
			if not user:
				return False
		except Exception:
			pass
		return True
Example #12
0
class OrderGoodsModel(BaseModel):
    order_id = db.Column(db.Integer, db.ForeignKey('buyer_order.id'))
    # 商品ID号
    goods_id = db.Column(db.Integer)
    # 商品名称
    goods_name = db.Column(db.String(64))
    # 商品图片
    goods_img = db.Column(db.String(128), default='')
    # 商品价钱
    goods_price = db.Column(db.Float)
    # 商品数量
    amount = db.Column(db.Integer)

    order = db.relationship('BuyerOrder', backref='goods')

    def keys(self):
        return "goods_id", "goods_name", "goods_img", "goods_price", "amount"
Example #13
0
class BuyerAddress(BaseModel):
    user_id = db.Column(db.Integer, db.ForeignKey('buyer_user.id'))
    user = db.relationship("BuyerUser", 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"
Example #14
0
class OrderGoodsModel(BaseModel):
    """订单商品表"""
    # 订单id号
    order_id = db.Column(db.Integer, db.ForeignKey("order_model.id"))
    # 商品id号
    goods_id = db.Column(db.Integer)
    # 商品名称
    goods_name = db.Column(db.String(64))
    # 上平图片
    goods_img = db.Column(db.String(128), default="")
    # 商品价格
    goods_price = db.Column(db.Float)
    # 商品的数量
    amount = db.Column(db.Integer)
    order = db.relationship(OrderModel, backref="goods")

    def keys(self):
        return "goods_id", "amount", "goods_name", "goods_img", "goods_price"
Example #15
0
class MenuCategory(BaseModel):
    # 分类名称
    name = db.Column(db.String(32))
    # 分类描述
    description = db.Column(db.String(128), default='')
    # 分类编号
    type_accumulation = db.Column(db.String(16))
    # 是否默认
    is_default = db.Column(db.Boolean, default=False)
    # 归属店铺
    shop_pid = db.Column(db.String(16), db.ForeignKey('seller_shop.pub_id'))

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

    def keys(self):
        return "name", "description", "type_accumulation", "is_default"

    def __repr__(self):
        return "<MenuCate {}>".format(self.name)
Example #16
0
class SellerShop(BaseModel):
    # 店铺对外ID
    pub_id = db.Column(db.String(16), unique=True, index=True)
    # 店铺名称
    shop_name = db.Column(db.String(32), nullable=False, unique=True)
    # 店铺logo图片
    shop_img = db.Column(db.String(128))
    # 店铺评分
    shop_rating = db.Column(db.Float, default=5.0)
    # 是否是品牌
    brand = db.Column(db.Boolean, default=False)
    # 是否准时送达
    on_time = db.Column(db.Boolean, default=True)
    # 是否蜂鸟配送
    fengniao = db.Column(db.Boolean, default=True)
    # 是否保险
    bao = db.Column(db.Boolean, default=False)
    # 是否有发票
    piao = db.Column(db.Boolean, default=True)
    # 是否准标识
    zhun = db.Column(db.Boolean, default=False)
    # 起送价格
    start_send = 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='')
    # 店铺和商家的关系
    seller_pid = db.Column(db.Integer, db.ForeignKey('seller_login_model.id'))
    # 建立反向查询关系
    seller = db.relationship("SellerLoginModel", backref="shop")

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

    def keys(self):
        return "shop_name", "shop_img", "brand", "on_time", "fengniao", "bao", \
               "piao", "zhun", "start_send", "send_cost", "notice", "discount"
Example #17
0
class AddressUser(BaseModel):
    # 收货人姓名
    name = db.Column(db.String(20))
    # 收货人电话
    tel = db.Column(db.String(16))
    # 省
    provence = db.Column(db.String(20))
    # 市
    city = db.Column(db.String(20))
    # 区
    area = db.Column(db.String(20))
    # 详细地址
    detail_address = db.Column(db.String(100))
    # 关联用户表
    user_id = db.Column(db.Integer, db.ForeignKey("buyer_user.id"))
    buyeruser = db.relationship('BuyerUser', backref='address')

    def keys(self):
        return "name", "tel", "provence", "city", "area", "detail_address"

    def __repr__(self):
        return self.provence
Example #18
0
class Blog(db.Model):
    __tablename__ = 'blog'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(256))
    author = db.Column(db.String(50))
    category_id = db.Column(db.Integer,
                            db.ForeignKey('category.id'),
                            nullable=True)
    tags = db.relationship('Tag',
                           secondary=tags,
                           lazy='subquery',
                           backref=db.backref('blogs', lazy=True))
    content = db.Column(db.Text())
    created_time = db.Column(db.DateTime, default=datetime.utcnow)
    modified_time = db.Column(db.DateTime,
                              default=datetime.utcnow,
                              onupdate=datetime.utcnow)  #utcnow不能加(),否则时间是固定的

    __mapper_args__ = {"order_by": created_time.desc()}

    def __str__(self):
        return '<Blog:{0}>'.format(self.title)