subapp_model 1.0.6 → 1.0.7
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.
- checksums.yaml +4 -4
- data/lib/subapp_model/app.rb +113 -0
- data/lib/subapp_model/app_ad.rb +6 -0
- data/lib/subapp_model/app_ad_changelog.rb +6 -0
- data/lib/subapp_model/app_ad_material.rb +6 -0
- data/lib/subapp_model/app_album.rb +16 -0
- data/lib/subapp_model/app_bozhu.rb +20 -0
- data/lib/subapp_model/app_category.rb +6 -0
- data/lib/subapp_model/app_material.rb +5 -0
- data/lib/subapp_model/app_tag.rb +6 -0
- data/lib/subapp_model/font.rb +5 -0
- data/lib/subapp_model/selected_albums.rb +44 -0
- data/lib/subapp_model/selected_albums_relation.rb +29 -0
- data/lib/subapp_model/skin.rb +5 -0
- data/lib/subapp_model/sub_app_advertisement.rb +7 -0
- data/lib/subapp_model/sub_app_log.rb +21 -0
- data/lib/subapp_model/sub_app_recommend.rb +55 -0
- data/lib/subapp_model/subapp_push_app.rb +5 -0
- data/lib/subapp_model/subapp_push_msg.rb +5 -0
- data/lib/subapp_model/version.rb +3 -0
- data/lib/subapp_model.rb +39 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f970fd3323a760c8feaaa3a082fd28f4f535789d
|
4
|
+
data.tar.gz: 351dbb56f7fa997931e33a0c57edff1d0b2d3617
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58d1d011d89334ecabb4dc4e11beedc45e60075813c2468851581af354433959dda00a62350ebb4143525b54456fa0bace1184f6703b67feb2ec3daade255588
|
7
|
+
data.tar.gz: 78e58fa512e3d62e0c0941d19dda3f27b2fd89ca52051eb253511378f221fed16676a28215f2f51da0bb1e35af97d3910bb9225ac29cc701da401381f90662db
|
@@ -0,0 +1,113 @@
|
|
1
|
+
#-*- encoding: utf-8 -*-
|
2
|
+
class App < ActiveRecord::Base
|
3
|
+
self.table_name = 'tb_app' # 子app
|
4
|
+
establish_connection SUBAPP_DB
|
5
|
+
attr_accessible :title,
|
6
|
+
:name, # 拼音
|
7
|
+
:content_type, # 1:多人 2:单人 3:单专辑
|
8
|
+
:is_published, # 是否发布过
|
9
|
+
:app_icon_path,
|
10
|
+
:app_icon_default,
|
11
|
+
:app_icon_57_path,
|
12
|
+
:app_icon_124_path,
|
13
|
+
:background_path,
|
14
|
+
:default_background,
|
15
|
+
:loading_icon_path,
|
16
|
+
:loading_default,
|
17
|
+
:loading_320x480_path,
|
18
|
+
:loading_640x960_path,
|
19
|
+
:loading_640x1136_path,
|
20
|
+
:loading_480x800_path,
|
21
|
+
:loading_1280x720_path,
|
22
|
+
:loading_music_path,
|
23
|
+
:loading_music_default,
|
24
|
+
:apple_appid,
|
25
|
+
:talkingdata_iphone_key,
|
26
|
+
:talkingdata_android_key,
|
27
|
+
:duomeng_ios_key, # 多盟广告ios版key
|
28
|
+
:duomeng_android_key, # 多盟广告android版key
|
29
|
+
:googlead_ios_key,
|
30
|
+
:googlead_android_key,
|
31
|
+
:weixin_ios_key,
|
32
|
+
:weixin_android_key,
|
33
|
+
:irateid,
|
34
|
+
:certificate_name, #打包用的苹果证书名
|
35
|
+
:envir, #环境 0:开发 1:测试
|
36
|
+
:app_icon_72_path, #android用
|
37
|
+
:app_icon_144_path, #android用
|
38
|
+
:channel_num, #渠道号
|
39
|
+
:baidu_ios_id, :baidu_ios_key, :baidu_android_id, :baidu_android_key, :ios_ads, :android_ads, :ios_is_upgraded, :android_is_upgraded,
|
40
|
+
:ios_is_recommended, :android_is_recommended, :ad_id, :is_push, :ios_version, :android_version, :production_id, :skin, :font,
|
41
|
+
:is_lite, :ios_is_search, :android_is_search,
|
42
|
+
:qq_ios_key, :qq_android_key,
|
43
|
+
:qq_ios_id, :qq_android_id,
|
44
|
+
:app_icon_120_path, :app_type, :file_url, :certificate_url,
|
45
|
+
:ios_is_chaping, :android_is_chaping, :ios_ad_time, :and_ad_time,
|
46
|
+
:ios_comment_lock, :android_comment_lock,
|
47
|
+
:ios_integral_wall, :android_integral_wall,
|
48
|
+
:count, :unlock, :comment, :ximalaya, :other, :ios_force_comment, :android_force_comment,
|
49
|
+
:ios_comment_time, :android_comment_time,
|
50
|
+
:android_480_skin, :android_720_skin, :android_font, :download,
|
51
|
+
:ios_is_bookstore, :android_is_bookstore, :ios_is_upgrade_in_download, :android_is_upgrade_in_download, :ios_is_upgrade_in_play, :android_is_upgrade_in_play,
|
52
|
+
:ios_is_rate_pop, :android_is_rate_pop, :ios_time_to_rate, :android_time_to_rate, :old_version_switch, :ios_is_you_mi, :android_is_you_mi, :weixin_share, :is_audit,
|
53
|
+
:pad_loading_icon_path, :ios_icon_72_path, :ios_icon_144_path, :ios_icon_76_path, :ios_icon_152_path, :pack_type, :init, :ios_is_audit_bookstore, :ios_is_banner,
|
54
|
+
:ios_is_audit_banner, :ios_ad_num, :and_ad_num,
|
55
|
+
:bookstore_type, #书城类型,1.全分类,2.单分类
|
56
|
+
:category_id #书城分类id
|
57
|
+
|
58
|
+
validates :title, :apple_appid, :name, :certificate_name, :presence => true
|
59
|
+
CONTENT_TYPES = {MUTI_BOZHU: 1, SINGLE_PERSON: 2, SINGLE_ALBUM: 3, MUTI_CATEGORY: 4, SINGLE_CATEGORY: 5, ALL_CATEGORY: 6}
|
60
|
+
# json:
|
61
|
+
# {
|
62
|
+
# id: app.id,
|
63
|
+
# title: app.title, # app名
|
64
|
+
# name: app.name, # app名
|
65
|
+
# content_type: app.content_type,
|
66
|
+
# app_icon_57_url: File.join(Settings.fdfs_root, app.app_icon_57_path), # app图标1
|
67
|
+
# app_icon_124_url: File.join(Settings.fdfs_root, app.app_icon_124_path), # app图标2
|
68
|
+
# loading_icon_320_url: picture_url('app_loading', app.loading_icon_path, '320'), # loading图标1
|
69
|
+
# loading_icon_640_960_url: picture_url('app_loading', app.loading_icon_path, '640_960'), # loading图标2
|
70
|
+
# loading_icon_640_1136_url: picture_url('app_loading', app.loading_icon_path, '640_1136'), # loading图标3
|
71
|
+
# loading_icon_480_url: picture_url('app_loading', app.loading_icon_path, '480'), # loading图标4
|
72
|
+
# loading_icon_1280_url: picture_url('app_loading', app.loading_icon_path, '1280'), # loading图标5
|
73
|
+
# talkingdata_iphone_key: app.talkingdata_iphone_key,
|
74
|
+
# talkingdata_android_key: app.talkingdata_android_key,
|
75
|
+
# duomeng_ios_key: app.duomeng_ios_key,
|
76
|
+
# duomeng_android_key: app.duomeng_android_key,
|
77
|
+
# apple_appid: app.apple_appid, # 苹果appid
|
78
|
+
# googlead_ios_key: app.googlead_ios_key,
|
79
|
+
# googlead_android_key: app.googlead_android_key,
|
80
|
+
# weixin_ios_key: app.weixin_ios_key,
|
81
|
+
# weixin_android_key: app.weixin_android_key,
|
82
|
+
# irateid: app.irateid,
|
83
|
+
# certificate_name: app.certificate_name
|
84
|
+
# }
|
85
|
+
|
86
|
+
#APP类型显示
|
87
|
+
def content_type_disp
|
88
|
+
case self.content_type
|
89
|
+
when 1
|
90
|
+
"多用户"
|
91
|
+
when 2
|
92
|
+
"单用户多专辑"
|
93
|
+
when 3
|
94
|
+
"单用户单专辑"
|
95
|
+
when 4
|
96
|
+
"多分类"
|
97
|
+
when 5
|
98
|
+
"单分类"
|
99
|
+
when 6
|
100
|
+
"全分类"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def envir_disp
|
105
|
+
case self.envir
|
106
|
+
when true
|
107
|
+
"测试"
|
108
|
+
when false
|
109
|
+
"开发"
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#-*- encoding: utf-8 -*-
|
2
|
+
class AppAlbum < ActiveRecord::Base
|
3
|
+
establish_connection SUBAPP_DB
|
4
|
+
self.table_name = 'tb_app_album' # 子App专辑
|
5
|
+
|
6
|
+
attr_accessible :album_id,
|
7
|
+
:app_id,
|
8
|
+
:uid,
|
9
|
+
:order_num,
|
10
|
+
:cover_path,
|
11
|
+
:album_title,
|
12
|
+
:album_intro
|
13
|
+
|
14
|
+
#belongs_to :app_bozhu,:foreign_key=>"uid"
|
15
|
+
#belongs_to :app
|
16
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class AppBozhu < ActiveRecord::Base
|
2
|
+
establish_connection SUBAPP_DB
|
3
|
+
self.table_name = 'tb_app_bozhu'
|
4
|
+
|
5
|
+
attr_accessible :app_id,
|
6
|
+
:uid,
|
7
|
+
:bozhu_name,
|
8
|
+
:is_all_album,
|
9
|
+
:is_auto_update,
|
10
|
+
:order_num,
|
11
|
+
:bozhu_pic
|
12
|
+
|
13
|
+
# has_many :app_album
|
14
|
+
# belongs_to :app
|
15
|
+
# has_many :app_album,:association_foreign_key=>"uid", :limit=>Settings.per_page.app_album
|
16
|
+
|
17
|
+
def self.find_by_appid(appid, limit)
|
18
|
+
return AppBozhu.where(app_id: appid).page(limit[:page_id]).per(limit[:page_size]).order("order_num asc, created_at desc")
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
#-*- encoding: utf-8 -*-
|
2
|
+
class SelectedAlbums < ActiveRecord::Base
|
3
|
+
establish_connection SUBAPP_DB
|
4
|
+
self.table_name = 'tb_selected_albums' # 子App分类类型
|
5
|
+
attr_accessible :title, :tags, :album_extra_tags, :extra_tags, :order_num, :cover_path, :category_id, :last_uptrack_at, :created_at, :updated_at
|
6
|
+
|
7
|
+
def self.get(selected_album_cache, id)
|
8
|
+
selected_album = selected_album_cache.get(id)
|
9
|
+
selected_album = self.where(id: id).first if selected_album.nil?
|
10
|
+
selected_album_cache.put(selected_album) unless selected_album.nil?
|
11
|
+
selected_album
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.mget(selected_album_cache, ids)
|
15
|
+
selected_albums = selected_album_cache.multi_get(ids)
|
16
|
+
fetch_ids_hash= {}
|
17
|
+
fetch_ids = []
|
18
|
+
selected_albums.each_with_index do |selected_album, i|
|
19
|
+
if selected_album.nil?
|
20
|
+
fetch_ids << ids[i]
|
21
|
+
fetch_ids_hash[ids[i]] = i
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
if fetch_ids.length > 0
|
26
|
+
selected_albums_not_hit = self.find(fetch_ids)
|
27
|
+
cached_selected_albums = []
|
28
|
+
|
29
|
+
selected_albums_not_hit.each_with_index do |selected_album, i|
|
30
|
+
if !selected_album.nil?
|
31
|
+
selected_albums[fetch_ids_hash[selected_album.id]] = selected_album
|
32
|
+
cached_selected_albums << selected_album
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
selected_album_cache.multi_put(cached_selected_albums) if cached_selected_albums.length > 0
|
37
|
+
end
|
38
|
+
selected_albums
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.disable_cache(selected_album_cache, id)
|
42
|
+
selected_album_cache.evict(id)
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#-*- encoding: utf-8 -*-
|
2
|
+
class SelectedAlbumsRelation < ActiveRecord::Base
|
3
|
+
establish_connection SUBAPP_DB
|
4
|
+
self.table_name = 'tb_selected_albums_relation' # 子App分类类型
|
5
|
+
attr_accessible :selected_id, :album_id, :updated_at
|
6
|
+
|
7
|
+
def self.get_album_ids(list_ids_cache, selected_album, page, limit)
|
8
|
+
id = selected_album.id
|
9
|
+
album_ids = nil
|
10
|
+
if page == 1
|
11
|
+
album_ids = list_ids_cache.get(id, page, limit)
|
12
|
+
album_ids = album_ids.collect {|id| id.to_i unless id.nil? || id.empty?}
|
13
|
+
end
|
14
|
+
|
15
|
+
if album_ids.nil? || album_ids.length == 0
|
16
|
+
select = "album_id"
|
17
|
+
album_relations = self.select(select).where(:selected_id=>id).order("field(album_id,#{selected_album.order_num})").offset((page-1)*limit).limit(limit)
|
18
|
+
album_ids = album_relations.collect{|album_relation| album_relation.album_id unless album_relation.nil?}
|
19
|
+
if page == 1 && album_ids.length > 0
|
20
|
+
list_ids_cache.put(id, album_ids)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
album_ids
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.disable_cache(list_ids_cache, id)
|
27
|
+
list_ids_cache.evict(id)
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class SubAppAdvertisement < ActiveRecord::Base
|
2
|
+
establish_connection SUBAPP_DB
|
3
|
+
self.table_name = "tb_sub_app_advertisement" #子APP广告显示
|
4
|
+
attr_accessible :channel, :column_type, :link_url, :position, :sub_app_recommend_id, :terminal, :time_at
|
5
|
+
|
6
|
+
belongs_to :sub_app_recommend
|
7
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class SubAppLog < ActiveRecord::Base
|
2
|
+
establish_connection SUBAPP_DB
|
3
|
+
self.table_name = "tb_sub_app_log" #子APP日志
|
4
|
+
attr_accessible :app_download_url, :app_id, :operator, :version, :certificate_name, :status, :backtrace, :device_type, :version_code
|
5
|
+
|
6
|
+
# status 1: 正在打包 2:打包成功 3:打包失败
|
7
|
+
# backtrace 打包日志
|
8
|
+
# device_type 1: iphone 2: ipad 3: android
|
9
|
+
|
10
|
+
def status_disp
|
11
|
+
case self.status
|
12
|
+
when 1
|
13
|
+
"打包中"
|
14
|
+
when 2
|
15
|
+
"打包成功"
|
16
|
+
when 3
|
17
|
+
"打包失败"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class SubAppRecommend < ActiveRecord::Base
|
3
|
+
establish_connection SUBAPP_DB
|
4
|
+
self.table_name = "tb_sub_app_recommend" #子APP广告配置
|
5
|
+
attr_accessible :app_name, :channel, :column_type, :cover_path, :intro, :link_url, :name, :terminal, :is_deleted
|
6
|
+
|
7
|
+
has_many :sub_app_advertisements, dependent: :destroy
|
8
|
+
validates_uniqueness_of :name, message: "广告名称已经存在!"
|
9
|
+
|
10
|
+
def terminal_disp
|
11
|
+
case self.terminal
|
12
|
+
when 1
|
13
|
+
"ios"
|
14
|
+
when 2
|
15
|
+
"android"
|
16
|
+
else
|
17
|
+
""
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def channel_disp
|
22
|
+
case self.channel
|
23
|
+
when 1
|
24
|
+
"应用推荐"
|
25
|
+
when 2
|
26
|
+
"Feed广告"
|
27
|
+
else
|
28
|
+
""
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def is_deleted_disp
|
33
|
+
case self.is_deleted
|
34
|
+
when true
|
35
|
+
"是"
|
36
|
+
when false
|
37
|
+
"否"
|
38
|
+
else
|
39
|
+
""
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def column_type_disp
|
44
|
+
case self.column_type
|
45
|
+
when 1
|
46
|
+
"今日推荐"
|
47
|
+
when 2
|
48
|
+
"热门推荐"
|
49
|
+
when 3
|
50
|
+
"装机必备"
|
51
|
+
else
|
52
|
+
""
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/subapp_model.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require "subapp_model/version"
|
2
|
+
|
3
|
+
# load Rails/Railtie
|
4
|
+
begin
|
5
|
+
require 'rails'
|
6
|
+
rescue LoadError
|
7
|
+
#do nothing
|
8
|
+
end
|
9
|
+
# if not using Railtie, call `Kaminari::Hooks.init` directly
|
10
|
+
if defined? Rails
|
11
|
+
if (!defined? RAILS_APP_MODULE) || RAILS_APP_MODULE.nil?
|
12
|
+
%w{subapp_model}.each do |dir|
|
13
|
+
puts __FILE__
|
14
|
+
Dir.glob(File.expand_path("../#{dir}", __FILE__) + '/**/*.rb').each do |file|
|
15
|
+
puts file
|
16
|
+
require file
|
17
|
+
end
|
18
|
+
end
|
19
|
+
else
|
20
|
+
current_file = __FILE__
|
21
|
+
load_str = "module " + RAILS_APP_MODULE + "; class Application < Rails::Application; config.autoload_paths += [File.expand_path(\"../subapp_model\", \"#{current_file}\")]; end; end"
|
22
|
+
eval(load_str)
|
23
|
+
end
|
24
|
+
else
|
25
|
+
%w{subapp_model}.each do |dir|
|
26
|
+
Dir.glob(File.expand_path("../#{dir}", __FILE__) + '/**/*.rb').each do |file|
|
27
|
+
# if(file.index("home_controller") == nil)
|
28
|
+
# $LOAD_PATH.unshift(file)
|
29
|
+
|
30
|
+
require_file = File.basename(file, ".rb")
|
31
|
+
require_class = require_file.split('_').map {|w| w.capitalize}.join
|
32
|
+
|
33
|
+
# puts "#{require_class} : #{file}"
|
34
|
+
|
35
|
+
autoload "#{require_class}".to_sym,file
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subapp_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gavin
|
@@ -44,7 +44,27 @@ email:
|
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
|
-
files:
|
47
|
+
files:
|
48
|
+
- lib/subapp_model.rb
|
49
|
+
- lib/subapp_model/app.rb
|
50
|
+
- lib/subapp_model/app_ad.rb
|
51
|
+
- lib/subapp_model/app_ad_changelog.rb
|
52
|
+
- lib/subapp_model/app_ad_material.rb
|
53
|
+
- lib/subapp_model/app_album.rb
|
54
|
+
- lib/subapp_model/app_bozhu.rb
|
55
|
+
- lib/subapp_model/app_category.rb
|
56
|
+
- lib/subapp_model/app_material.rb
|
57
|
+
- lib/subapp_model/app_tag.rb
|
58
|
+
- lib/subapp_model/font.rb
|
59
|
+
- lib/subapp_model/selected_albums.rb
|
60
|
+
- lib/subapp_model/selected_albums_relation.rb
|
61
|
+
- lib/subapp_model/skin.rb
|
62
|
+
- lib/subapp_model/sub_app_advertisement.rb
|
63
|
+
- lib/subapp_model/sub_app_log.rb
|
64
|
+
- lib/subapp_model/sub_app_recommend.rb
|
65
|
+
- lib/subapp_model/subapp_push_app.rb
|
66
|
+
- lib/subapp_model/subapp_push_msg.rb
|
67
|
+
- lib/subapp_model/version.rb
|
48
68
|
homepage: ''
|
49
69
|
licenses:
|
50
70
|
- MIT
|