ting_model 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/README.md +41 -0
- data/Rakefile +1 -0
- data/gen_shards.rb +59 -0
- data/lib/extenders/album_extender.rb +9 -0
- data/lib/extenders/block_avatar_extender.rb +5 -0
- data/lib/extenders/chat_extender.rb +5 -0
- data/lib/extenders/class_node.rb +21 -0
- data/lib/extenders/comment_extender.rb +5 -0
- data/lib/extenders/favorite_album_extender.rb +5 -0
- data/lib/extenders/favorite_extender.rb +5 -0
- data/lib/extenders/following_extender.rb +13 -0
- data/lib/extenders/following_group_extender.rb +5 -0
- data/lib/extenders/following_tag_extender.rb +5 -0
- data/lib/extenders/followingx2_group_extender.rb +5 -0
- data/lib/extenders/inbox_extender.rb +5 -0
- data/lib/extenders/linkman_extender.rb +5 -0
- data/lib/extenders/outbox_extender.rb +5 -0
- data/lib/extenders/track_block_extender.rb +5 -0
- data/lib/extenders/track_extender.rb +5 -0
- data/lib/extenders/track_in_record_extender.rb +76 -0
- data/lib/extenders/track_picture_extender.rb +5 -0
- data/lib/extenders/track_record_extender.rb +5 -0
- data/lib/extenders/track_rich_extender.rb +5 -0
- data/lib/extenders/track_set_extender.rb +79 -0
- data/lib/extenders/track_set_rich_extender.rb +5 -0
- data/lib/extenders/user_tag_extender.rb +5 -0
- data/lib/ting_model.rb +1 -0
- data/lib/ting_model/advertisement.rb +5 -0
- data/lib/ting_model/advertisement_new.rb +4 -0
- data/lib/ting_model/album.rb +31 -0
- data/lib/ting_model/album_node.rb +9 -0
- data/lib/ting_model/album_origin.rb +137 -0
- data/lib/ting_model/album_pod.rb +8 -0
- data/lib/ting_model/album_podcat.rb +8 -0
- data/lib/ting_model/android_channel.rb +4 -0
- data/lib/ting_model/android_channel_binding.rb +7 -0
- data/lib/ting_model/announcement.rb +12 -0
- data/lib/ting_model/app_recommend.rb +55 -0
- data/lib/ting_model/application_v_category.rb +5 -0
- data/lib/ting_model/approve_group.rb +4 -0
- data/lib/ting_model/approving_track.rb +4 -0
- data/lib/ting_model/approving_track_log.rb +4 -0
- data/lib/ting_model/audit_log.rb +5 -0
- data/lib/ting_model/baidu_count.rb +4 -0
- data/lib/ting_model/bind_user.rb +7 -0
- data/lib/ting_model/binding_app.rb +4 -0
- data/lib/ting_model/biting.rb +4 -0
- data/lib/ting_model/black_user.rb +9 -0
- data/lib/ting_model/block_avatar.rb +31 -0
- data/lib/ting_model/block_avatar_node.rb +10 -0
- data/lib/ting_model/block_avatar_origin.rb +24 -0
- data/lib/ting_model/category.rb +20 -0
- data/lib/ting_model/category_icon_version.rb +12 -0
- data/lib/ting_model/chat.rb +31 -0
- data/lib/ting_model/chat_node.rb +10 -0
- data/lib/ting_model/chat_origin.rb +32 -0
- data/lib/ting_model/comment.rb +80 -0
- data/lib/ting_model/comment_node.rb +10 -0
- data/lib/ting_model/comment_origin.rb +116 -0
- data/lib/ting_model/dead_album.rb +8 -0
- data/lib/ting_model/dead_track.rb +8 -0
- data/lib/ting_model/dead_user.rb +7 -0
- data/lib/ting_model/default_follow.rb +6 -0
- data/lib/ting_model/delayed_album.rb +26 -0
- data/lib/ting_model/delayed_publish.rb +4 -0
- data/lib/ting_model/delayed_track.rb +43 -0
- data/lib/ting_model/discovery_page.rb +17 -0
- data/lib/ting_model/editor_recommend.rb +5 -0
- data/lib/ting_model/favorite.rb +59 -0
- data/lib/ting_model/favorite_album.rb +50 -0
- data/lib/ting_model/favorite_album_node.rb +9 -0
- data/lib/ting_model/favorite_album_origin.rb +88 -0
- data/lib/ting_model/favorite_node.rb +10 -0
- data/lib/ting_model/favorite_origin.rb +138 -0
- data/lib/ting_model/feed.rb +159 -0
- data/lib/ting_model/file_upload.rb +4 -0
- data/lib/ting_model/file_upload_record.rb +4 -0
- data/lib/ting_model/focus.rb +16 -0
- data/lib/ting_model/focus_album.rb +9 -0
- data/lib/ting_model/focus_current.rb +10 -0
- data/lib/ting_model/focus_track.rb +17 -0
- data/lib/ting_model/focus_user.rb +7 -0
- data/lib/ting_model/follower.rb +27 -0
- data/lib/ting_model/follower_node.rb +10 -0
- data/lib/ting_model/follower_origin.rb +34 -0
- data/lib/ting_model/follower_tag.rb +27 -0
- data/lib/ting_model/follower_tag_node.rb +10 -0
- data/lib/ting_model/follower_tag_origin.rb +14 -0
- data/lib/ting_model/followerx2_group.rb +27 -0
- data/lib/ting_model/followerx2_group_node.rb +10 -0
- data/lib/ting_model/followerx2_group_origin.rb +12 -0
- data/lib/ting_model/following.rb +57 -0
- data/lib/ting_model/following_group.rb +31 -0
- data/lib/ting_model/following_group_node.rb +10 -0
- data/lib/ting_model/following_group_origin.rb +29 -0
- data/lib/ting_model/following_node.rb +10 -0
- data/lib/ting_model/following_origin.rb +72 -0
- data/lib/ting_model/following_tag.rb +52 -0
- data/lib/ting_model/following_tag_node.rb +10 -0
- data/lib/ting_model/following_tag_origin.rb +59 -0
- data/lib/ting_model/followingx2_group.rb +31 -0
- data/lib/ting_model/followingx2_group_node.rb +10 -0
- data/lib/ting_model/followingx2_group_origin.rb +23 -0
- data/lib/ting_model/human_category.rb +17 -0
- data/lib/ting_model/human_recommend_album.rb +8 -0
- data/lib/ting_model/human_recommend_album_category_tag.rb +4 -0
- data/lib/ting_model/human_recommend_album_tag.rb +4 -0
- data/lib/ting_model/human_recommend_category_album.rb +7 -0
- data/lib/ting_model/human_recommend_category_tag.rb +6 -0
- data/lib/ting_model/human_recommend_category_tag_album.rb +7 -0
- data/lib/ting_model/human_recommend_category_tag_track.rb +11 -0
- data/lib/ting_model/human_recommend_category_tag_user.rb +7 -0
- data/lib/ting_model/human_recommend_category_track.rb +11 -0
- data/lib/ting_model/human_recommend_category_user.rb +7 -0
- data/lib/ting_model/human_recommend_tag.rb +5 -0
- data/lib/ting_model/human_recommend_tag_album.rb +7 -0
- data/lib/ting_model/human_recommend_tag_track.rb +9 -0
- data/lib/ting_model/human_recommend_tag_user.rb +7 -0
- data/lib/ting_model/human_recommend_track.rb +9 -0
- data/lib/ting_model/human_recommend_user.rb +7 -0
- data/lib/ting_model/icon_version.rb +7 -0
- data/lib/ting_model/inbox.rb +31 -0
- data/lib/ting_model/inbox_node.rb +10 -0
- data/lib/ting_model/inbox_origin.rb +59 -0
- data/lib/ting_model/latest_album.rb +9 -0
- data/lib/ting_model/latest_favorite.rb +10 -0
- data/lib/ting_model/latest_track.rb +10 -0
- data/lib/ting_model/linkman.rb +30 -0
- data/lib/ting_model/linkman_node.rb +10 -0
- data/lib/ting_model/linkman_origin.rb +26 -0
- data/lib/ting_model/liteapp.rb +7 -0
- data/lib/ting_model/liteapp_album.rb +4 -0
- data/lib/ting_model/liteapp_tag.rb +4 -0
- data/lib/ting_model/lover.rb +27 -0
- data/lib/ting_model/lover_album.rb +27 -0
- data/lib/ting_model/lover_album_node.rb +9 -0
- data/lib/ting_model/lover_album_origin.rb +39 -0
- data/lib/ting_model/lover_node.rb +10 -0
- data/lib/ting_model/lover_origin.rb +45 -0
- data/lib/ting_model/m_user.rb +8 -0
- data/lib/ting_model/message_log.rb +4 -0
- data/lib/ting_model/message_picture.rb +5 -0
- data/lib/ting_model/meta.rb +4 -0
- data/lib/ting_model/mixing_album.rb +7 -0
- data/lib/ting_model/mobad_stat.rb +9 -0
- data/lib/ting_model/news.rb +16 -0
- data/lib/ting_model/out_link.rb +7 -0
- data/lib/ting_model/outbox.rb +31 -0
- data/lib/ting_model/outbox_node.rb +10 -0
- data/lib/ting_model/outbox_origin.rb +59 -0
- data/lib/ting_model/outlink_stat.rb +4 -0
- data/lib/ting_model/personal_setting.rb +26 -0
- data/lib/ting_model/push_message.rb +4 -0
- data/lib/ting_model/receive_laya.rb +9 -0
- data/lib/ting_model/recommend_album.rb +7 -0
- data/lib/ting_model/recommend_category_album.rb +7 -0
- data/lib/ting_model/recommend_category_tag.rb +5 -0
- data/lib/ting_model/recommend_category_tag_album.rb +7 -0
- data/lib/ting_model/recommend_category_tag_track.rb +9 -0
- data/lib/ting_model/recommend_category_tag_user.rb +7 -0
- data/lib/ting_model/recommend_category_track.rb +9 -0
- data/lib/ting_model/recommend_category_user.rb +7 -0
- data/lib/ting_model/recommend_tag.rb +15 -0
- data/lib/ting_model/recommend_tag_album.rb +7 -0
- data/lib/ting_model/recommend_tag_track.rb +9 -0
- data/lib/ting_model/recommend_tag_user.rb +7 -0
- data/lib/ting_model/recommend_track.rb +9 -0
- data/lib/ting_model/recommend_user.rb +7 -0
- data/lib/ting_model/reject_reason.rb +17 -0
- data/lib/ting_model/report.rb +33 -0
- data/lib/ting_model/report_information.rb +29 -0
- data/lib/ting_model/search_black_uid.rb +7 -0
- data/lib/ting_model/search_key.rb +6 -0
- data/lib/ting_model/send_msg.rb +4 -0
- data/lib/ting_model/shards.rb +2626 -0
- data/lib/ting_model/sms.rb +19 -0
- data/lib/ting_model/special.rb +17 -0
- data/lib/ting_model/special_album.rb +4 -0
- data/lib/ting_model/special_track.rb +4 -0
- data/lib/ting_model/sub_app_advertisement_new.rb +4 -0
- data/lib/ting_model/subappad_stat.rb +9 -0
- data/lib/ting_model/system_configuration.rb +5 -0
- data/lib/ting_model/temp_blob.rb +5 -0
- data/lib/ting_model/track.rb +30 -0
- data/lib/ting_model/track_block.rb +46 -0
- data/lib/ting_model/track_block_node.rb +10 -0
- data/lib/ting_model/track_block_origin.rb +69 -0
- data/lib/ting_model/track_in_record.rb +27 -0
- data/lib/ting_model/track_in_record_node.rb +10 -0
- data/lib/ting_model/track_in_record_origin.rb +134 -0
- data/lib/ting_model/track_node.rb +9 -0
- data/lib/ting_model/track_origin.rb +224 -0
- data/lib/ting_model/track_picture.rb +32 -0
- data/lib/ting_model/track_picture_node.rb +10 -0
- data/lib/ting_model/track_picture_origin.rb +26 -0
- data/lib/ting_model/track_record.rb +31 -0
- data/lib/ting_model/track_record_node.rb +9 -0
- data/lib/ting_model/track_record_origin.rb +64 -0
- data/lib/ting_model/track_rich.rb +30 -0
- data/lib/ting_model/track_rich_node.rb +10 -0
- data/lib/ting_model/track_rich_origin.rb +31 -0
- data/lib/ting_model/track_set.rb +27 -0
- data/lib/ting_model/track_set_node.rb +9 -0
- data/lib/ting_model/track_set_origin.rb +147 -0
- data/lib/ting_model/track_set_rich.rb +30 -0
- data/lib/ting_model/track_set_rich_node.rb +10 -0
- data/lib/ting_model/track_set_rich_origin.rb +24 -0
- data/lib/ting_model/uid_approve_group.rb +4 -0
- data/lib/ting_model/upload_track_share_temp.rb +6 -0
- data/lib/ting_model/user_link.rb +10 -0
- data/lib/ting_model/user_log.rb +33 -0
- data/lib/ting_model/user_tag.rb +31 -0
- data/lib/ting_model/user_tag_node.rb +10 -0
- data/lib/ting_model/user_tag_origin.rb +23 -0
- data/lib/ting_model/user_v_category.rb +8 -0
- data/lib/ting_model/v_application.rb +35 -0
- data/lib/ting_model/v_category.rb +7 -0
- data/lib/ting_model/v_user.rb +7 -0
- data/lib/ting_model/varification_code.rb +6 -0
- data/lib/ting_model/web_advertisement.rb +6 -0
- data/lib/ting_model/web_discovery_page.rb +10 -0
- data/lib/ting_model/web_recommend.rb +6 -0
- data/lib/ting_model/weixin_account.rb +8 -0
- data/lib/ting_model/weixin_keyword.rb +4 -0
- data/lib/ting_model/weixin_monitor.rb +4 -0
- data/ting_model.gemspec +251 -0
- metadata +313 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.expand_path('../following_tag_node', __FILE__)
|
2
|
+
require File.expand_path('../following_tag_origin', __FILE__)
|
3
|
+
|
4
|
+
class FollowingTag < FollowingTagOrigin
|
5
|
+
|
6
|
+
def self.shard(key)
|
7
|
+
Object.const_get(FollowingTagNode.seek(key).class_name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.gtn(key)
|
11
|
+
FollowingTagNode.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 = FollowingTag.gtn(r.uid)
|
21
|
+
|
22
|
+
unless r.id
|
23
|
+
r.id = FollowingTag.next_id
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
after_save do |r|
|
28
|
+
hash = r.attributes
|
29
|
+
hash.delete_if{|k,v| %w(id created_at updated_at).include? k }
|
30
|
+
|
31
|
+
follower_tag = FollowerTag.shard(r.tname).where(id: r.id).first
|
32
|
+
unless follower_tag
|
33
|
+
# 创建
|
34
|
+
follower_tag = FollowerTag.shard(r.tname).new
|
35
|
+
follower_tag.id = r.id
|
36
|
+
follower_tag.created_at = r.created_at
|
37
|
+
follower_tag.updated_at = r.updated_at
|
38
|
+
end
|
39
|
+
follower_tag.update_attributes(hash)
|
40
|
+
end
|
41
|
+
|
42
|
+
before_destroy do |r|
|
43
|
+
r.class.table_name = FollowingTag.gtn(r.uid)
|
44
|
+
end
|
45
|
+
|
46
|
+
after_destroy do |r|
|
47
|
+
# 删副本
|
48
|
+
follower_tag = FollowerTag.shard(r.tname).where(id: r.id).first
|
49
|
+
follower_tag.destroy if follower_tag
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.expand_path('../../extenders/following_tag_extender', __FILE__)
|
2
|
+
require File.expand_path('../follower_tag', __FILE__)
|
3
|
+
|
4
|
+
class FollowingTagOrigin < ActiveRecord::Base
|
5
|
+
extend FollowingTagExtender
|
6
|
+
|
7
|
+
# 关注标签 根据uid分表
|
8
|
+
self.table_name = 'tb_follow_tag'
|
9
|
+
|
10
|
+
attr_accessible :uid, :tag_id,
|
11
|
+
:tname, :cover_path
|
12
|
+
|
13
|
+
# uid --- 用户id
|
14
|
+
# tag_id --- 未使用
|
15
|
+
# tname --- 标签
|
16
|
+
# cover_path --- 标签图标
|
17
|
+
|
18
|
+
validates :uid, presence: true
|
19
|
+
|
20
|
+
before_save do |r|
|
21
|
+
unless r.id
|
22
|
+
r.id = FollowingTag.next_id
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
after_save do |r|
|
27
|
+
hash = r.attributes
|
28
|
+
hash.delete_if{|k,v| %w(id created_at updated_at).include? k }
|
29
|
+
|
30
|
+
follower_tag = FollowerTag.shard(r.tname).where(id: r.id).first
|
31
|
+
unless follower_tag
|
32
|
+
# 创建
|
33
|
+
follower_tag = FollowerTag.shard(r.tname).new
|
34
|
+
follower_tag.id = r.id
|
35
|
+
follower_tag.created_at = r.created_at
|
36
|
+
follower_tag.updated_at = r.updated_at
|
37
|
+
end
|
38
|
+
follower_tag.update_attributes(hash)
|
39
|
+
end
|
40
|
+
|
41
|
+
after_destroy do |r|
|
42
|
+
# 删副本
|
43
|
+
follower_tag = FollowerTag.shard(r.tname).where(id: r.id).first
|
44
|
+
follower_tag.destroy if follower_tag
|
45
|
+
end
|
46
|
+
|
47
|
+
def to_topic_hash
|
48
|
+
{
|
49
|
+
created_at: self.created_at,
|
50
|
+
updated_at: self.updated_at,
|
51
|
+
id: self.id,
|
52
|
+
uid: self.uid,
|
53
|
+
tag_id: self.tag_id,
|
54
|
+
tname: self.tname,
|
55
|
+
cover_path: self.cover_path
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.expand_path('../followingx2_group_node', __FILE__)
|
2
|
+
require File.expand_path('../followingx2_group_origin', __FILE__)
|
3
|
+
|
4
|
+
class Followingx2Group < Followingx2GroupOrigin
|
5
|
+
|
6
|
+
def self.shard(key)
|
7
|
+
Object.const_get(Followingx2GroupNode.seek(key).class_name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.gtn(key)
|
11
|
+
Followingx2GroupNode.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 = Followingx2Group.gtn(r.uid)
|
21
|
+
|
22
|
+
unless r.id
|
23
|
+
r.id = Followingx2Group.next_id
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
before_destroy do |r|
|
28
|
+
r.class.table_name = Followingx2Group.gtn(r.uid)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path('../../extenders/followingx2_group_extender', __FILE__)
|
2
|
+
|
3
|
+
class Followingx2GroupOrigin < ActiveRecord::Base
|
4
|
+
extend Followingx2GroupExtender
|
5
|
+
|
6
|
+
self.table_name = 'tb_followingx2_group' # 关注 一对多 分组
|
7
|
+
|
8
|
+
attr_accessible :uid, :following_id, :following_group_id, :is_deleted
|
9
|
+
|
10
|
+
# uid --- 用户id
|
11
|
+
# following_id --- 关注id
|
12
|
+
# following_group_id --- 分组id
|
13
|
+
# is_deleted --- 未使用
|
14
|
+
|
15
|
+
validates :uid, presence: true
|
16
|
+
|
17
|
+
before_save do |r|
|
18
|
+
unless r.id
|
19
|
+
r.id = Followingx2Group.next_id
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class HumanCategory < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_category' # 人的分类
|
3
|
+
|
4
|
+
attr_accessible :name, :title, :parent_id, :order_num, :is_deleted, :icon_ios_low_path, :icon_ios_high_path, :icon_android_low_path, :icon_android_high_path, :is_display
|
5
|
+
|
6
|
+
# name --- 分类名
|
7
|
+
# title --- 显示标题
|
8
|
+
# parent_id --- 父id
|
9
|
+
# order_num --- 排序号
|
10
|
+
# is_deleted --- 是否已删除
|
11
|
+
# icon_ios_low_path --- ios低清图标
|
12
|
+
# icon_ios_high_path --- ios高清图标
|
13
|
+
# icon_android_low_path --- android低清图标
|
14
|
+
# icon_android_high_path --- android高清图标
|
15
|
+
# is_display --- 是否显示
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class HumanRecommendAlbum < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_album'
|
3
|
+
attr_accessible :album_id, :position, :begin_at, :end_at,
|
4
|
+
:album_uid, :album_nickname, :tags, :title, :intro,
|
5
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
6
|
+
:album_created_at
|
7
|
+
|
8
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendCategoryAlbum < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_album' # 人工推荐分类专辑
|
3
|
+
attr_accessible :category_id, :album_id, :position, :begin_at, :end_at,
|
4
|
+
:album_uid, :album_nickname, :tags, :title, :intro,
|
5
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
6
|
+
:album_created_at
|
7
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendCategoryTagAlbum < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_tag_album' # 人工推荐分类标签专辑
|
3
|
+
attr_accessible :category_id, :tag_id, :tname, :album_id, :position, :begin_at, :end_at,
|
4
|
+
:album_uid, :album_nickname, :tags, :title, :intro,
|
5
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
6
|
+
:album_created_at
|
7
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class HumanRecommendCategoryTagTrack < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_tag_track' # 人工推荐分类标签声音
|
3
|
+
|
4
|
+
attr_accessible :category_id, :tag_id, :tname, :track_id, :position, :begin_at, :end_at,
|
5
|
+
:track_uid, :track_nickname, :title, :duration,
|
6
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
7
|
+
:tags, :intro, :play_path, :play_path_128, :play_path_64, :play_path_32, :download_path,
|
8
|
+
:track_created_at, :allow_download, :allow_comment, :album_id, :album_title, :album_cover_path
|
9
|
+
belongs_to :track
|
10
|
+
belongs_to :category
|
11
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendCategoryTagUser < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_tag_user' # 人工推荐分类标签用户
|
3
|
+
|
4
|
+
attr_accessible :category_id, :tag_id, :tname, :uid, :position, :begin_at, :end_at,
|
5
|
+
:nickname, :avatar_path, :avatar_path_small, :avatar_path_middle,
|
6
|
+
:avatar_path_large, :personal_signature, :country, :province, :city, :town, :reason
|
7
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class HumanRecommendCategoryTrack < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_track' # 人工推荐分类声音
|
3
|
+
|
4
|
+
attr_accessible :track_id, :begin_at, :category_id, :end_at, :position,
|
5
|
+
:track_uid, :track_nickname, :title, :duration,
|
6
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
7
|
+
:tags, :intro, :play_path, :play_path_128, :play_path_64, :play_path_32, :download_path,
|
8
|
+
:track_created_at, :allow_download, :allow_comment, :album_id, :album_title, :album_cover_path
|
9
|
+
belongs_to :track
|
10
|
+
belongs_to :category
|
11
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendCategoryUser < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_category_user' # 人工推荐分类用户
|
3
|
+
|
4
|
+
attr_accessible :category_id, :uid, :position, :begin_at, :end_at,
|
5
|
+
:nickname, :avatar_path, :avatar_path_small, :avatar_path_middle,
|
6
|
+
:avatar_path_large, :personal_signature, :country, :province, :city, :town, :reason
|
7
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendTagAlbum < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_tag_album' # 人工推荐标签声音
|
3
|
+
attr_accessible :tag_id, :tname, :album_id, :position, :begin_at, :end_at,
|
4
|
+
:album_uid, :album_nickname, :tags, :title, :intro,
|
5
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
6
|
+
:album_created_at
|
7
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class HumanRecommendTagTrack < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_tag_track' # 人工推荐标签声音
|
3
|
+
|
4
|
+
attr_accessible :track_id, :begin_at, :tag_id, :tname, :end_at, :position,
|
5
|
+
:track_uid, :track_nickname, :title, :duration,
|
6
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
7
|
+
:tags, :intro, :play_path, :play_path_128, :play_path_64, :play_path_32, :download_path,
|
8
|
+
:track_created_at, :allow_download, :allow_comment, :album_id, :album_title, :album_cover_path
|
9
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendTagUser < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_tag_user' # 人工推荐标签用户
|
3
|
+
|
4
|
+
attr_accessible :tag_id, :tname, :uid, :position, :begin_at, :end_at,
|
5
|
+
:nickname, :avatar_path, :avatar_path_small, :avatar_path_middle,
|
6
|
+
:avatar_path_large, :personal_signature, :country, :province, :city, :town, :reason
|
7
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class HumanRecommendTrack < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_track' # 人工推荐声音
|
3
|
+
|
4
|
+
attr_accessible :track_id, :begin_at, :end_at, :position,
|
5
|
+
:track_uid, :track_nickname, :title, :duration,
|
6
|
+
:cover_path, :cover_path_small, :cover_path_middle, :cover_path_large, :cover_path_wide,
|
7
|
+
:tags, :intro, :play_path, :play_path_128, :play_path_64, :play_path_32, :download_path,
|
8
|
+
:track_created_at, :allow_download, :allow_comment, :album_id, :album_title, :album_cover_path
|
9
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class HumanRecommendUser < ActiveRecord::Base
|
2
|
+
self.table_name = 'tb_human_recommend_user' # 人工推荐用户
|
3
|
+
|
4
|
+
attr_accessible :uid, :position, :begin_at, :end_at,
|
5
|
+
:nickname, :avatar_path, :avatar_path_small, :avatar_path_middle,
|
6
|
+
:avatar_path_large, :personal_signature, :country, :province, :city, :town, :reason
|
7
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.expand_path('../inbox_node', __FILE__)
|
2
|
+
require File.expand_path('../inbox_origin', __FILE__)
|
3
|
+
|
4
|
+
class Inbox < InboxOrigin
|
5
|
+
|
6
|
+
def self.shard(key)
|
7
|
+
Object.const_get(InboxNode.seek(key).class_name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.gtn(key)
|
11
|
+
InboxNode.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 = Inbox.gtn(r.to_uid)
|
21
|
+
|
22
|
+
unless r.id
|
23
|
+
r.id = Inbox.next_id
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
before_destroy do |r|
|
28
|
+
r.class.table_name = Inbox.gtn(r.to_uid)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.expand_path('../../extenders/inbox_extender', __FILE__)
|
2
|
+
|
3
|
+
class InboxOrigin < ActiveRecord::Base
|
4
|
+
extend InboxExtender
|
5
|
+
|
6
|
+
# 消息 根据to_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 :to_uid, presence: true
|
52
|
+
|
53
|
+
before_save do |r|
|
54
|
+
unless r.id
|
55
|
+
r.id = Inbox.next_id
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|