This commit is contained in:
BoHung Chiu 2023-03-06 11:06:20 +08:00
parent 74dbad4a5b
commit 00e2a6e95e
1 changed files with 7 additions and 7 deletions

View File

@ -8,7 +8,7 @@ module BulletinModel
before_destroy :cache_tag_ids before_destroy :cache_tag_ids
end end
def cache_tag_ids def cache_tag_ids
if self.class == Bulletin if self.class == ::Bulletin
@tag_ids = self.tag_ids @tag_ids = self.tag_ids
@org_tag_ids = self.org_tag_ids @org_tag_ids = self.org_tag_ids
@category_id = self.category_id @category_id = self.category_id
@ -16,19 +16,19 @@ module BulletinModel
end end
end end
def do_before_save def do_before_save
if self.class == SubPart if self.class == ::SubPart
AnnsCache.where(parent_id: /^#{self.id}/).delete ::AnnsCache.where(parent_id: /^#{self.id}/).delete
elsif self.class == Bulletin || (self.class == Page && self.module == "announcement") elsif self.class == ::Bulletin || (self.class == ::Page && self.module == "announcement")
if self.class == Bulletin if self.class == ::Bulletin
tmp_tag_ids = (Array(@tag_ids) + Array(@org_tag_ids)).uniq tmp_tag_ids = (Array(@tag_ids) + Array(@org_tag_ids)).uniq
tmp_cat_ids = (Array(@category_id) + Array(@org_category_id)).uniq tmp_cat_ids = (Array(@category_id) + Array(@org_category_id)).uniq
Thread.new do Thread.new do
BulletinFeedCache.where(:uid.in => BulletinFeed.any_of([{:tag_ids.in => tmp_tag_ids.collect{|v| v.to_s}},{:category_ids.in => tmp_cat_ids.collect{|v| v.to_s}}]).pluck(:uid)).to_a.each do |cache| ::BulletinFeedCache.where(:uid.in => ::BulletinFeed.any_of([{:tag_ids.in => tmp_tag_ids.collect{|v| v.to_s}},{:category_ids.in => tmp_cat_ids.collect{|v| v.to_s}}]).pluck(:uid)).to_a.each do |cache|
cache.regenerate cache.regenerate
end end
end end
end end
AnnsCache.all.delete ::AnnsCache.all.delete
end end
end end
end end