Exemplo n.º 1
0
Arquivo: user.py Projeto: paolu111/-
class SellerModel(BaseModel, UserMixin):
    # 人名
    name = db.Column(db.String(32))
    # 账号
    accout = db.Column(db.String(32))
    # 密码
    _password = db.Column('password', db.String(128))
    # 权限 0:普通用户, 1:企业, 2:管理员
    authority = db.Column(db.Integer)

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

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

    def check_password(self, data):
        return check_password_hash(self.password, data)

    def my_setattr(self, data):
        for k, v in data.items():
            if hasattr(self, k) and k != id:
                setattr(self, k, v)
Exemplo n.º 2
0
class Tag(db.Model):
    __tablename__ = 'tag'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(20))

    def __str__(self):
        return self.name
Exemplo n.º 3
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
Exemplo n.º 4
0
class AdminUser(BaseModel):
    username = db.Column(db.String(16), unique=True, comment='用户名')

    password = db.Column(db.String(128), comment='密码')

    name = db.Column(db.String(8), comment='管理员姓名')

    tel = db.Column(db.String(12), unique=True, comment='电话号码')

    email = db.Column(db.String(32), unique=True, comment='邮箱账号')
Exemplo n.º 5
0
class MenuFood(BaseModel):
    # 菜品名称
    goods_name = db.Column(db.String(64))
    # 菜品评分
    rating = db.Column(db.Float, default=5.0)
    # 归属店铺
    shop_id = db.Column(db.String(16), db.ForeignKey('seller_shop.pub_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)
    # 月销售额
    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_id", "goods_name", "rating", "goods_price", "description", "tips", "month_sales", "goods_img"

    def __repr__(self):
        return "<Food: {} ¥{}>".format(self.food_name, self.food_price)
Exemplo n.º 6
0
class UserLog(db.Model):
	__tablename__ = 'userlog'

	id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)
	created_time = db.Column(db.DateTime, default=datetime.utcnow)
	user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

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

	def __str__(self):
		return '<Userlog: {0}>'.format(self.created_time)
Exemplo n.º 7
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 "以付款"
Exemplo n.º 8
0
class SellerUser(BaseModel, UserMixin):
    username = db.Column(db.String(16), unique=True)
    _password = db.Column('password', db.String(128))

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

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

    def check_password(self, val):
        return check_password_hash(self.password, val)
Exemplo n.º 9
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 "已付款"
Exemplo n.º 10
0
class ShellModel(BaseModel, UserMixin):
    username = db.Column(db.String(32))
    _password = db.Column('password', db.String(128))

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

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

    def check_password(self, data):
        return check_password_hash(self.password, data)
Exemplo n.º 11
0
class Auth(BaseModel, UserMixin):
    username = db.Column(db.String(16), unique=True, index=True)
    _password = db.Column('password', db.String(128), nullable=False)

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

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

    def check_password(self, user_pwd):
        return check_password_hash(self._password, user_pwd)
Exemplo n.º 12
0
class UserModel(BaseModel, UserMixin):
    """创建用户模型表"""
    username = db.Column(db.String(32), unique=True, nullable=True, index=True)
    _password = db.Column("password", db.String(128), nullable=True)

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

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

    def check_password(self, user_password):
        return check_password_hash(self._password, user_password)
Exemplo n.º 13
0
class User(BaseModel, UserMixin):
    __table_name__ = 'user'
    username = db.Column(db.String(16), unique=True, index=True)
    name = db.Column(db.String(16), unique=True, index=True)
    _password = db.Column('password', db.String(128), nullable=False)
    is_super_user = db.Column(db.Boolean, default=False)
    sex = db.Column(db.String(2), default='男')
    img = db.Column(db.String(128), default='images/morentouxiang.jpeg')
    age = db.Column(db.SmallInteger, default=0)

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

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

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

    def __repr__(self):
        return self.name

    __table_args__ = {
        # db.UniqueConstraint('id', 'name', name='uix_id_name'),
        # db.Index('ix_id_name', 'name', 'email'),
        # 指定表的引擎和字符编码
        'mysql_charset': 'utf8',
        'mysql_engine': 'InnoDB',
    }
Exemplo n.º 14
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 "待支付"
Exemplo n.º 15
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,
        )
Exemplo n.º 16
0
class BuyerUser(BaseModel):
    # 买家用户名
    username = db.Column(db.String(32), unique=True)
    # 买家密码
    _password = db.Column("password", db.String(128))
    # 买家电话号码
    tel = db.Column(db.String(16), unique=True)

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

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

    def check_password(self, data):
        return check_password_hash(self.password, data)
Exemplo n.º 17
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",
Exemplo n.º 18
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)
Exemplo n.º 19
0
class MerchantUser(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, val):
        self._password = generate_password_hash(val)

    def verify_password(self, password):
        return check_password_hash(self._password, password)

    def get_id(self):
        return str(self.id)

    def __repr__(self):
        return '<User {}>'.format(self.username)
Exemplo n.º 20
0
class SellerLoginModel(BaseModel, UserMixin):
    seller_phone = db.Column(db.String(11), unique=True, nullable=False)
    _password = db.Column(
        "password",
        db.String(128),
    )

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

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

    def check_password(self, in_password):
        return check_password_hash(self.password, in_password)

    def __repr__(self):
        return "<SellerLoginModel : {}>".format(self.seller_phone)
Exemplo n.º 21
0
class BuyerUser(BaseModel):
    # 买家用户名
    username = db.Column(db.String(32), unique=True)
    # 买家密码
    _password = db.Column("password", db.String(128))
    # 买家电话号码
    tel = db.Column(db.String(16), unique=True)

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

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

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

    def __repr__(self):
        return "<Buyer: {}>".format(self.username)
Exemplo n.º 22
0
class OrderInfo(BaseModel):
    order_code = db.Column(db.String(32), unique=True)
    shop_id = db.Column(db.Integer, 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)
    # 订单状态
    order_status = db.Column(db.Integer)
    # 订单产生时间
    created_time = db.Column(db.DateTime, onupdate=True)
    # 第三方交易号
    trade_sn = db.Column(db.String(128))
Exemplo n.º 23
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
Exemplo n.º 24
0
class User(db.Model, BaseModel):
    CHOOSEY_TYPE = {
        (1, '1队'),
        (2, '2队'),
        (3, '3队'),
    }
    # id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(20), unique=True)
    mobile = db.Column(db.String(11), unique=True)
    back_mobile = db.Column(db.String(11), nullable=True)
    group = db.Column(
        db.Integer,
        default=CHOOSEY_TYPE,
        unique=True,
    )  # 分组
    work = db.Column(db.String(50), nullable=True)
    # openid = db.Column(db.String(50), unique=True)
    session_token = '123213dsfw3432'

    def __repr__(self):
        return '<User> %s' % self.name

    @classmethod
    def set_password(self, password):
        return generate_password_hash(password)

    def check_password(self, hash, password):
        return check_password_hash(hash, password)

    @classmethod
    def add(self, user):
        db.session.add(user)
        return session_commit()

    def get_id(self):
        return self.session_token
Exemplo n.º 25
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')
Exemplo n.º 26
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"
Exemplo n.º 27
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
Exemplo n.º 28
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
Exemplo n.º 29
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"
Exemplo n.º 30
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"