ting_model 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/README.md +41 -0
  4. data/Rakefile +1 -0
  5. data/gen_shards.rb +59 -0
  6. data/lib/extenders/album_extender.rb +9 -0
  7. data/lib/extenders/block_avatar_extender.rb +5 -0
  8. data/lib/extenders/chat_extender.rb +5 -0
  9. data/lib/extenders/class_node.rb +21 -0
  10. data/lib/extenders/comment_extender.rb +5 -0
  11. data/lib/extenders/favorite_album_extender.rb +5 -0
  12. data/lib/extenders/favorite_extender.rb +5 -0
  13. data/lib/extenders/following_extender.rb +13 -0
  14. data/lib/extenders/following_group_extender.rb +5 -0
  15. data/lib/extenders/following_tag_extender.rb +5 -0
  16. data/lib/extenders/followingx2_group_extender.rb +5 -0
  17. data/lib/extenders/inbox_extender.rb +5 -0
  18. data/lib/extenders/linkman_extender.rb +5 -0
  19. data/lib/extenders/outbox_extender.rb +5 -0
  20. data/lib/extenders/track_block_extender.rb +5 -0
  21. data/lib/extenders/track_extender.rb +5 -0
  22. data/lib/extenders/track_in_record_extender.rb +76 -0
  23. data/lib/extenders/track_picture_extender.rb +5 -0
  24. data/lib/extenders/track_record_extender.rb +5 -0
  25. data/lib/extenders/track_rich_extender.rb +5 -0
  26. data/lib/extenders/track_set_extender.rb +79 -0
  27. data/lib/extenders/track_set_rich_extender.rb +5 -0
  28. data/lib/extenders/user_tag_extender.rb +5 -0
  29. data/lib/ting_model.rb +1 -0
  30. data/lib/ting_model/advertisement.rb +5 -0
  31. data/lib/ting_model/advertisement_new.rb +4 -0
  32. data/lib/ting_model/album.rb +31 -0
  33. data/lib/ting_model/album_node.rb +9 -0
  34. data/lib/ting_model/album_origin.rb +137 -0
  35. data/lib/ting_model/album_pod.rb +8 -0
  36. data/lib/ting_model/album_podcat.rb +8 -0
  37. data/lib/ting_model/android_channel.rb +4 -0
  38. data/lib/ting_model/android_channel_binding.rb +7 -0
  39. data/lib/ting_model/announcement.rb +12 -0
  40. data/lib/ting_model/app_recommend.rb +55 -0
  41. data/lib/ting_model/application_v_category.rb +5 -0
  42. data/lib/ting_model/approve_group.rb +4 -0
  43. data/lib/ting_model/approving_track.rb +4 -0
  44. data/lib/ting_model/approving_track_log.rb +4 -0
  45. data/lib/ting_model/audit_log.rb +5 -0
  46. data/lib/ting_model/baidu_count.rb +4 -0
  47. data/lib/ting_model/bind_user.rb +7 -0
  48. data/lib/ting_model/binding_app.rb +4 -0
  49. data/lib/ting_model/biting.rb +4 -0
  50. data/lib/ting_model/black_user.rb +9 -0
  51. data/lib/ting_model/block_avatar.rb +31 -0
  52. data/lib/ting_model/block_avatar_node.rb +10 -0
  53. data/lib/ting_model/block_avatar_origin.rb +24 -0
  54. data/lib/ting_model/category.rb +20 -0
  55. data/lib/ting_model/category_icon_version.rb +12 -0
  56. data/lib/ting_model/chat.rb +31 -0
  57. data/lib/ting_model/chat_node.rb +10 -0
  58. data/lib/ting_model/chat_origin.rb +32 -0
  59. data/lib/ting_model/comment.rb +80 -0
  60. data/lib/ting_model/comment_node.rb +10 -0
  61. data/lib/ting_model/comment_origin.rb +116 -0
  62. data/lib/ting_model/dead_album.rb +8 -0
  63. data/lib/ting_model/dead_track.rb +8 -0
  64. data/lib/ting_model/dead_user.rb +7 -0
  65. data/lib/ting_model/default_follow.rb +6 -0
  66. data/lib/ting_model/delayed_album.rb +26 -0
  67. data/lib/ting_model/delayed_publish.rb +4 -0
  68. data/lib/ting_model/delayed_track.rb +43 -0
  69. data/lib/ting_model/discovery_page.rb +17 -0
  70. data/lib/ting_model/editor_recommend.rb +5 -0
  71. data/lib/ting_model/favorite.rb +59 -0
  72. data/lib/ting_model/favorite_album.rb +50 -0
  73. data/lib/ting_model/favorite_album_node.rb +9 -0
  74. data/lib/ting_model/favorite_album_origin.rb +88 -0
  75. data/lib/ting_model/favorite_node.rb +10 -0
  76. data/lib/ting_model/favorite_origin.rb +138 -0
  77. data/lib/ting_model/feed.rb +159 -0
  78. data/lib/ting_model/file_upload.rb +4 -0
  79. data/lib/ting_model/file_upload_record.rb +4 -0
  80. data/lib/ting_model/focus.rb +16 -0
  81. data/lib/ting_model/focus_album.rb +9 -0
  82. data/lib/ting_model/focus_current.rb +10 -0
  83. data/lib/ting_model/focus_track.rb +17 -0
  84. data/lib/ting_model/focus_user.rb +7 -0
  85. data/lib/ting_model/follower.rb +27 -0
  86. data/lib/ting_model/follower_node.rb +10 -0
  87. data/lib/ting_model/follower_origin.rb +34 -0
  88. data/lib/ting_model/follower_tag.rb +27 -0
  89. data/lib/ting_model/follower_tag_node.rb +10 -0
  90. data/lib/ting_model/follower_tag_origin.rb +14 -0
  91. data/lib/ting_model/followerx2_group.rb +27 -0
  92. data/lib/ting_model/followerx2_group_node.rb +10 -0
  93. data/lib/ting_model/followerx2_group_origin.rb +12 -0
  94. data/lib/ting_model/following.rb +57 -0
  95. data/lib/ting_model/following_group.rb +31 -0
  96. data/lib/ting_model/following_group_node.rb +10 -0
  97. data/lib/ting_model/following_group_origin.rb +29 -0
  98. data/lib/ting_model/following_node.rb +10 -0
  99. data/lib/ting_model/following_origin.rb +72 -0
  100. data/lib/ting_model/following_tag.rb +52 -0
  101. data/lib/ting_model/following_tag_node.rb +10 -0
  102. data/lib/ting_model/following_tag_origin.rb +59 -0
  103. data/lib/ting_model/followingx2_group.rb +31 -0
  104. data/lib/ting_model/followingx2_group_node.rb +10 -0
  105. data/lib/ting_model/followingx2_group_origin.rb +23 -0
  106. data/lib/ting_model/human_category.rb +17 -0
  107. data/lib/ting_model/human_recommend_album.rb +8 -0
  108. data/lib/ting_model/human_recommend_album_category_tag.rb +4 -0
  109. data/lib/ting_model/human_recommend_album_tag.rb +4 -0
  110. data/lib/ting_model/human_recommend_category_album.rb +7 -0
  111. data/lib/ting_model/human_recommend_category_tag.rb +6 -0
  112. data/lib/ting_model/human_recommend_category_tag_album.rb +7 -0
  113. data/lib/ting_model/human_recommend_category_tag_track.rb +11 -0
  114. data/lib/ting_model/human_recommend_category_tag_user.rb +7 -0
  115. data/lib/ting_model/human_recommend_category_track.rb +11 -0
  116. data/lib/ting_model/human_recommend_category_user.rb +7 -0
  117. data/lib/ting_model/human_recommend_tag.rb +5 -0
  118. data/lib/ting_model/human_recommend_tag_album.rb +7 -0
  119. data/lib/ting_model/human_recommend_tag_track.rb +9 -0
  120. data/lib/ting_model/human_recommend_tag_user.rb +7 -0
  121. data/lib/ting_model/human_recommend_track.rb +9 -0
  122. data/lib/ting_model/human_recommend_user.rb +7 -0
  123. data/lib/ting_model/icon_version.rb +7 -0
  124. data/lib/ting_model/inbox.rb +31 -0
  125. data/lib/ting_model/inbox_node.rb +10 -0
  126. data/lib/ting_model/inbox_origin.rb +59 -0
  127. data/lib/ting_model/latest_album.rb +9 -0
  128. data/lib/ting_model/latest_favorite.rb +10 -0
  129. data/lib/ting_model/latest_track.rb +10 -0
  130. data/lib/ting_model/linkman.rb +30 -0
  131. data/lib/ting_model/linkman_node.rb +10 -0
  132. data/lib/ting_model/linkman_origin.rb +26 -0
  133. data/lib/ting_model/liteapp.rb +7 -0
  134. data/lib/ting_model/liteapp_album.rb +4 -0
  135. data/lib/ting_model/liteapp_tag.rb +4 -0
  136. data/lib/ting_model/lover.rb +27 -0
  137. data/lib/ting_model/lover_album.rb +27 -0
  138. data/lib/ting_model/lover_album_node.rb +9 -0
  139. data/lib/ting_model/lover_album_origin.rb +39 -0
  140. data/lib/ting_model/lover_node.rb +10 -0
  141. data/lib/ting_model/lover_origin.rb +45 -0
  142. data/lib/ting_model/m_user.rb +8 -0
  143. data/lib/ting_model/message_log.rb +4 -0
  144. data/lib/ting_model/message_picture.rb +5 -0
  145. data/lib/ting_model/meta.rb +4 -0
  146. data/lib/ting_model/mixing_album.rb +7 -0
  147. data/lib/ting_model/mobad_stat.rb +9 -0
  148. data/lib/ting_model/news.rb +16 -0
  149. data/lib/ting_model/out_link.rb +7 -0
  150. data/lib/ting_model/outbox.rb +31 -0
  151. data/lib/ting_model/outbox_node.rb +10 -0
  152. data/lib/ting_model/outbox_origin.rb +59 -0
  153. data/lib/ting_model/outlink_stat.rb +4 -0
  154. data/lib/ting_model/personal_setting.rb +26 -0
  155. data/lib/ting_model/push_message.rb +4 -0
  156. data/lib/ting_model/receive_laya.rb +9 -0
  157. data/lib/ting_model/recommend_album.rb +7 -0
  158. data/lib/ting_model/recommend_category_album.rb +7 -0
  159. data/lib/ting_model/recommend_category_tag.rb +5 -0
  160. data/lib/ting_model/recommend_category_tag_album.rb +7 -0
  161. data/lib/ting_model/recommend_category_tag_track.rb +9 -0
  162. data/lib/ting_model/recommend_category_tag_user.rb +7 -0
  163. data/lib/ting_model/recommend_category_track.rb +9 -0
  164. data/lib/ting_model/recommend_category_user.rb +7 -0
  165. data/lib/ting_model/recommend_tag.rb +15 -0
  166. data/lib/ting_model/recommend_tag_album.rb +7 -0
  167. data/lib/ting_model/recommend_tag_track.rb +9 -0
  168. data/lib/ting_model/recommend_tag_user.rb +7 -0
  169. data/lib/ting_model/recommend_track.rb +9 -0
  170. data/lib/ting_model/recommend_user.rb +7 -0
  171. data/lib/ting_model/reject_reason.rb +17 -0
  172. data/lib/ting_model/report.rb +33 -0
  173. data/lib/ting_model/report_information.rb +29 -0
  174. data/lib/ting_model/search_black_uid.rb +7 -0
  175. data/lib/ting_model/search_key.rb +6 -0
  176. data/lib/ting_model/send_msg.rb +4 -0
  177. data/lib/ting_model/shards.rb +2626 -0
  178. data/lib/ting_model/sms.rb +19 -0
  179. data/lib/ting_model/special.rb +17 -0
  180. data/lib/ting_model/special_album.rb +4 -0
  181. data/lib/ting_model/special_track.rb +4 -0
  182. data/lib/ting_model/sub_app_advertisement_new.rb +4 -0
  183. data/lib/ting_model/subappad_stat.rb +9 -0
  184. data/lib/ting_model/system_configuration.rb +5 -0
  185. data/lib/ting_model/temp_blob.rb +5 -0
  186. data/lib/ting_model/track.rb +30 -0
  187. data/lib/ting_model/track_block.rb +46 -0
  188. data/lib/ting_model/track_block_node.rb +10 -0
  189. data/lib/ting_model/track_block_origin.rb +69 -0
  190. data/lib/ting_model/track_in_record.rb +27 -0
  191. data/lib/ting_model/track_in_record_node.rb +10 -0
  192. data/lib/ting_model/track_in_record_origin.rb +134 -0
  193. data/lib/ting_model/track_node.rb +9 -0
  194. data/lib/ting_model/track_origin.rb +224 -0
  195. data/lib/ting_model/track_picture.rb +32 -0
  196. data/lib/ting_model/track_picture_node.rb +10 -0
  197. data/lib/ting_model/track_picture_origin.rb +26 -0
  198. data/lib/ting_model/track_record.rb +31 -0
  199. data/lib/ting_model/track_record_node.rb +9 -0
  200. data/lib/ting_model/track_record_origin.rb +64 -0
  201. data/lib/ting_model/track_rich.rb +30 -0
  202. data/lib/ting_model/track_rich_node.rb +10 -0
  203. data/lib/ting_model/track_rich_origin.rb +31 -0
  204. data/lib/ting_model/track_set.rb +27 -0
  205. data/lib/ting_model/track_set_node.rb +9 -0
  206. data/lib/ting_model/track_set_origin.rb +147 -0
  207. data/lib/ting_model/track_set_rich.rb +30 -0
  208. data/lib/ting_model/track_set_rich_node.rb +10 -0
  209. data/lib/ting_model/track_set_rich_origin.rb +24 -0
  210. data/lib/ting_model/uid_approve_group.rb +4 -0
  211. data/lib/ting_model/upload_track_share_temp.rb +6 -0
  212. data/lib/ting_model/user_link.rb +10 -0
  213. data/lib/ting_model/user_log.rb +33 -0
  214. data/lib/ting_model/user_tag.rb +31 -0
  215. data/lib/ting_model/user_tag_node.rb +10 -0
  216. data/lib/ting_model/user_tag_origin.rb +23 -0
  217. data/lib/ting_model/user_v_category.rb +8 -0
  218. data/lib/ting_model/v_application.rb +35 -0
  219. data/lib/ting_model/v_category.rb +7 -0
  220. data/lib/ting_model/v_user.rb +7 -0
  221. data/lib/ting_model/varification_code.rb +6 -0
  222. data/lib/ting_model/web_advertisement.rb +6 -0
  223. data/lib/ting_model/web_discovery_page.rb +10 -0
  224. data/lib/ting_model/web_recommend.rb +6 -0
  225. data/lib/ting_model/weixin_account.rb +8 -0
  226. data/lib/ting_model/weixin_keyword.rb +4 -0
  227. data/lib/ting_model/weixin_monitor.rb +4 -0
  228. data/ting_model.gemspec +251 -0
  229. metadata +313 -0
