github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/server/block/db/models.py (about)

     1  #!/usr/bin/python
     2  # -*- coding: utf-8 -*-
     3  from sqlalchemy import Column, Table, MetaData, UniqueConstraint, ForeignKey
     4  
     5  from sqlalchemy.types import *
     6  from sqlalchemy.ext.declarative import declarative_base
     7  from sqlalchemy.orm import relationship, backref
     8  from datetime import datetime
     9  from base import get_engine, ModelBase
    10  
    11  Base = declarative_base()
    12  
    13  def _to_dict(model_obj):
    14      result = {}
    15      for c in model_obj.__table__.columns:
    16          if isinstance(getattr(model_obj, c.name, None), datetime):
    17              if c.name == "birthday":
    18                  result.update({c.name: getattr(model_obj, c.name, None).strftime('%Y-%m-%d')})
    19              else:
    20                  result.update({c.name: getattr(model_obj, c.name, None).strftime('%Y-%m-%d %H:%M:%S')})
    21          elif isinstance(getattr(model_obj, c.name, None), Base):
    22              result.update({c.name: getattr(model_obj, c.name, None).to_dict()})
    23          else:
    24              result.update({c.name: getattr(model_obj, c.name, None)})
    25      return result
    26  
    27  
    28  class UserInfo(Base, ModelBase):
    29      __tablename__ = 'user_info'
    30      id = Column(VARCHAR(36), primary_key=True)
    31      name = Column(VARCHAR(100))
    32      nick_name = Column(VARCHAR(100))
    33      pwd = Column(VARCHAR(50))
    34      phone = Column(VARCHAR(36))
    35      activate = Column(Integer, default=0)
    36      sex = Column(Integer, default=0)
    37      birthday = Column(DateTime)
    38      invitation = Column(VARCHAR(10))
    39      referrer_id = Column(VARCHAR(36))
    40      gold_account = Column(VARCHAR(50))
    41      create_time = Column(DateTime, default=datetime.now, nullable=False)
    42      updated_time = Column(DateTime, default=datetime.now, onupdate=datetime.now)
    43      deleted = Column(Boolean, default=False)
    44  
    45      def to_dict(self):
    46          return _to_dict(self)
    47  
    48  class WxUserinfo(Base, ModelBase):
    49      __tablename__ = 'wx_userinfo'
    50      id = Column(VARCHAR(36), primary_key=True)
    51      user_id = Column(VARCHAR(36), nullable=False)
    52      openid = Column(VARCHAR(50), nullable=False)
    53      code = Column(VARCHAR(36), nullable=False)
    54      session_key = Column(VARCHAR(50), nullable=False)
    55      wx_name = Column(VARCHAR(50))
    56      create_time = Column(DateTime, default=datetime.now, nullable=False)
    57      updated_time = Column(DateTime, default=datetime.now, onupdate=datetime.now)
    58      deleted = Column(Boolean, default=False)
    59  
    60      def to_dict(self):
    61          return _to_dict(self)
    62  
    63  class VerifyManage(Base, ModelBase):
    64      __tablename__ = 'verify_manage'
    65      id = Column(VARCHAR(36), primary_key=True)
    66      phone = Column(VARCHAR(36))
    67      email = Column(VARCHAR(50))
    68      verify_code = Column(VARCHAR(36))
    69      create_time = Column(DateTime, default=datetime.now, nullable=False)
    70      updated_time = Column(DateTime, default=datetime.now, onupdate=datetime.now)
    71      deleted = Column(Boolean, default=False)
    72  
    73      def to_dict(self):
    74          return _to_dict(self)
    75  
    76  class GoldOrder(Base, ModelBase):
    77      __tablename__ = 'gold_order'
    78      id = Column(VARCHAR(36), primary_key=True)
    79      user_id = Column(VARCHAR(36), nullable=False)
    80      commodity_code = Column(VARCHAR(36), nullable=False)
    81      order_type = Column(Integer, default=0)
    82      original_price = Column(Float, default=0)
    83      real_price = Column(Float, default=0)
    84      status = Column(Integer, default=0)
    85      create_time = Column(DateTime, default=datetime.now, nullable=False)
    86      updated_time = Column(DateTime, default=datetime.now, onupdate=datetime.now)
    87      deleted = Column(Boolean, default=False)
    88  
    89      def to_dict(self):
    90          return _to_dict(self)
    91  
    92  class GoldCommodity(Base, ModelBase):
    93      __tablename__ = 'gold_commodity'
    94      id = Column(VARCHAR(36), primary_key=True)
    95      name = Column(VARCHAR(50), nullable=False)
    96      describe = Column(VARCHAR(500))
    97      original_price = Column(Float, default=0)
    98      real_price = Column(Float, default=0)
    99      commodity_type = Column(Integer, default=0)
   100      img_path = Column(VARCHAR(200))
   101      create_time = Column(DateTime, default=datetime.now, nullable=False)
   102      updated_time = Column(DateTime, default=datetime.now, onupdate=datetime.now)
   103      deleted = Column(Boolean, default=False)
   104  
   105      def to_dict(self):
   106          return _to_dict(self)
   107  
   108  def register_db():
   109      engine = get_engine()
   110      Base.metadata.create_all(engine)
   111  
   112  
   113  def unregister_db():
   114      engine = get_engine()
   115      Base.metadata.drop_all(engine)