Fix error for get_feed_cache
This commit is contained in:
parent
10f998d08c
commit
459e89fafc
app/models
|
@ -307,17 +307,22 @@ class SiteFeedAnnc
|
|||
if feeds_time_field.nil?
|
||||
feeds_time_field = 'postdate'
|
||||
end
|
||||
match_cond = {"channel_key"=>channel_key}
|
||||
site_feed_anncs = self.where("channel_key" => channel_key)
|
||||
if !merge_with_category.blank? && merge_with_category.exclude?('all')
|
||||
match_cond["merge_with_category"] = {"$in"=>merge_with_category}
|
||||
site_feed_anncs = site_feed_anncs.where(:merge_with_category.in => merge_with_category)
|
||||
end
|
||||
if site_source
|
||||
match_cond["channel_title.#{locale}"] = site_source
|
||||
site_feed_anncs = site_feed_anncs.where({"channel_title.#{locale}" => site_source})
|
||||
end
|
||||
site_feed_annc_ids = site_feed_anncs.pluck(:id)
|
||||
match_cond = {
|
||||
"site_feed_annc_id" => {"$in" => site_feed_annc_ids},
|
||||
"locale" => locale
|
||||
}
|
||||
|
||||
pipeline = [
|
||||
{"$match"=>match_cond},
|
||||
{"$project"=>{"data"=>"$all_contents_for_feed.#{locale}"}},
|
||||
{"$unwind"=>"$data"},
|
||||
{"$match" => match_cond},
|
||||
{"$project"=>{"data"=>1}},
|
||||
{"$sort"=>{"data.is_hidden"=>-1,"data.is_top"=>-1,"data.#{feeds_time_field}"=>-1}},
|
||||
{"$match"=>{"data.is_hidden"=>{"$ne"=>true},
|
||||
"data.postdate"=>{"$lte"=>Time.now},
|
||||
|
@ -328,7 +333,8 @@ class SiteFeedAnnc
|
|||
if max_len
|
||||
pipeline << {"$limit"=> max_len}
|
||||
end
|
||||
self.collection.aggregate(pipeline).collect do |data|
|
||||
|
||||
SiteFeedAnncDetail.collection.aggregate(pipeline).collect do |data|
|
||||
tmp = data['data']
|
||||
if !(tmp['category'].is_a? String)
|
||||
tmp['category'] = tmp['category'][locale]
|
||||
|
|
Loading…
Reference in New Issue