From f4fc85872edc48b9242af2a94d952a2951f759eb Mon Sep 17 00:00:00 2001
From: Basyc <12016870+basyc@user.noreply.gitee.com>
Date: Sun, 5 Jan 2025 13:05:16 +0000
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4part4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Basyc <12016870+basyc@user.noreply.gitee.com>
---
 mooc/models/coupon_location.py    |  32 ++++
 mooc/models/cover_reply.py        |  18 ++
 mooc/models/custom_reply.py       |  14 ++
 mooc/models/images_reply.py       |  14 ++
 mooc/models/mc.py                 | 277 ++++++++++++++++++++++++++++++
 mooc/models/menu_event.py         |   1 +
 mooc/models/message_notice_log.py |  18 ++
 mooc/models/mobile_number.py      |   2 +
 mooc/models/modules.py            | 145 ++++++++++++++++
 mooc/models/music_reply.py        |  14 ++
 mooc/models/news_reply.py         |  21 +++
 mooc/models/phoneapp_versions.py  |  14 ++
 mooc/models/profile_fields.py     |   2 +
 mooc/models/rule.py               |  15 ++
 mooc/models/rule_Keyword.py       |  16 ++
 15 files changed, 603 insertions(+)
 create mode 100644 mooc/models/coupon_location.py
 create mode 100644 mooc/models/cover_reply.py
 create mode 100644 mooc/models/custom_reply.py
 create mode 100644 mooc/models/images_reply.py
 create mode 100644 mooc/models/mc.py
 create mode 100644 mooc/models/menu_event.py
 create mode 100644 mooc/models/message_notice_log.py
 create mode 100644 mooc/models/mobile_number.py
 create mode 100644 mooc/models/modules.py
 create mode 100644 mooc/models/music_reply.py
 create mode 100644 mooc/models/news_reply.py
 create mode 100644 mooc/models/phoneapp_versions.py
 create mode 100644 mooc/models/profile_fields.py
 create mode 100644 mooc/models/rule.py
 create mode 100644 mooc/models/rule_Keyword.py

