Exemplo n.º 1
0
class Contract(db.Model):
    __tablename__ = "contract"
    Id = db.Column(db.BIGINT, primary_key=True)
    RequirementId = db.Column(db.BIGINT, db.ForeignKey('requirement.Id'))
    Version = db.Column(db.BIGINT)
    Title = db.Column(db.VARCHAR(255))
    Detail = db.Column(db.TEXT)
    ServiceUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    CustomerUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Status = db.Column(db.BIGINT)
    Amount = db.Column(db.FLOAT)
    CreateTime = db.Column(db.TIMESTAMP)
    PayState = db.Column(db.INTEGER)
    Scheme = db.Column(db.TEXT)
    Script = db.Column(db.TEXT)
    DepositPercent = db.Column(db.FLOAT)
    Procedure = db.Column(db.VARCHAR(20))   # active, applyAbort, abort
    Requirement = db.relation('Requirement', backref=db.backref('Contract', lazy='joined'),
                              foreign_keys='Contract.RequirementId', lazy='joined')
    ServiceUser = db.relation('User',  backref=db.backref('AsServiceContract', lazy='dynamic'),
                                foreign_keys='Contract.ServiceUserId', lazy='joined')
    CustomerUser = db.relation('User', backref=db.backref('AsCustomerContract', lazy='dynamic'),
                               foreign_keys='Contract.CustomerUserId', lazy='joined')
    # ContractSegmentDynamic = db.relation('ContractSegment', lazy='dynamic')

    def __init__(self):
        self.DepositPercent = 50.0
        self.Procedure = 'active'
Exemplo n.º 2
0
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
        }
Exemplo n.º 3
0
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}
Exemplo n.º 4
0
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}
Exemplo n.º 5
0
class ProjectSegment(db.Model):
    __tablename__ = "projectsegment"
    Id = db.Column(db.BIGINT, primary_key=True)
    ProjectId = db.Column(db.BIGINT, db.ForeignKey('project.Id'))
    ContractSegmentId = db.Column(db.BIGINT,
                                  db.ForeignKey('contractsegment.Id'))
    PrincipalUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Segment = db.Column(db.BIGINT)
    Deadline = db.Column(db.DATETIME)
    Remark = db.Column(db.VARCHAR(2000))
    ApplyUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    ApplyTime = db.Column(db.DATETIME)
    ApplyRemark = db.Column(db.VARCHAR(2000))
    ConfirmUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    ConfirmTime = db.Column(db.DATETIME)
    ConfirmRemark = db.Column(db.VARCHAR(2000))
    Status = db.Column(db.BIGINT)
    CreateTime = db.Column(db.TIMESTAMP)
    ContractSegment = db.relation('ContractSegment',
                                  backref=db.backref('ProjectSegment',
                                                     lazy='dynamic'))
    Project = db.relation('Project',
                          backref=db.backref('ProjectSegment', lazy='joined'))
    ApplyUser = db.relation('User',
                            foreign_keys='ProjectSegment.ApplyUserId',
                            lazy='joined')
    ConfirmUser = db.relation('User',
                              foreign_keys='ProjectSegment.ConfirmUserId',
                              lazy='joined')
Exemplo n.º 6
0
class ProjectEventLog(db.Model):
    __tablename__ = "projecteventlog"
    Id = db.Column(db.BIGINT, primary_key=True)
    ProjectId = db.Column(db.BIGINT, db.ForeignKey('project.Id'))
    UserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Action = db.Column(db.BIGINT)
    Segment = db.Column(db.BIGINT)
    Detail = db.Column(db.TEXT)
    CreateTime = db.Column(db.TIMESTAMP)
    Project = db.relation('Project', backref=db.backref('ProjectEventLog', lazy='dynamic'))
    ApplyUser = db.relation('User', backref=db.backref('ProjectEventLog', lazy='dynamic'))
Exemplo n.º 7
0
class RequirementReply(db.Model):
    __tablename__ = "requirementreply"
    Id = db.Column(db.BIGINT, primary_key=True)
    RequirementId = db.Column(db.BIGINT, db.ForeignKey('requirement.Id'))
    PublisherId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Reply = db.Column(db.Text)
    Status = db.Column(db.BIGINT)
    CreateTime = db.Column(db.TIMESTAMP)
    ReplyGroup = db.Column(db.BIGINT)
    Requirement = db.relation('Requirement', backref=db.backref('RequirementReply', lazy='dynamic'))
    Publisher = db.relation('User', backref=db.backref('RequirementReply', lazy='dynamic'))
