class Group(db.Model): __tablename__ = "group" Id = db.Column(db.Integer, primary_key=True) GroupName = db.Column(db.String(50)) ShareObjectId = db.Column(db.Integer, db.ForeignKey("share.Id")) GroupRead = db.Column(db.BOOLEAN) GroupWrite = db.Column(db.BOOLEAN) GroupCreate = db.Column(db.BOOLEAN) GroupDelete = db.Column(db.BOOLEAN) GroupDownload = db.Column(db.BOOLEAN) CreateTime = db.Column(db.TIMESTAMP) ShareObject = db.relationship('Share', backref=db.backref('Groups', lazy='dynamic'), lazy='select', uselist=False) Users = db.relationship('User', secondary=groupusers, backref=db.backref('Group', uselist=False)) UsersQuery = db.relationship('User', secondary=groupusers, lazy='dynamic') def __init__(self, GroupName, GroupRead, GroupWrite, GroupCreate, GroupDelete, GroupDownload): self.GroupName = GroupName self.GroupRead = GroupRead self.GroupWrite = GroupWrite self.GroupCreate = GroupCreate self.GroupDelete = GroupDelete self.GroupDownload = GroupDownload # self.CreateTime='current_timestamp()' def __repr__(self): return '<Group %r>' % {'Id': self.Id, 'OwnerUserId': self.OwnerUserId}
class ShareUserCache(db.Model): __tablename__ = "shareusercache" Id = db.Column(db.Integer, primary_key=True) ShareObjectId = db.Column(db.Integer, db.ForeignKey("share.Id")) UserId = db.Column(db.Integer, db.ForeignKey("user.Id")) UserRead = db.Column(db.BOOLEAN) UserWrite = db.Column(db.BOOLEAN) UserCreate = db.Column(db.BOOLEAN) UserDelete = db.Column(db.BOOLEAN) UserDownload = db.Column(db.BOOLEAN) CreateTime = db.Column(db.TIMESTAMP) User = db.relationship('User', lazy='joined', backref=db.backref('ShareCache', lazy='dynamic')) ShareObject = db.relationship('Share', uselist=False, backref=db.backref('ShareUserCache', lazy='dynamic')) def __init__(self, UserId, UserRead, UserWrite, UserCreate, UserDelete, UserDownload): self.UserId = UserId self.UserRead = UserRead self.UserWrite = UserWrite self.UserCreate = UserCreate self.UserDelete = UserDelete self.UserDownload = UserDownload # self.CreateTime='current_timestamp()' def __repr__(self): return '<Domain %r>' % {'Id': self.Id, 'UserId': self.UserId}
class Share(db.Model): __tablename__ = "share" Id = db.Column(db.Integer, primary_key=True) ObjectId = db.Column(db.Integer, db.ForeignKey("object.Id")) CreatorUserId = db.Column(db.Integer, db.ForeignKey("user.Id")) Name = db.Column(db.VARCHAR(255)) CreateTime = db.Column(db.TIMESTAMP) Users = db.relationship("ShareUser", backref=db.backref("Share", uselist=False), lazy="dynamic", foreign_keys="ShareUser.ShareObjectId") CreatorUser = db.relationship("User", backref=db.backref("Shares", lazy="dynamic"), uselist=False, foreign_keys="Share.CreatorUserId") Object = db.relationship("Object", uselist=False, backref=db.backref("Shares")) UsersCache = db.relationship("ShareUserCache", backref=db.backref("Share", uselist=False), lazy="dynamic", foreign_keys="ShareUserCache.ShareObjectId") def __init__(self, Name, CreatorUserId, ObjectId): self.Name = Name self.CreatorUserId = CreatorUserId self.ObjectId = ObjectId # self.CreateTime='current_timestamp()' def __repr__(self): return '<Share %r>' % { 'Id': self.Id, 'CreatorUserId': self.CreatorUserId }
class GroupUser(db.Model): __tablename__ = "groupuser" Id = db.Column(db.BIGINT, primary_key=True) GroupId = db.Column(db.BIGINT, db.ForeignKey('group.Id')) UserId = db.Column(db.BIGINT, db.ForeignKey('user.Id')) Group = db.relationship('Group', uselist=False) def __init__(self, GroupId, UserId): self.GroupId = GroupId self.UserId = UserId
class Wall(db.Model): __tablename__ = "wall" Id = db.Column(db.INT, primary_key=True) Fileid = db.Column(db.INT, db.ForeignKey('object.Id')) Userid = db.Column(db.INT, db.ForeignKey('user.Id')) Filename = db.Column(db.VARCHAR) object = db.relationship('Object', lazy='joined') user = db.relationship('User', lazy='joined') def __init__(self, fileid, userid, name): self.Fileid = fileid self.Userid = userid self.Filename = name def __repr__(self): return '<Wall %r>' % { 'Id': self.Id, 'Fileid': self.Fileid, 'Userid': self.Userid, 'Filename': self.Filename }
class Wallsort(db.Model): __tablename__ = "wallsort" Id = db.Column(db.INT, primary_key=True) Wallid = db.Column(db.INT, db.ForeignKey('wall.Id')) Sort = db.Column(db.INT) wall = db.relationship('Wall', lazy='joined') def __init__(self, wallid, sort): self.Wallid = wallid self.Sort = sort def __repr__(self): return '<Wallsort %r>' % {'Wallid': self.Wallid, 'Sort': self.Sort}
class EventTime (db.Model): id = db.Column(db.Integer, primary_key=True) date_id = db.Column(db.Integer, db.ForeignKey('date.id')) date = db.relationship('Date', backref=db.backref('event_times', lazy='dynamic')) time = db.Column(db.Integer) def __init__(self, date, time): self.date = date self.time = time def toString(self): return str(self.time) + " : " + self.date.toString() def __repr__(self): return "<DateTime %r>" % self.toString() def __str__(self): return self.toString()
class CommentVideo(db.Model): __tablename__ = "comment_video" Id = db.Column(db.INT, primary_key=True) ObjectId = db.Column(db.INT) UserId = db.Column(db.INT, db.ForeignKey('user.Id')) CreateTime = db.Column(db.TIMESTAMP) Content = db.Column(db.TEXT) User = db.relationship('User', lazy='joined') def __init__(self, objid, userid, content): self.ObjectId = objid self.UserId = userid self.Content = content def __repr__(self): return '<Comment %r>' % { 'objid': self.ObjectId, 'userid': self.UserId, 'content': self.Content }
class Role(db.Model): __tablename__ = "role" Id = db.Column(db.Integer, primary_key=True) DomainId = db.Column(db.Integer, db.ForeignKey("domain.Id")) Name = db.Column(db.VARCHAR(255)) CreatorId = db.Column(db.Integer) CreateTime = db.Column(db.TIMESTAMP) DomainAdmin = db.Column(db.BOOLEAN) Domain = db.relationship('Domain', backref=db.backref('Roles', lazy='dynamic')) def __init__(self, Name, DomainId, CreatorId, DomainAdmin): self.Name = Name self.DomainId = DomainId self.CreatorId = CreatorId self.DomainAdmin = DomainAdmin # self.CreateTime='current_timestamp()' def __repr__(self): return '<Domain %r>' % {'Id': self.Id, 'DomainId': self.DomainId}
class User(db.Model): __tablename__ = "user" Id = db.Column(db.Integer, primary_key=True) NIPUserId = db.Column(db.BIGINT) DomainId = db.Column(db.BIGINT, db.ForeignKey("domain.Id")) DomainName = db.Column(db.VARCHAR(100)) Password = db.Column(db.CHAR(32)) SessionId = db.Column(db.String(50)) Email = db.Column(db.String(50)) NickName = db.Column(db.String(50)) type = db.Column(db.Integer) CreateTime = db.Column(db.TIMESTAMP) LeastTime = db.Column(db.DATETIME) RealName = db.Column(db.VARCHAR(100)) Status = db.Column(db.Integer) Identity = db.Column(db.VARCHAR(100)) CellPhone = db.Column(db.VARCHAR(100)) Level = db.Column(db.INT) LastLoginTime = db.Column(db.DATETIME) WeiXinOpenId = db.Column(db.VARCHAR(255)) Roles = db.relationship('Role', secondary=userrole, backref=db.backref('User', lazy='dynamic')) DomainPermissionInvalidate = db.Column(db.INTEGER) def __init__(self, NIPUserId, Email, NickName): self.NIPUserId = NIPUserId self.Email = Email self.NickName = NickName self.DomainPermissionInvalidate = 0 self.Password = None self.Level = 0 self.WeiXinOpenId = '' def __repr__(self): return '<User %r>' % {'Id': self.Id, 'Email': self.Email}
class Object(db.Model): __tablename__ = "object" Id = db.Column(db.Integer, primary_key=True) OwnerUserId = db.Column(db.Integer) FileId = db.Column(db.Integer, db.ForeignKey("file.Id")) CreatorUserId = db.Column(db.Integer) _Left_ = db.Column(db.Integer) _Right_ = db.Column(db.Integer) Name = db.Column(db.String(255)) Extend = db.Column(db.String(255)) Remark = db.Column(db.String(255)) Type = db.Column(db.String(255)) Status = db.Column(db.Integer) ParentId = db.Column(db.Integer, db.ForeignKey("object.Id")) Size = db.Column(db.Integer) ModifyTime = db.Column(db.TIMESTAMP) CreateTime = db.Column(db.TIMESTAMP) Description = db.Column(db.String(1000)) Camera = db.Column(db.String(255)) Script = db.Column(db.String(255)) Category_1 = db.Column(db.INT) Category_2 = db.Column(db.INT) Tag = db.Column(db.VARCHAR(255)) BShare = db.Column(db.BOOLEAN) ReferPrice = db.Column(db.FLOAT) BasePrice = db.Column(db.FLOAT) SchemePrice = db.Column(db.FLOAT) ShotPrice = db.Column(db.FLOAT) MusicPrice = db.Column(db.FLOAT) ActorPrice = db.Column(db.FLOAT) AEPrice = db.Column(db.FLOAT) Price = db.Column(db.FLOAT) #竞价金额 File = db.relationship('File', backref=db.backref('Objects', lazy='dynamic'), lazy='joined') Parent = db.relationship('Object', backref=db.backref('Children', lazy='dynamic'), remote_side=[Id], uselist=False) def __init__(self, Name, _Left_, _Right_, ParentId, OwnerUserId, CreatorUserId, Size): self.Name = Name self._Left_ = _Left_ self._Right_ = _Right_ self.ParentId = ParentId self.CreatorUserId = CreatorUserId self.OwnerUserId = OwnerUserId self.Size = Size self.ReferPrice = 0 self.BShare = 0 self.BasePrice = 0 self.SchemePrice = 0 self.ShotPrice = 0 self.MusicPrice = 0 self.ActorPrice = 0 self.AEPrice = 0 self.Price = 0 # self.CreateTime='current_timestamp()' def __repr__(self): return '<Object %r>' % {'Name': self.Name}
class Domain(db.Model): __tablename__ = "domain" Id = db.Column(db.Integer, primary_key=True) DomainName = db.Column(db.VARCHAR(255)) OwnerUserId = db.Column(db.Integer, db.ForeignKey('user.Id')) ExpireTime = db.Column(db.DateTime) CreateTime = db.Column(db.TIMESTAMP) Alipay = db.Column(db.VARCHAR(50)) Status = db.Column(db.INT) ShowType = db.Column(db.INT) CompanyName = db.Column(db.VARCHAR(255)) CompanyAddr = db.Column(db.VARCHAR(1024)) CompanyLicense = db.Column(db.VARCHAR(50)) CompanyPhone = db.Column(db.VARCHAR(15)) CompanyCelPhone = db.Column(db.VARCHAR(15)) CompanyFax = db.Column(db.VARCHAR(20)) CompanyEmail = db.Column(db.VARCHAR(100)) CompanyLicAttachment = db.Column(db.VARCHAR(255)) IsService = db.Column(db.BOOLEAN) UsedSize = db.Column(db.BIGINT) Intro = db.Column(db.VARCHAR(1024)) StarLevel = db.Column(db.INT) ZoneName = db.Column(db.VARCHAR(255)) Focus = db.Column(db.INT) Level = db.Column(db.INT) Work = db.Column(db.INT) Trade = db.Column(db.INT) Count = db.Column(db.FLOAT) DefaultStorageSize = db.Column(db.BIGINT) ExtendStorageSize = db.Column(db.BIGINT) ESExpireTime = db.Column(db.DATETIME) MembershipTax = db.Column(db.BIGINT) Price = db.Column(db.FLOAT) Portrait = db.Column(db.VARCHAR(255)) Weight = db.Column(db.FLOAT) ZoneBanner = db.Column(db.VARCHAR(255)) Users = db.relationship('User', backref=db.backref('Domain', lazy='joined', uselist=False), lazy='dynamic', foreign_keys='User.DomainId') def __init__(self, DomainName, OwnerUserId): self.DomainName = DomainName + '\'s' # + '\'s family' self.OwnerUserId = OwnerUserId self.IsService = 0 self.Status = DomainStatus.init self.ShowType = 0 self.CompanyName = DomainName self.ExtendStorageSize = 0 self.ExpireTime = datetime.datetime.now() self.ESExpireTime = datetime.datetime.now() self.Intro = 'intro' self.Portrait = '/image/contacts.png' self.Trade = 0 self.Focus = 0 self.Price = 0 self.Weight = 0 self.Count = 0 def __repr__(self): return '<Domain %r>' % {'Id': self.Id, 'DomainName': self.DomainName}