Fix error for get_feed_cache

This commit is contained in:
chiu 2024-08-22 02:37:19 +00:00
parent 10f998d08c
commit 459e89fafc
1 changed files with 13 additions and 7 deletions

View File

@ -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]