Exemplo n.º 8
0
class ContractAttachment(db.Model):
    __tablename__ = "contractattachment"
    Id = db.Column(db.BIGINT, primary_key=True)
    ContractId = db.Column(db.BIGINT, db.ForeignKey('contract.Id'))
    ProviderUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    ObjectId = db.Column(db.BIGINT, db.ForeignKey('object.Id'))
    CreateTime = db.Column(db.TIMESTAMP)
    Type = db.Column(db.INT)
    Status = db.Column(db.INT)
    Contract = db.relation('Contract', backref=db.backref('ContractAttachment', lazy='dynamic'))
    ProviderUser = db.relation('User', backref=db.backref('ContractAttachment', lazy='dynamic'))
    Object = db.relation('Object', lazy='joined')
Exemplo n.º 9
0
class ContractEventLog(db.Model):
    __tablename__ = "contracteventlog"
    Id = db.Column(db.BIGINT, primary_key=True)
    ContractId = db.Column(db.BIGINT, db.ForeignKey('contract.Id'))
    UserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Action = db.Column(db.BIGINT)
    Segment = db.Column(db.BIGINT)
    Detail = db.Column(db.TEXT)
    CreateTime = db.Column(db.TIMESTAMP)
    Contract = db.relation('Contract', backref=db.backref('ContractEventLog', lazy='dynamic'))
    User = db.relation('User', backref=db.backref('ContractEventLog', lazy='dynamic'))

    def __init__(self, con_id, user_id, action, segment, detail):
        self.ContractId = con_id
        self.UserId = user_id
        self.Action = action
        self.Segment = segment
        self.Detail = detail
Exemplo n.º 10
0
class RequirementSegment(db.Model):
    __tablename__ = 'requirement_segment'
    Id = db.Column(db.BIGINT, primary_key=True)
    RequirementId = db.Column(db.BIGINT, db.ForeignKey('requirement.Id'))
    SegmentId = db.Column(db.INT, db.ForeignKey('segment.Id'))
    Segment = db.relation('Segment', lazy='joined')
    Requirement = db.relation('Requirement', backref=db.backref('Segments', lazy='joined'), lazy='joined')

    def __init__(self, req_id, seg_id):
        self.RequirementId = req_id
        self.SegmentId = seg_id
Exemplo n.º 11
0
class RequirementFollower(db.Model):
    __tablename__ = 'requirement_follower'
    Id = db.Column(db.BIGINT, primary_key=True)
    RequirementId = db.Column(db.BIGINT, db.ForeignKey('requirement.Id'))
    FollowerProducerId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Scheme = db.Column(db.TEXT)
    Script = db.Column(db.TEXT)
    CreateTime = db.Column(db.TIMESTAMP)
    FollowerDomainId = db.Column(db.BIGINT)
    IsDeny = db.Column(db.BOOLEAN)
    Long = db.Column(db.VARCHAR(100))
    Format = db.Column(db.VARCHAR(100))
    Subtitle = db.Column(db.VARCHAR(2048))
    Voice = db.Column(db.VARCHAR(2048))
    Gbm = db.Column(db.VARCHAR(2048))
    Amount = db.Column(db.FLOAT)
    DepositPercent = db.Column(db.FLOAT)
    Remark = db.Column(db.TEXT)
    Status = db.Column(db.INT)  # 是否申请方案确认,0为未申请,1为申请中
    BasePrice = db.Column(db.FLOAT)
    SchemePrice = db.Column(db.FLOAT)
    ShotPrice = db.Column(db.FLOAT)
    ActorPrice = db.Column(db.FLOAT)
    MusicPrice = db.Column(db.FLOAT)
    AEPrice = db.Column(db.FLOAT)
    Follower = db.relation(
        'User',
        foreign_keys='RequirementFollower.FollowerProducerId',
        lazy='joined')
    Requirement = db.relation('Requirement',
                              backref=db.backref('RequirementFollower',
                                                 lazy='joined'))

    def __init__(self, req_id, followerproducer_id, domain_id):
        self.RequirementId = req_id
        self.FollowerProducerId = followerproducer_id
        self.FollowerDomainId = domain_id
        self.IsDeny = 0
        self.Long = ''
        self.Format = ''
        self.Subtitle = ''
        self.Voice = ''
        self.Gbm = ''
        self.Amount = 0
        self.Script = ''
        self.Remark = ''
        self.DepositPercent = 50
        self.Status = 0
        self.BasePrice = 0
        self.SchemePrice = 0
        self.ShotPrice = 0
        self.ActorPrice = 0
        self.MusicPrice = 0
        self.AEPrice = 0
Exemplo n.º 12
0
class RequirementAttachment(db.Model):
    __tablename__ = "requirementattachment"
    Id = db.Column(db.BIGINT, primary_key=True)
    RequirementId = db.Column(db.BIGINT, db.ForeignKey('requirement.Id'))
    OperateUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    ObjectId = db.Column(db.BIGINT, db.ForeignKey('object.Id'))
    CreateTime = db.Column(db.TIMESTAMP)
    Description = db.Column(db.VARCHAR(255))
    Requirement = db.relation('Requirement', backref=db.backref('RequirementAttachment', lazy='dynamic'))
    Object = db.relation('Object', lazy='joined')
    OperateUser = db.relation('User', lazy='joined')