diff --git a/mooc/models/coupon_location.py b/mooc/models/coupon_location.py
new file mode 100644
index 0000000..43ba1ae
--- /dev/null
+++ b/mooc/models/coupon_location.py
@@ -0,0 +1,32 @@
+from sqlalchemy import Column, Integer, String, SmallInteger, DECIMAL, Text
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class CouponLocation(Base):
+    __tablename__ = 'ims_coupon_location'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    acid = Column(Integer, nullable=False)
+    sid = Column(Integer, nullable=False)
+    location_id = Column(Integer, nullable=False)
+    business_name = Column(String(50), nullable=False)
+    branch_name = Column(String(50), nullable=False)
+    category = Column(String(255), nullable=False)
+    province = Column(String(15), nullable=False)
+    city = Column(String(15), nullable=False)
+    district = Column(String(15), nullable=False)
+    address = Column(String(50), nullable=False)
+    longitude = Column(String(15), nullable=False)
+    latitude = Column(String(15), nullable=False)
+    telephone = Column(String(20), nullable=False)
+    photo_list = Column(Text, nullable=False)
+    avg_price = Column(Integer, nullable=False)
+    open_time = Column(String(50), nullable=False)
+    recommend = Column(String(255), nullable=False)
+    special = Column(String(255), nullable=False)
+    introduction = Column(String(255), nullable=False)
+    offset_type = Column(SmallInteger, nullable=False)
+    status = Column(SmallInteger, nullable=False)
+    message = Column(String(255), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/cover_reply.py b/mooc/models/cover_reply.py
new file mode 100644
index 0000000..f7efaf3
--- /dev/null
+++ b/mooc/models/cover_reply.py
@@ -0,0 +1,18 @@
+from sqlalchemy import Column, Integer, String, SmallInteger
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class CoverReply(Base):
+    __tablename__ = 'cover_reply'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    multiid = Column(Integer, nullable=False)
+    rid = Column(Integer, nullable=False)
+    module = Column(String(30), nullable=False)
+    do = Column(String(30), nullable=False)
+    title = Column(String(255), nullable=False)
+    description = Column(String(255), nullable=False)
+    thumb = Column(String(255), nullable=False)
+    url = Column(String(255), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/custom_reply.py b/mooc/models/custom_reply.py
new file mode 100644
index 0000000..cc16406
--- /dev/null
+++ b/mooc/models/custom_reply.py
@@ -0,0 +1,14 @@
+from sqlalchemy import Column, Integer
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class CustomReply(Base):
+    __tablename__ = 'custom_reply'
+
+    id = Column(Integer, primary_key=True, index=True)
+    rid = Column(Integer, nullable=False)
+    start1 = Column(Integer, nullable=False)
+    end1 = Column(Integer, nullable=False)
+    start2 = Column(Integer, nullable=False)
+    end2 = Column(Integer, nullable=False)
\ No newline at end of file
diff --git a/mooc/models/images_reply.py b/mooc/models/images_reply.py
new file mode 100644
index 0000000..9369096
--- /dev/null
+++ b/mooc/models/images_reply.py
@@ -0,0 +1,14 @@
+from sqlalchemy import Column, Integer, String, DECIMAL
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class ImagesReply(Base):
+    __tablename__ = 'images_reply'
+
+    id = Column(Integer, primary_key=True, index=True)
+    rid = Column(Integer, nullable=False)
+    title = Column(String(50), nullable=False)
+    description = Column(String(255), nullable=False)
+    mediaid = Column(String(255), nullable=False)
+    createtime = Column(Integer, nullable=False)
\ No newline at end of file
diff --git a/mooc/models/mc.py b/mooc/models/mc.py
new file mode 100644
index 0000000..881951d
--- /dev/null
+++ b/mooc/models/mc.py
@@ -0,0 +1,277 @@
+from sqlalchemy import Column, Integer, String, SmallInteger
+
+Base = declarative_base()
+
+
+class McCreditsRecharge(Base):
+    __tablename__ = 'ims_mc_credits_recharge'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    openid = Column(String(50), nullable=False)
+    tid = Column(String(64), nullable=False)
+    transid = Column(String(30), nullable=False)
+    fee = Column(DECIMAL(10, 2), nullable=False)
+    type = Column(String(15), nullable=False)
+    tag = Column(String(10), nullable=False)
+    status = Column(SmallInteger, nullable=False)
+    createtime = Column(Integer, nullable=False)
+    backtype = Column(SmallInteger, nullable=False)
+
+class McCashRecord(Base):
+    __tablename__ = 'mc_cash_record'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    clerk_id = Column(Integer, nullable=False)
+    store_id = Column(Integer, nullable=False)
+    clerk_type = Column(SmallInteger, nullable=False)
+    fee = Column(DECIMAL(10, 2), nullable=False)
+    final_fee = Column(DECIMAL(10, 2), nullable=False)
+    credit1 = Column(Integer, nullable=False)
+    credit1_fee = Column(DECIMAL(10, 2), nullable=False)
+    credit2 = Column(DECIMAL(10, 2), nullable=False)
+    cash = Column(DECIMAL(10, 2), nullable=False)
+    return_cash = Column(DECIMAL(10, 2), nullable=False)
+    final_cash = Column(DECIMAL(10, 2), nullable=False)
+    remark = Column(String(255), nullable=False)
+    createtime = Column(Integer, nullable=False)
+    trade_type = Column(String(20), nullable=False)
+
+class McChatsRecord(Base):
+    __tablename__ = 'mc_chats_record'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    acid = Column(Integer, nullable=False)
+    flag = Column(SmallInteger, nullable=False)
+    openid = Column(String(32), nullable=False)
+    msgtype = Column(String(15), nullable=False)
+    content = Column(String(10000), nullable=False)
+    createtime = Column(Integer, nullable=False)
+
+class McMappingFans(Base):
+    __tablename__ = 'ims_mc_mapping_fans'
+
+    fanid = Column(Integer, primary_key=True, index=True, nullable=False)
+    acid = Column(Integer, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    openid = Column(String(50), nullable=False)
+    nickname = Column(String(50), nullable=False)
+    groupid = Column(String(60), nullable=False)
+    salt = Column(String(8), nullable=False)
+    follow = Column(SmallInteger, nullable=False)
+    followtime = Column(Integer, nullable=False)
+    unfollowtime = Column(Integer, nullable=False)
+    tag = Column(String(1000), nullable=False)
+    updatetime = Column(Integer, nullable=True)
+    unionid = Column(String(64), nullable=False)
+    user_from = Column(SmallInteger, nullable=False)
+
+
+class McMassRecord(Base):
+    __tablename__ = 'ims_mc_mass_record'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    acid = Column(Integer, nullable=False)
+    groupname = Column(String(50), nullable=False)
+    fansnum = Column(Integer, nullable=False)
+    msgtype = Column(String(10), nullable=False)
+    content = Column(String(10000), nullable=False)
+    group = Column(Integer, nullable=False)
+    attach_id = Column(Integer, nullable=False)
+    media_id = Column(String(100), nullable=False)
+    type = Column(SmallInteger, nullable=False)
+    status = Column(SmallInteger, nullable=False)
+    cron_id = Column(Integer, nullable=False)
+    sendtime = Column(Integer, nullable=False)
+    finalsendtime = Column(Integer, nullable=False)
+    createtime = Column(Integer, nullable=False)
+    msg_id = Column(String(50), nullable=False)
+    msg_data_id = Column(String(50), nullable=False)
+
+
+class McCreditsRecord(Base):
+    __tablename__ = 'ims_mc_credits_record'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uid = Column(Integer, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    credittype = Column(String(10), nullable=False)
+    num = Column(DECIMAL(10, 2), nullable=False)
+    operator = Column(Integer, nullable=False)
+    module = Column(String(30), nullable=False)
+    clerk_id = Column(Integer, nullable=False)
+    store_id = Column(Integer, nullable=False)
+    clerk_type = Column(SmallInteger, nullable=False)
+    createtime = Column(Integer, nullable=False)
+    remark = Column(String(200), nullable=False)
+    real_uniacid = Column(Integer, nullable=False)
+
+
+class MCFansGroups(Base):
+    __tablename__ = 'ims_mc_fans_groups'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    acid = Column(Integer, nullable=False)
+    groups = Column(Text, nullable=False)
+
+
+class McMembers(Base):
+    __tablename__ = 'ims_mc_members'
+
+    uid = Column(Integer, primary_key=True, index=True, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    mobile = Column(String(18), nullable=False)
+    email = Column(String(50), nullable=False)
+    password = Column(String(32), nullable=False)
+    salt = Column(String(8), nullable=False)
+    groupid = Column(Integer, nullable=False)
+    credit1 = Column(DECIMAL(10, 2), nullable=False)
+    credit2 = Column(DECIMAL(10, 2), nullable=False)
+    credit3 = Column(DECIMAL(10, 2), nullable=False)
+    credit4 = Column(DECIMAL(10, 2), nullable=False)
+    credit5 = Column(DECIMAL(10, 2), nullable=False)
+    credit6 = Column(DECIMAL(10, 2), nullable=False)
+    createtime = Column(Integer, nullable=False)
+    realname = Column(String(10), nullable=False)
+    nickname = Column(String(20), nullable=False)
+    avatar = Column(String(255), nullable=False)
+    qq = Column(String(15), nullable=False)
+    vip = Column(SmallInteger, nullable=False)
+    gender = Column(SmallInteger, nullable=False)
+    birthyear = Column(SmallInteger, nullable=False)
+    birthmonth = Column(SmallInteger, nullable=False)
+    birthday = Column(SmallInteger, nullable=False)
+    constellation = Column(String(10), nullable=False)
+    zodiac = Column(String(5), nullable=False)
+    telephone = Column(String(15), nullable=False)
+    idcard = Column(String(30), nullable=False)
+    studentid = Column(String(50), nullable=False)
+    grade = Column(String(10), nullable=False)
+    address = Column(String(255), nullable=False)
+    zipcode = Column(String(10), nullable=False)
+    nationality = Column(String(30), nullable=False)
+    resideprovince = Column(String(30), nullable=False)
+    residecity = Column(String(30), nullable=False)
+    residedist = Column(String(30), nullable=False)
+    graduateschool = Column(String(50), nullable=False)
+    company = Column(String(50), nullable=False)
+    education = Column(String(10), nullable=False)
+    occupation = Column(String(30), nullable=False)
+    position = Column(String(30), nullable=False)
+    revenue = Column(String(10), nullable=False)
+    affectivestatus = Column(String(30), nullable=False)
+    lookingfor = Column(String(255), nullable=False)
+    bloodtype = Column(String(5), nullable=False)
+    height = Column(String(5), nullable=False)
+    weight = Column(String(5), nullable=False)
+    alipay = Column(String(30), nullable=False)
+    msn = Column(String(30), nullable=False)
+    taobao = Column(String(30), nullable=False)
+    site = Column(String(30), nullable=False)
+    bio = Column(Text, nullable=False)
+    interest = Column(Text, nullable=False)
+    pay_password = Column(String(30), nullable=False)
+    user_from = Column(SmallInteger, nullable=False)
+
+
+class MCFansTag(Base):
+    __tablename__ = 'ims_mc_fans_tag'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=True)
+    fanid = Column(Integer, nullable=False)
+    openid = Column(String(50), nullable=False)
+    subscribe = Column(Integer, nullable=True)
+    nickname = Column(String(100), nullable=True)
+    sex = Column(Integer, nullable=True)
+    language = Column(String(50), nullable=True)
+    city = Column(String(50), nullable=True)
+    province = Column(String(50), nullable=True)
+    country = Column(String(50), nullable=True)
+    headimgurl = Column(String(150), nullable=True)
+    subscribe_time = Column(Integer, nullable=False)
+    unionid = Column(String(100), nullable=True)
+    remark = Column(String(250), nullable=True)
+    groupid = Column(String(100), nullable=True)
+    tagid_list = Column(String(250), nullable=True)
+    subscribe_scene = Column(String(100), nullable=True)
+    qr_scene_str = Column(String(250), nullable=True)
+    qr_scene = Column(String(250), nullable=True)
+
+class MCFansTagMapping(Base):
+    __tablename__ = 'ims_mc_fans_tag_mapping'
+
+    id = Column(Integer, primary_key=True, index=True)
+    fanid = Column(Integer, nullable=False)
+    tagid = Column(String(20), nullable=False)
+
+class MCGroups(Base):
+    __tablename__ = 'ims_mc_groups'
+
+    groupid = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    title = Column(String(20), nullable=False)
+    credit = Column(Integer, nullable=False)
+    isdefault = Column(SmallInteger, nullable=False)
+
+class MCHandsel(Base):
+    __tablename__ = 'ims_mc_handsel'
+
+    id = Column(Integer, primary_key=True, index=True)
+    uniacid = Column(Integer, nullable=False)
+    touid = Column(Integer, nullable=False)
+    fromuid = Column(String(32), nullable=False)
+    module = Column(String(30), nullable=False)
+    sign = Column(String(100), nullable=False)
+    action = Column(String(20), nullable=False)
+    credit_value = Column(Integer, nullable=False)
+    createtime = Column(Integer, nullable=False)
+
+class McMemberAddress(Base):
+    __tablename__ = 'ims_mc_member_address'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    username = Column(String(20), nullable=False)
+    mobile = Column(String(11), nullable=False)
+    zipcode = Column(String(6), nullable=False)
+    province = Column(String(32), nullable=False)
+    city = Column(String(32), nullable=False)
+    district = Column(String(32), nullable=False)
+    address = Column(String(512), nullable=False)
+    isdefault = Column(Boolean, nullable=False)
+
+class McMemberFields(Base):
+    __tablename__ = 'ims_mc_member_fields'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    fieldid = Column(Integer, nullable=False)
+    title = Column(String(255), nullable=False)
+    available = Column(Boolean, nullable=False)
+    displayorder = Column(SmallInteger, nullable=False)
+
+class McMemberProperty(Base):
+    __tablename__ = 'ims_mc_member_property'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+    property = Column(String(200), nullable=False)
+
+
+class McOauthFans(Base):
+    __tablename__ = 'ims_mc_oauth_fans'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    oauth_openid = Column(String(50), nullable=False)
+    acid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    openid = Column(String(50), nullable=False)
diff --git a/mooc/models/menu_event.py b/mooc/models/menu_event.py
new file mode 100644
index 0000000..4483395
--- /dev/null
+++ b/mooc/models/menu_event.py
@@ -0,0 +1 @@
+from sqlalchemy import Column, Integer, String
diff --git a/mooc/models/message_notice_log.py b/mooc/models/message_notice_log.py
new file mode 100644
index 0000000..743415a
--- /dev/null
+++ b/mooc/models/message_notice_log.py
@@ -0,0 +1,18 @@
+from sqlalchemy import Column, Integer, String, SmallInteger
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class MessageNoticeLog(Base):
+    __tablename__ = 'message_notice_log'
+
+    id = Column(Integer, primary_key=True, index=True, nullable=False)
+    message = Column(String(255), nullable=False)
+    is_read = Column(SmallInteger, nullable=False)
+    uid = Column(Integer, nullable=False)
+    sign = Column(String(22), nullable=False)
+    type = Column(SmallInteger, nullable=False)
+    status = Column(SmallInteger, nullable=True)
+    create_time = Column(Integer, nullable=False)
+    end_time = Column(Integer, nullable=False)
+    url = Column(String(255), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/mobile_number.py b/mooc/models/mobile_number.py
new file mode 100644
index 0000000..7bd754f
--- /dev/null
+++ b/mooc/models/mobile_number.py
@@ -0,0 +1,2 @@
+
+    dateline = Column(Integer, nullable=True)
\ No newline at end of file
diff --git a/mooc/models/modules.py b/mooc/models/modules.py
new file mode 100644
index 0000000..67743b0
--- /dev/null
+++ b/mooc/models/modules.py
@@ -0,0 +1,145 @@
+from sqlalchemy import Column, Integer, String, SmallInteger, Boolean
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+
+class IMSModulesBindings(Base):
+    __tablename__ = 'ims_modules_bindings'
+
+    eid = Column(Integer, primary_key=True)
+    module = Column(String(100), nullable=False)
+    entry = Column(String(30), nullable=False)
+    call = Column(String(50), nullable=False)
+    title = Column(String(50), nullable=False)
+    do = Column(String(200), nullable=False)
+    state = Column(String(200), nullable=False)
+    direct = Column(Integer, nullable=False)
+    url = Column(String(100), nullable=False)
+    icon = Column(String(50), nullable=False)
+    displayorder = Column(SmallInteger, nullable=False)
+    multilevel = Column(Boolean, nullable=False)
+    parent = Column(String(50), nullable=False)
+
+
+class IMSModulesCloud(Base):
+    __tablename__ = 'ims_modules_cloud'
+
+    id = Column(Integer, primary_key=True)
+    name = Column(String(100), nullable=False)
+    application_type = Column(SmallInteger, nullable=False)
+    title = Column(String(100), nullable=False)
+    title_initial = Column(String(1), nullable=False)
+    logo = Column(String(100), nullable=False)
+    version = Column(String(10), nullable=False)
+    install_status = Column(SmallInteger, nullable=False)
+    account_support = Column(SmallInteger, nullable=False)
+    wxapp_support = Column(SmallInteger, nullable=False)
+    webapp_support = Column(SmallInteger, nullable=False)
+    phoneapp_support = Column(SmallInteger, nullable=False)
+    welcome_support = Column(SmallInteger, nullable=False)
+    main_module_name = Column(String(50), nullable=False)
+    main_module_logo = Column(String(100), nullable=False)
+    has_new_version = Column(Boolean, nullable=False)
+    has_new_branch = Column(Boolean, nullable=False)
+    is_ban = Column(SmallInteger, nullable=False)
+    lastupdatetime = Column(Integer, nullable=False)
+    xzapp_support = Column(Boolean, nullable=False)
+    cloud_id = Column(Integer, nullable=False)
+    aliapp_support = Column(Boolean, nullable=False)
+    baiduapp_support = Column(Boolean, nullable=False)
+    toutiaoapp_support = Column(Boolean, nullable=False)
+    buytime = Column(Integer, nullable=False)
+    module_status = Column(Boolean, nullable=False)
+
+
+class Modules(Base):
+    __tablename__ = 'ims_modules'
+
+    mid = Column(Integer, primary_key=True, index=True, nullable=False)
+    name = Column(String(100), nullable=False)
+    application_type = Column(SmallInteger, nullable=False)
+    type = Column(String(20), nullable=False)
+    title = Column(String(100), nullable=False)
+    version = Column(String(15), nullable=False)
+    ability = Column(String(500), nullable=False)
+    description = Column(String(1000), nullable=False)
+    author = Column(String(50), nullable=False)
+    url = Column(String(255), nullable=False)
+    settings = Column(SmallInteger, nullable=False)
+    subscribes = Column(String(500), nullable=False)
+    handles = Column(String(500), nullable=False)
+    isrulefields = Column(SmallInteger, nullable=False)
+    issystem = Column(SmallInteger, nullable=False)
+    target = Column(Integer, nullable=False)
+    iscard = Column(SmallInteger, nullable=False)
+    permissions = Column(String(5000), nullable=False)
+    title_initial = Column(String(1), nullable=False)
+    wxapp_support = Column(SmallInteger, nullable=False)
+    welcome_support = Column(SmallInteger, nullable=False)
+    oauth_type = Column(SmallInteger, nullable=False)
+    webapp_support = Column(SmallInteger, nullable=False)
+    phoneapp_support = Column(SmallInteger, nullable=False)
+    account_support = Column(SmallInteger, nullable=False)
+    xzapp_support = Column(SmallInteger, nullable=False)
+    aliapp_support = Column(SmallInteger, nullable=False)
+    logo = Column(String(250), nullable=False)
+    baiduapp_support = Column(SmallInteger, nullable=False)
+    toutiaoapp_support = Column(SmallInteger, nullable=False)
+    from_ = Column(String(10), nullable=False)
+    cloud_record = Column(SmallInteger, nullable=False)
+    sections = Column(Integer, nullable=False)
+
+
+class IMSModulesIgnore(Base):
+    __tablename__ = 'ims_modules_ignore'
+
+    id = Column(Integer, primary_key=True)
+    name = Column(String(100), nullable=False)
+    version = Column(String(15), nullable=False)
+
+
+class IMSModulesPlugin(Base):
+    __tablename__ = 'ims_modules_plugin'
+
+    id = Column(Integer, primary_key=True)
+    name = Column(String(100), nullable=True)
+    main_module = Column(String(100), nullable=True)
+
+
+class IMSModulesPluginRank(Base):
+    __tablename__ = 'ims_modules_plugin_rank'
+
+    id = Column(Integer, primary_key=True)
+    uniacid = Column(Integer, nullable=False)
+    uid = Column(Integer, nullable=False)
+    rank = Column(Integer, nullable=False)
+    plugin_name = Column(String(200), nullable=False)
+    main_module_name = Column(String(200), nullable=False)
+
+
+class IMSModulesRank(Base):
+    __tablename__ = 'ims_modules_rank'
+
+    id = Column(Integer, primary_key=True)
+    module_name = Column(String(100), nullable=False)
+    uid = Column(Integer, nullable=False)
+    rank = Column(Integer, nullable=False)
+    uniacid = Column(Integer, nullable=False)
+
+
+class IMSModulesRecycle(Base):
+    __tablename__ = 'ims_modules_recycle'
+
+    id = Column(Integer, primary_key=True)
+    name = Column(String(255), nullable=False)
+    type = Column(SmallInteger, nullable=False)
+    account_support = Column(Boolean, nullable=False)
+    wxapp_support = Column(Boolean, nullable=False)
+    welcome_support = Column(Boolean, nullable=False)
+    webapp_support = Column(Boolean, nullable=False)
+    phoneapp_support = Column(Boolean, nullable=False)
+    xzapp_support = Column(Boolean, nullable=False)
+    aliapp_support = Column(Boolean, nullable=False)
+    baiduapp_support = Column(Boolean, nullable=False)
+    toutiaoapp_support = Column(Boolean, nullable=False)
diff --git a/mooc/models/music_reply.py b/mooc/models/music_reply.py
new file mode 100644
index 0000000..d86c890
--- /dev/null
+++ b/mooc/models/music_reply.py
@@ -0,0 +1,14 @@
+from sqlalchemy import Column, Integer, String, Text
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class MusicReply(Base):
+    __tablename__ = "music_reply"
+
+    Id = Column(Integer, primary_key=True, index=True)
+    Rid = Column(Integer, nullable=False)
+    Title = Column(String(50), nullable=False)
+    Description = Column(String(255), nullable=False)
+    Url = Column(String(300), nullable=False)
+    Hqurl = Column(String(300), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/news_reply.py b/mooc/models/news_reply.py
new file mode 100644
index 0000000..7997756
--- /dev/null
+++ b/mooc/models/news_reply.py
@@ -0,0 +1,21 @@
+from sqlalchemy import Column, Integer, String, Text, SmallInteger
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class NewsReply(Base):
+    __tablename__ = "news_reply"
+
+    Id = Column(Integer, primary_key=True, index=True)
+    Rid = Column(Integer, nullable=False)
+    ParentId = Column(Integer, nullable=False)
+    Title = Column(String(50), nullable=False)
+    Author = Column(String(64), nullable=False)
+    Description = Column(String(255), nullable=False)
+    Thumb = Column(String(500), nullable=False)
+    Content = Column(Text, nullable=False)
+    Url = Column(String(255), nullable=False)
+    Displayorder = Column(Integer, nullable=False)
+    Incontent = Column(SmallInteger, nullable=False)
+    Createtime = Column(Integer, nullable=False)
+    MediaId = Column(String(50), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/phoneapp_versions.py b/mooc/models/phoneapp_versions.py
new file mode 100644
index 0000000..06b6439
--- /dev/null
+++ b/mooc/models/phoneapp_versions.py
@@ -0,0 +1,14 @@
+from sqlalchemy import Column, Integer, String, Text
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class PhoneappVersions(Base):
+    __tablename__ = "phoneapp_versions"
+
+    Id = Column(Integer, primary_key=True, index=True)
+    Uniacid = Column(Integer, nullable=False)
+    Version = Column(String(20), nullable=False)
+    Description = Column(String(255), nullable=False)
+    Modules = Column(Text, nullable=False)
+    Createtime = Column(Integer, nullable=False)
\ No newline at end of file
diff --git a/mooc/models/profile_fields.py b/mooc/models/profile_fields.py
new file mode 100644
index 0000000..7924e26
--- /dev/null
+++ b/mooc/models/profile_fields.py
@@ -0,0 +1,2 @@
+
+    Createtime = Column(Integer, nullable=False)
\ No newline at end of file
diff --git a/mooc/models/rule.py b/mooc/models/rule.py
new file mode 100644
index 0000000..c501654
--- /dev/null
+++ b/mooc/models/rule.py
@@ -0,0 +1,15 @@
+from sqlalchemy import Column, Integer, String, SmallInteger
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class Rule(Base):
+    __tablename__ = "rule"
+
+    Id = Column(Integer, primary_key=True, index=True)
+    Uniacid = Column(Integer, nullable=False)
+    Name = Column(String(50), nullable=False)
+    Module = Column(String(50), nullable=False)
+    Displayorder = Column(Integer, nullable=False)
+    Status = Column(SmallInteger, nullable=False)
+    Containtype = Column(String(100), nullable=False)
\ No newline at end of file
diff --git a/mooc/models/rule_Keyword.py b/mooc/models/rule_Keyword.py
new file mode 100644
index 0000000..9a5c335
--- /dev/null
+++ b/mooc/models/rule_Keyword.py
@@ -0,0 +1,16 @@
+from sqlalchemy import Column, Integer, String, SmallInteger
+from sqlalchemy.ext.declarative import declarative_base
+
+Base = declarative_base()
+
+class RuleKeyword(Base):
+    __tablename__ = "rule_keyword"
+
+    Id = Column(Integer, primary_key=True, index=True)
+    Rid = Column(Integer, nullable=False)
+    Uniacid = Column(Integer, nullable=False)
+    Module = Column(String(50), nullable=False)
+    Content = Column(String(255), nullable=False)
+    Type = Column(SmallInteger, nullable=False)
+    Displayorder = Column(SmallInteger, nullable=False)
+    Status = Column(SmallInteger, nullable=False)
\ No newline at end of file