This commit is contained in:
ct
2025-06-20 20:19:23 +08:00
parent 8f6fb3787a
commit 201837441d

View File

@@ -23,7 +23,7 @@ class MemeGenerator
const STATUS_COMPLETED = 'completed'; const STATUS_COMPLETED = 'completed';
public static function getSuitableMemeMedia(Meme $meme) public static function getSuitableMemeMedia(Meme $meme, $tolerance = 5)
{ {
$meme_media = null; $meme_media = null;
@@ -32,29 +32,29 @@ public static function getSuitableMemeMedia(Meme $meme)
if ($primary_keyword_type == 'action') { if ($primary_keyword_type == 'action') {
$meme_media = self::getMemeMediaByKeywords($meme->action_keywords, 2, 'action_keywords'); $meme_media = self::getMemeMediaByKeywords($meme->action_keywords, $tolerance, 'action_keywords');
if (is_null($meme_media)) { if (is_null($meme_media)) {
$keywords = array_merge($meme->emotion_keywords, $meme->misc_keywords, $meme->keywords); $keywords = array_merge($meme->emotion_keywords, $meme->misc_keywords, $meme->keywords);
$meme_media = self::getMemeMediaByKeywords($keywords, 2); $meme_media = self::getMemeMediaByKeywords($keywords, $tolerance);
} }
} else if ($primary_keyword_type == 'emotion') { } else if ($primary_keyword_type == 'emotion') {
$meme_media = self::getMemeMediaByKeywords($meme->emotion_keywords, 2, 'emotion_keywords'); $meme_media = self::getMemeMediaByKeywords($meme->emotion_keywords, $tolerance, 'emotion_keywords');
if (is_null($meme_media)) { if (is_null($meme_media)) {
$keywords = array_merge($meme->action_keywords, $meme->misc_keywords, $meme->keywords); $keywords = array_merge($meme->action_keywords, $meme->misc_keywords, $meme->keywords);
$meme_media = self::getMemeMediaByKeywords($keywords, 2); $meme_media = self::getMemeMediaByKeywords($keywords, $tolerance);
} }
} else if ($primary_keyword_type == 'misc') { } else if ($primary_keyword_type == 'misc') {
$meme_media = self::getMemeMediaByKeywords($meme->misc_keywords, 2, 'misc_keywords'); $meme_media = self::getMemeMediaByKeywords($meme->misc_keywords, $tolerance, 'misc_keywords');
if (is_null($meme_media)) { if (is_null($meme_media)) {
$keywords = array_merge($meme->action_keywords, $meme->emotion_keywords, $meme->keywords); $keywords = array_merge($meme->action_keywords, $meme->emotion_keywords, $meme->keywords);
$meme_media = self::getMemeMediaByKeywords($keywords, 2); $meme_media = self::getMemeMediaByKeywords($keywords, $tolerance);
} }
} }