ting_model 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,32 @@
1
+ require File.expand_path('../track_picture_node', __FILE__)
2
+ require File.expand_path('../track_picture_origin', __FILE__)
3
+
4
+
5
+ class TrackPicture < TrackPictureOrigin
6
+
7
+ def self.shard(key)
8
+ Object.const_get(TrackPictureNode.seek(key).class_name)
9
+ end
10
+
11
+ def self.gtn(key)
12
+ TrackPictureNode.seek(key).table_name
13
+ end
14
+
15
+ def self.stn(key)
16
+ self.table_name = self.gtn(key)
17
+ self
18
+ end
19
+
20
+ before_save do |r|
21
+ r.class.table_name = TrackPicture.gtn(r.track_id)
22
+
23
+ unless r.id
24
+ r.id = TrackPicture.next_id
25
+ end
26
+ end
27
+
28
+ before_destroy do |r|
29
+ r.class.table_name = TrackPicture.gtn(r.track_id)
30
+ end
31
+
32
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class TrackPictureNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_track_picture_node' # 声音记录分表节点
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+
10
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../../extenders/track_picture_extender', __FILE__)
2
+
3
+ class TrackPictureOrigin < ActiveRecord::Base
4
+ extend TrackPictureExtender
5
+
6
+ self.table_name = 'tb_track_picture' # 声音图片
7
+
8
+ attr_accessible :order_num, :picture_path, :track_id, :uid, :explore_height
9
+
10
+ validates :track_id, presence: true
11
+
12
+ before_save do |r|
13
+ unless r.id
14
+ r.id = TrackPicture.next_id
15
+ end
16
+ end
17
+
18
+ after_save do |r|
19
+ RICKREDIS.del("t_e_#{r.track_id}_2")
20
+ end
21
+
22
+ after_destroy do |r|
23
+ RICKREDIS.del("t_e_#{r.track_id}_2")
24
+ end
25
+
26
+ end
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../track_record_node', __FILE__)
2
+ require File.expand_path('../track_record_origin', __FILE__)
3
+
4
+ class TrackRecord < TrackRecordOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(TrackRecordNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ TrackRecordNode.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 = TrackRecord.gtn(r.uid)
21
+
22
+ unless r.id
23
+ r.id = TrackRecord.next_id
24
+ end
25
+ end
26
+
27
+ before_destroy do |r|
28
+ r.class.table_name = TrackRecord.gtn(r.uid)
29
+ end
30
+
31
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class TrackRecordNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_track_record_node' # 声音记录分表节点
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+ end
@@ -0,0 +1,64 @@
1
+ require File.expand_path('../../extenders/track_record_extender', __FILE__)
2
+ require File.expand_path('../track_in_record', __FILE__)
3
+
4
+ class TrackRecordOrigin < ActiveRecord::Base
5
+ extend TrackRecordExtender
6
+ # 声音记录 根据uid分表
7
+
8
+ self.table_name = 'tb_track_record'
9
+
10
+ attr_accessible :track_id,
11
+ :track_uid,
12
+ :track_upload_source,
13
+ :op_type,
14
+ :is_publish,
15
+ :upload_source,
16
+ :uid, :nickname, :avatar_path, :is_v, :human_category_id,
17
+ :title, :intro,
18
+ :user_source,
19
+ :category_id,
20
+ :duration,
21
+ :play_path, :play_path_32, :play_path_64, :play_path_128,
22
+ :transcode_state,
23
+ :download_path,
24
+ :cover_path,
25
+ :album_id, :album_title,
26
+ :album_cover_path,
27
+ :tags, :ignore_tags, :extra_tags,
28
+ :singer, :singer_category, :author,
29
+ :composer, :arrangement, :post_production,
30
+ :lyric, :lyric_path,
31
+ :language, :resinger, :announcer,
32
+ :is_public, :access_password,
33
+ :allow_download, :allow_comment,
34
+ :is_crawler, :inet_aton_ip, :longitude, :latitude,
35
+ :music_category, :order_num, :is_pick,
36
+ :rich_intro, :short_intro, :comment_content, :comment_id,
37
+ :dig_status, :approved_at,
38
+ :is_deleted,
39
+ :mp3size, :mp3size_32, :mp3size_64, :waveform,
40
+ :created_at, :updated_at, :upload_id, :id,
41
+ :source_url, :status, :explore_height, :download_size
42
+
43
+
44
+ # op_type --- 1:自己传的 /2:转发(根据原track产生又一条record记录)
45
+ # track_id track_upload_source --- 声音id 上传源
46
+ # track_uid --- 声音用户id
47
+ # comment_content --- 转发时输入的评论
48
+
49
+ validates :uid, presence: true
50
+
51
+ OP_TYPE = { UPLOAD: 1, RELAY: 2 }
52
+
53
+ before_save do |r|
54
+ unless r.id
55
+ r.id = TrackRecord.next_id
56
+ end
57
+ end
58
+
59
+ after_destroy do |r|
60
+ tir = TrackInRecord.shard(r.track_id).where(id: r.id).first
61
+ tir.destroy if tir
62
+ end
63
+
64
+ end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../track_rich_node', __FILE__)
2
+ require File.expand_path('../track_rich_origin', __FILE__)
3
+
4
+ class TrackRich < TrackRichOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(TrackRichNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ TrackRichNode.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 = TrackRich.gtn(r.track_id)
21
+ unless r.id
22
+ r.id = TrackRich.next_id
23
+ end
24
+ end
25
+
26
+ before_destroy do |r|
27
+ r.class.table_name = TrackRich.gtn(r.track_id)
28
+ end
29
+
30
+ end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class TrackRichNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_track_rich_node' # 声音记录分表节点
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+
10
+ end
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../../extenders/track_rich_extender', __FILE__)
2
+
3
+ class TrackRichOrigin < ActiveRecord::Base
4
+ extend TrackRichExtender
5
+
6
+ # 声音富文本 分表 根据 track_id
7
+ self.table_name = 'tb_track_rich'
8
+
9
+ attr_accessible :track_id,
10
+ :rich_intro,
11
+ :mid_intro,
12
+ :lyric
13
+
14
+ # track_id --- 声音id
15
+ # rich_intro --- 带格式完整介绍
16
+ # mid_intro --- 未使用
17
+ # lyric --- 歌词
18
+
19
+ validates :track_id, presence: true
20
+
21
+ before_save do |r|
22
+ unless r.id
23
+ r.id = TrackRich.next_id
24
+ end
25
+ end
26
+
27
+ after_save do |r|
28
+ RICKREDIS.del("t_e_#{r.track_id}_2")
29
+ end
30
+
31
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path('../track_set_node', __FILE__)
2
+ require File.expand_path('../track_set_origin', __FILE__)
3
+
4
+ class TrackSet < TrackSetOrigin
5
+
6
+ def self.shard(key)
7
+ Object.const_get(TrackSetNode.seek(key).class_name)
8
+ end
9
+
10
+ def self.gtn(key)
11
+ TrackSetNode.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 = TrackSet.gtn(r.id)
21
+ end
22
+
23
+ before_destroy do |r|
24
+ r.class.table_name = TrackSet.gtn(r.id)
25
+ end
26
+
27
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../../extenders/class_node', __FILE__)
2
+
3
+ class TrackSetNode < ActiveRecord::Base
4
+ extend ClassNode
5
+
6
+ self.table_name = 'tb_track_set_node'
7
+
8
+ attr_accessible :node, :table_name, :class_name
9
+ end
@@ -0,0 +1,147 @@
1
+ require File.expand_path('../../extenders/track_set_extender', __FILE__)
2
+
3
+ class TrackSetOrigin < ActiveRecord::Base
4
+ extend TrackSetExtender
5
+
6
+ # 专辑 根据id分表, id同album.id
7
+ self.table_name = 'tb_album'
8
+
9
+ attr_accessible :op_type,
10
+ :is_publish,
11
+ :uid, :nickname, :avatar_path, :is_v, :human_category_id,
12
+ :title, :intro, :short_intro, :rich_intro,
13
+ :user_source,
14
+ :category_id,
15
+ :cover_path,
16
+ :tags, :extra_tags,
17
+ :is_public,
18
+ :music_category,
19
+ :tracks_order,
20
+ :is_crawler,
21
+ :is_deleted,:created_at, :updated_at, :id,
22
+ :source_url,
23
+ :is_records_desc,
24
+ :last_uptrack_at, :last_uptrack_id, :last_uptrack_title, :last_uptrack_cover_path,
25
+ :status, :dig_status, :is_finished
26
+
27
+ # op_type --- 1:自己传的 /2:转发
28
+ # is_publish --- 是否发布
29
+ # uid nickname avatar_path is_v human_category_id --- 用户id 昵称 头像地址 是否加v 用户分类id
30
+ # title intro short_intro rich_intro --- 标题 简介(不带格式) 短简介(不带格式) 收起的富简介(展开见track_set_rich.rich_intro)
31
+ # user_source --- 专辑来源 1:原创/2:采集
32
+ # category_id --- 分类id
33
+ # cover_path --- 专辑专辑封面路径原
34
+ # tags extra_tags --- 标签(逗号分隔) 额外标签
35
+ # is_public --- 是否公开
36
+ # music_category --- 音乐归类
37
+ # tracks_order --- 声音记录id排序 '3,2,1'(非爬虫专辑的排序依据)
38
+ # is_crawler --- 是否爬虫
39
+ # is_deleted --- 是否已删除
40
+ # source_url --- 专辑来源地址
41
+ # is_records_desc --- 真人专辑:新上传声音是否插在第一个, 爬虫专辑:声音记录是否倒序取
42
+ # last_uptrack_at last_uptrack_id last_uptrack_title last_uptrack_cover_path --- 最后更新声音 时间 id 标题 封面
43
+ # status --- 0: 待审核 1: 已通过 2: 已拒绝
44
+ # dig_status --- 去发现页状态 0:待审核/1:去发现页/2:不去
45
+
46
+ after_save do |r|
47
+ TrackSet.del_cache(r)
48
+ end
49
+
50
+ after_destroy do |r|
51
+ TrackSet.del_cache(r)
52
+ end
53
+
54
+ def to_topic_hash
55
+ {
56
+ created_at: self.created_at,
57
+ updated_at: self.updated_at,
58
+ id: self.id,
59
+ uid: self.uid,
60
+ nickname: self.nickname,
61
+ avatar_path: self.avatar_path,
62
+ is_v: self.is_v,
63
+ human_category_id: self.human_category_id,
64
+ is_public: self.is_public,
65
+ is_publish: self.is_publish,
66
+ user_source: self.user_source,
67
+ category_id: self.category_id,
68
+ tags: self.tags,
69
+ title: self.title,
70
+ intro: self.intro,
71
+ cover_path: self.cover_path,
72
+ music_category: self.music_category,
73
+ is_deleted: self.is_deleted,
74
+ status: self.status,
75
+ dig_status: self.dig_status,
76
+ extra_tags: self.extra_tags
77
+ }
78
+ end
79
+
80
+ def self.hashlize(obj)
81
+ {
82
+ id: obj.id,
83
+ uid: obj.uid,
84
+ nickname: obj.nickname,
85
+ avatar_path: obj.avatar_path,
86
+ is_v: obj.is_v,
87
+ is_public: obj.is_public,
88
+ is_publish: obj.is_publish,
89
+ user_source: obj.user_source,
90
+ category_id: obj.category_id,
91
+ tags: obj.tags,
92
+ title: obj.title,
93
+ intro: obj.intro,
94
+ cover_path: obj.cover_path,
95
+ created_at: obj.created_at,
96
+ updated_at: obj.updated_at,
97
+ music_category: obj.music_category,
98
+ tracks_order: obj.tracks_order,
99
+ is_crawler: obj.is_crawler,
100
+ rich_intro: obj.rich_intro,
101
+ op_type: obj.op_type,
102
+ short_intro: obj.short_intro,
103
+ is_deleted: obj.is_deleted,
104
+ source_url: obj.source_url,
105
+ is_records_desc: obj.is_records_desc,
106
+ last_uptrack_at: obj.last_uptrack_at,
107
+ last_uptrack_id: obj.last_uptrack_id,
108
+ last_uptrack_title: obj.last_uptrack_title,
109
+ last_uptrack_cover_path: obj.last_uptrack_cover_path,
110
+ status: obj.status,
111
+ dig_status: obj.dig_status,
112
+ human_category_id: obj.human_category_id
113
+ }
114
+ end
115
+
116
+ def is_publish_disp
117
+ case self.is_publish
118
+ when true
119
+ '审核通过'
120
+ when false
121
+ '审核不通过'
122
+ else
123
+ '审核通过'
124
+ end
125
+ end
126
+
127
+ def user_source_disp
128
+ case user_source
129
+ when 1
130
+ '原创'
131
+ when 2
132
+ '采集'
133
+ else
134
+ ''
135
+ end
136
+ end
137
+
138
+ def is_crawler_disp
139
+ case self.is_crawler
140
+ when true
141
+ '爬虫'
142
+ when false
143
+ '用户'
144
+ end
145
+ end
146
+
147
+ end