@@ -0,0 +1,9 @@
1
+ class LatestAlbum < ActiveRecord::Base
2
+ self.table_name = 'tb_latest_album' # 用户最后更新专辑
3
+
4
+ attr_accessible :album_created_at, :album_cover_path, :album_id, :album_title, :nickname, :uid
5
+
6
+ # album_id album_title album_cover_path album_created_at --- 专辑id 标题 封面 创建时间
7
+ # uid nickname --- 用户id 昵称
8
+
9
+ end
@@ -0,0 +1,10 @@
1
+ class LatestFavorite < ActiveRecord::Base
2
+ self.table_name = 'tb_latest_favorite' # 用户最后收藏声音
3
+
4
+ attr_accessible :fav_id, :fav_created_at, :nickname, :track_cover_path, :track_id, :track_title, :uid
5
+
6
+ # fav_id fav_created_at --- 喜欢id 喜欢时间
7
+ # track_id track_title track_cover_path --- 声音id 标题 封面
8
+ # uid nickname 用户id 昵称
9
+
10
+ end
@@ -0,0 +1,10 @@
1
+ class LatestTrack < ActiveRecord::Base
2
+ self.table_name = 'tb_latest_track' # 用户最后更新声音
3
+ attr_accessible :album_id, :album_title, :nickname, :track_id, :track_title, :uid, :track_created_at, :is_resend, :track_cover_path, :is_v, :upload_id, :waveform
4
+
5
+ # is_resend --- 是否转发
6
+ # album_id album_title --- 专辑id 标题
7
+ # uid nickname is_v --- 用户id 昵称 是否加V
8
+ # track_id track_title track_created_at track_cover_path --- 声音id 标题 创建时间 封面
9
+ # upload_id waveform --- 声音上传号 波形号
10
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../linkman_node', __FILE__)
2
+ require File.expand_path('../linkman_origin', __FILE__)
3
+
4
+ class Linkman < LinkmanOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(LinkmanNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ LinkmanNode.seek(key).table_name
12
+ end
13
+
14
+ def self.stn(key)
15
+ self.table_name = self.gtn(key)
16
+ self
17
+ end
18
+
19
+ before_save do |r|
20
+ r.class.table_name = Linkman.gtn(r.uid)
21
+ unless r.id
22
+ r.id = Linkman.next_id
23
+ end
24
+ end
25
+
26
+ before_destroy do |r|
27
+ r.class.table_name = Linkman.gtn(r.uid)
28
+ end
29
+
30
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class LinkmanNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_linkman_node'
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+
10
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../../extenders/linkman_extender', __FILE__)
2
+
3
+ class LinkmanOrigin < ActiveRecord::Base
4
+ extend LinkmanExtender
5
+
6
+ self.table_name = 'tb_linkman' # 联系人
7
+
8
+ attr_accessible :uid, :nickname, :avatar_path,
9
+ :linkman_uid, :linkman_nickname, :linkman_avatar_path,
10
+ :no_read_count, :last_id,
11
+ :updated_at, :last_chat_at, :last_chat_content
12
+
13
+ # uid nickname avatar_path --- 用户id 昵称 头像
14
+ # linkman_uid linkman_nickname linkman_avatar_path --- 联系人id 昵称 头像
15
+ # no_read_count --- 未读数
16
+ # last_id last_chat_at last_chat_content --- 最新一条聊天id 时间 内容
17
+
18
+ validates :uid, presence: true
19
+
20
+ before_save do |r|
21
+ unless r.id
22
+ r.id = Linkman.next_id
23
+ end
24
+ end
25
+
26
+ end
@@ -0,0 +1,7 @@
1
+ class Liteapp < ActiveRecord::Base
2
+ self.table_name = 'tb_liteapp' # 轻应用
3
+ attr_accessible :code, :content_type, :is_deleted, :title, :allow_ad
4
+
5
+ validates_presence_of :content_type, :message => "专辑类型不能为空"
6
+ # content_type --- 1:标签下的专辑 / 2:手动选取的专辑
7
+ end
@@ -0,0 +1,4 @@
1
+ class LiteappAlbum < ActiveRecord::Base
2
+ self.table_name = 'tb_liteapp_album' # 轻应用-专辑
3
+ attr_accessible :album_cover_path, :album_id, :album_title, :liteapp_id, :nickname, :order_num, :uid
4
+ end
@@ -0,0 +1,4 @@
1
+ class LiteappTag < ActiveRecord::Base
2
+ self.table_name = 'tb_liteapp_tag' # 轻应用-标签
3
+ attr_accessible :liteapp_id, :tag
4
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path('../lover_node', __FILE__)
2
+ require File.expand_path('../lover_origin', __FILE__)
3
+
4
+ class Lover < LoverOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(LoverNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ LoverNode.seek(key).table_name
12
+ end
13
+
14
+ def self.stn(key)
15
+ self.table_name = self.gtn(key)
16
+ self
17
+ end
18
+
19
+ before_save do |r|
20
+ r.class.table_name = Lover.gtn(r.track_id)
21
+ end
22
+
23
+ before_destroy do |r|
24
+ r.class.table_name = Lover.gtn(r.track_id)
25
+ end
26
+
27
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path('../lover_album_node', __FILE__)
2
+ require File.expand_path('../lover_album_origin', __FILE__)
3
+
4
+ class LoverAlbum < LoverAlbumOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(LoverAlbumNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ LoverAlbumNode.seek(key).table_name
12
+ end
13
+
14
+ def self.stn(key)
15
+ self.table_name = self.gtn(key)
16
+ self
17
+ end
18
+
19
+ before_save do |r|
20
+ r.class.table_name = LoverAlbum.gtn(r.album_id)
21
+ end
22
+
23
+ before_destroy do |r|
24
+ r.class.table_name = LoverAlbum.gtn(r.album_id)
25
+ end
26
+
27
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class LoverAlbumNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_lover_album_node'
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+ end
@@ -0,0 +1,39 @@
1
+ class LoverAlbumOrigin < ActiveRecord::Base
2
+
3
+ # 收藏专辑 根据album_id分表
4
+ self.table_name = 'tb_favorite_album'
5
+
6
+ attr_accessible :uid,
7
+ :nickname,
8
+ :avatar_path,
9
+ :album_id,
10
+ :album_uid,
11
+ :album_nickname,
12
+ :album_avatar_path,
13
+ :op_type,
14
+ :user_source,
15
+ :is_crawler,
16
+ :title,
17
+ :tags,
18
+ :intro,
19
+ :cover_path,
20
+ :music_category,
21
+ :album_created_at,
22
+ :category_id,
23
+ :created_at,
24
+ :updated_at,
25
+ :upload_source
26
+
27
+ # uid nickname avatar_path --- 用户id 昵称 头像
28
+ # album_id album_uid album_nickname album_avatar_path --- 专辑id 用户id 昵称 头像
29
+ # op_type --- 专辑上传类型 1:自己传的 /2:转发
30
+ # user_source --- 专辑来源 1:原创 /2:采集
31
+ # is_crawler --- 专辑 是否爬虫
32
+ # title tags intro cover_path --- 专辑标题 标签 简介 封面
33
+ # music_category --- 专辑 音乐归类
34
+ # album_created_at --- 专辑创建时间
35
+ # category_id --- 专辑分类id
36
+ # upload_source --- 专辑上传自 1:iphone/2:电脑/3:android
37
+
38
+ validates :album_id, presence: true
39
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class LoverNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_lover_node'
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+
10
+ end
@@ -0,0 +1,45 @@
1
+ class LoverOrigin < ActiveRecord::Base
2
+ # 喜欢声音 根据track_id分表,记录依赖favorite
3
+ self.table_name = 'tb_favorite'
4
+
5
+ attr_accessible :is_public, :upload_source,
6
+ :uid, :nickname, :avatar_path,
7
+ :track_id, :track_uid, :track_upload_source, :track_nickname, :track_avatar_path, :track_duration,
8
+ :user_source, :category_id,
9
+ :title, :intro,
10
+ :duration,
11
+ :download_path,
12
+ :play_path, :play_path_32, :play_path_64, :play_path_128,
13
+ :cover_path,
14
+ :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
15
+ :cover_path_60, :cover_path_86, :cover_path_640,
16
+ :tags,
17
+ :allow_download, :allow_comment,
18
+ :track_created_at, :track_updated_at,
19
+ :album_id, :album_title, :album_cover_path, :is_v,
20
+ :waveform, :upload_id
21
+
22
+ # is_public --- 是否公开
23
+ # upload_source --- 操作自 1:iphone /2:电脑 /3:android
24
+ # uid nickname avatar_path --- 用户id 昵称 头像地址
25
+ # track_id track_uid track_nickname track_avatar_path --- 声音id uid 昵称 发布者头像
26
+ # track_upload_source --- 声音上传自 1:iphone /2:电脑 /3:android
27
+ # track_duration --- 声音时长
28
+ # user_source --- 声音来源 1:原创/2:采集
29
+ # category_id --- 声音分类id
30
+ # title intro --- 声音标题 简介
31
+ # duration --- 声音时长
32
+ # download_path --- 声音下载地址
33
+ # play_path play_path_32 play_path_64 play_path_128 --- 播放地址原 32Kbps 64Kbps 128Kbps
34
+ # cover_path --- 声音封面路径原
35
+ # cover_path_small cover_path_middle cover_path_large cover_path_wide --- 未使用 50x50 100x100 180x180 400x300
36
+ # cover_path_60 cover_path_86 cover_path_640 --- 60x60 86x86 640x640
37
+ # tags --- 声音标签
38
+ # allow_download allow_comment --- 允许下载 允许评论
39
+ # track_created_at track_updated_at --- 声音创建时间 更新时间
40
+ # album_id album_title album_cover_path --- 专辑id 标题 封面
41
+ # is_v --- 声音作者是否加V
42
+ # waveform upload_id --- 声音波形 上传号
43
+
44
+ validates :track_id, presence: true
45
+ end
@@ -0,0 +1,8 @@
1
+ class MUser < ActiveRecord::Base
2
+ self.table_name = 'tb_m_user' # 手工用户
3
+
4
+ attr_accessible :uid
5
+
6
+ # uid --- 用户id
7
+
8
+ end
@@ -0,0 +1,4 @@
1
+ class MessageLog < ActiveRecord::Base
2
+ self.table_name = "tb_message_log" #私信群发日志
3
+ attr_accessible :content, :operator, :to_users, :uid
4
+ end
@@ -0,0 +1,5 @@
1
+ class MessagePicture < ActiveRecord::Base
2
+ self.table_name = 'tb_message_picture' # 消息图片附件 unused
3
+
4
+ attr_accessible :asset_id, :message_id
5
+ end
@@ -0,0 +1,4 @@
1
+ class Meta < ActiveRecord::Base
2
+ self.table_name = "tb_meta" #Meta设置表
3
+ attr_accessible :content_id, :content_title, :content_type, :description, :keywords, :title, :parent_type
4
+ end
@@ -0,0 +1,7 @@
1
+ class MixingAlbum < ActiveRecord::Base
2
+ self.table_name = 'tb_mixing_album' # 专辑加挂专辑
3
+ attr_accessible :album_id, :mixing_album_id
4
+
5
+ # album_id --- 原专辑
6
+ # mixing_album_id --- 加挂专辑
7
+ end
@@ -0,0 +1,9 @@
1
+ class MobadStat < ActiveRecord::Base
2
+ self.table_name = 'tb_mobad_stat' # 手机广告统计
3
+ attr_accessible :day_at, :jts, :mobad_id, :uniq_ips
4
+
5
+ # day_at --- 某天
6
+ # jts --- 点击数
7
+ # mobad_id --- 手机广告id
8
+ # uniq_ips --- ip数
9
+ end
@@ -0,0 +1,16 @@
1
+ class News < ActiveRecord::Base
2
+ self.table_name = "tb_news" #新闻链接
3
+ attr_accessible :is_reship, :link, :time_at, :title, :website
4
+
5
+ validates_presence_of :title, message: "新闻标题不能为空"
6
+ validates_presence_of :website, message: "网站名称不能为空"
7
+ validates_presence_of :link, message: "链接不能为空"
8
+ validates_presence_of :time_at, message: "刊登时间不能为空"
9
+
10
+ # link --- 链接
11
+ # time_at --- 发表时间
12
+ # title --- 标题
13
+ # is_reship --- 是否转发
14
+ # website --- 转发自
15
+
16
+ end
@@ -0,0 +1,7 @@
1
+ class OutLink < ActiveRecord::Base
2
+ self.table_name = "tb_out_link" #外链配置
3
+ attr_accessible :url, :operator, :platform, :tag
4
+
5
+ validates :url, :tag, presence: true
6
+ validates :tag, uniqueness: {message: "关键字已经存在"}
7
+ end
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../outbox_node', __FILE__)
2
+ require File.expand_path('../outbox_origin', __FILE__)
3
+
4
+ class Outbox < OutboxOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(OutboxNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ OutboxNode.seek(key).table_name
12
+ end
13
+
14
+ def self.stn(key)
15
+ self.table_name = self.gtn(key)
16
+ self
17
+ end
18
+
19
+ before_save do |r|
20
+ r.class.table_name = Outbox.gtn(r.uid)
21
+
22
+ unless r.id
23
+ r.id = Outbox.next_id
24
+ end
25
+ end
26
+
27
+ before_destroy do |r|
28
+ r.class.table_name = Outbox.gtn(r.uid)
29
+ end
30
+
31
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class OutboxNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_outbox_node'
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+
10
+ end
@@ -0,0 +1,59 @@
1
+ require File.expand_path('../../extenders/outbox_extender', __FILE__)
2
+
3
+ class OutboxOrigin < ActiveRecord::Base
4
+ extend OutboxExtender
5
+
6
+ # 消息 根据uid分表
7
+ self.table_name = 'tb_message'
8
+
9
+ attr_accessible :message_type,
10
+ :upload_source,
11
+ :uid, :nickname, :avatar_path,
12
+ :to_uid, :to_nickname, :to_avatar_path,
13
+ :content,
14
+ :extra_json,
15
+ :has_read,
16
+ :track_id, :track_title, :track_cover_path, :track_uid, :track_nickname, :track_upload_source,
17
+ :comment_id, :second, :pcomment_id, :pcomment_content,
18
+ :anno_id, :anno_created_at
19
+
20
+
21
+ # message_type ---
22
+ # 1: 私信(已废弃)
23
+ # 2: 你评论了 发件箱
24
+ # 3: 你的评论被回复了 收件箱
25
+ # 4: 你的评论被@了 收件箱
26
+ # 5: 有一个公告(喜马发的) 收件箱
27
+ # 6: 有一封系统私信(加v通过等,喜马发的) 收件箱
28
+ # 7: 你的声音被喜欢了 收件箱
29
+ # 8: 你的声音被转发了 收件箱
30
+ # 9: 主动推 默认类型
31
+ # 10: 主动推 系统通知
32
+ # 11: 主动推 声音详情页
33
+ # 12: 主动推 个人主页
34
+ # 13: 主动推 专辑详情页
35
+ # 14: 你的声音被@到了 收件箱
36
+ # 15: 主动推 自定义url
37
+ # 16: 主播发来了私信 收件箱
38
+
39
+ # upload_source --- 发自 1:iphone/2:电脑/3:android
40
+ # uid nickname avatar_path --- 用户id 昵称 头像
41
+ # to_uid to_nickname to_avatar_path --- 发给用户id 昵称 头像
42
+ # content --- 内容
43
+ # extra_json --- 额外json
44
+ # has_read --- 是否已读
45
+ # track_id track_title track_cover_path --- 声音id 标题 封面
46
+ # track_uid track_nickname track_upload_source --- 声音用户id 昵称 上传自
47
+ # comment_id second --- 评论id 第几秒
48
+ # pcomment_id pcomment_content --- 父评论id 内容
49
+ # anno_id anno_created_at --- 公告id 创建时间
50
+
51
+ validates :uid, presence: true
52
+
53
+ before_save do |r|
54
+ unless r.id
55
+ r.id = Outbox.next_id
56
+ end
57
+ end
58
+
59
+ end