Exemplo n.º 13
0
class FollowerAttachment(db.Model):
    __tablename__ = 'followerattachment'
    Id = db.Column(db.BIGINT, primary_key=True)
    FollowerId = db.Column(db.BIGINT, db.ForeignKey('requirement_follower.Id'))
    ObjectId = db.Column(db.BIGINT, db.ForeignKey('object.Id'))
    CreateTime = db.Column(db.TIMESTAMP)
    Follower = db.relation('RequirementFollower', backref=db.backref('FollowerAttachment', lazy='joined'))
    Object = db.relation('Object', lazy='joined')

    def __init__(self, follower_id, object_id):
        self.FollowerId = follower_id
        self.ObjectId = object_id
        self.CreateTime = datetime.datetime.now()
Exemplo n.º 14
0
class ContractOrder(db.Model):
    __tablename__ = "contract_order"
    Id = db.Column(db.BIGINT, primary_key=True)
    ContractId = db.Column(db.BIGINT, db.ForeignKey("contract.Id"))
    OrderId = db.Column(db.BIGINT, db.ForeignKey("order.Id"))
    OrderType = db.Column(db.INT)
    Contract = db.relation('Contract', lazy="joined", backref=db.backref('ContractOrder', lazy='dynamic'))
    Order = db.relation('Order', lazy="joined")

    def __init__(self, ContractId, OrderId, OrderType):
        self.ContractId = ContractId
        self.OrderId = OrderId
        self.OrderType = OrderType
Exemplo n.º 15
0
class ContractHistory(db.Model):
    __tablename__ = "contracthistory"
    Id = db.Column(db.BIGINT, primary_key=True)
    ContractId = db.Column(db.BIGINT, db.ForeignKey('contract.Id'))
    Version = db.Column(db.BIGINT)
    RejectReason = db.Column(db.VARCHAR(1024))
    RejectTime = db.Column(db.DATETIME)
    ApplyRemark = db.Column(db.VARCHAR(1024))
    ApplyTime = db.Column(db.DATETIME)
    CreateTime = db.Column(db.TIMESTAMP)
    Detail = db.Column(db.TEXT)
    ModifyPerson = db.Column(db.VARCHAR(255))
    Scheme = db.Column(db.TEXT)
    Script = db.Column(db.TEXT)
    DepositPercent = db.Column(db.FLOAT)
    Contract = db.relation('Contract', backref=db.backref('ContractHistory', lazy='dynamic'))
Exemplo n.º 16
0
class Requirement(db.Model):
    __tablename__ = "requirement"
    Id = db.Column(db.BIGINT, primary_key=True)
    PublisherId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    ServiceUserId = db.Column(db.BIGINT, db.ForeignKey('user.Id'))
    Title = db.Column(db.VARCHAR(255))
    Detail = db.Column(db.TEXT)
    Amount = db.Column(db.FLOAT)
    Status = db.Column(db.INT, db.ForeignKey('segment.Id'))
    CreateTime = db.Column(db.TIMESTAMP)
    Publisher = db.relation('User', backref=db.backref('Requirements', lazy='dynamic'),
                            foreign_keys='Requirement.PublisherId', lazy='joined')
    Deadline = db.Column(db.VARCHAR(20))
    Type = db.Column(db.VARCHAR(20))
    Long = db.Column(db.VARCHAR(100))
    Format = db.Column(db.VARCHAR(100))
    Voice = db.Column(db.VARCHAR(2048))
    Gbm = db.Column(db.VARCHAR(2048))
    Place = db.Column(db.VARCHAR(20))
    Refer = db.Column(db.VARCHAR(100))
    ReferName = db.Column(db.VARCHAR(100))
    Symbol = db.Column(db.VARCHAR(20))
    Subtitle = db.Column(db.VARCHAR(2048))
    Category_1 = db.Column(db.INT)
    Category_2 = db.Column(db.INT)
    Scheme = db.Column(db.TEXT)
    ContractId = db.Column(db.INT)
    DepositPercent = db.Column(db.FLOAT)
    Star = db.Column(db.INT)
    Comment = db.Column(db.VARCHAR(255))
    Remark = db.Column(db.TEXT)
    ApplyStatus = db.Column(db.INT)
    IsFinalPay = db.Column(db.INT)
    IsAdvancePay = db.Column(db.INT)

    ServiceUser = db.relation('User', foreign_keys='Requirement.ServiceUserId', lazy='joined')
    CurSegment = db.relation('Segment', lazy='joined')

    def __init__(self):
        self.DepositPercent = 50.0
        self.ApplyStatus = 0
        self.IsFinalPay = 0
        self.IsAdvancePay = 0
Exemplo n.º 17
0
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()
Exemplo n.º 18
0
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}
Exemplo n.º 19
0
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}
Exemplo n.º 20
0
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}
Exemplo n.º 21
0
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}