diff --git a/smarketing-ai/services/sns_content_service.py b/smarketing-ai/services/sns_content_service.py index 8067403..7a1d82f 100644 --- a/smarketing-ai/services/sns_content_service.py +++ b/smarketing-ai/services/sns_content_service.py @@ -1610,28 +1610,57 @@ class SnsContentService: 'actual_image_count': actual_image_count # ๐Ÿ”ฅ ์‹ค์ œ ์ด๋ฏธ์ง€ ์ˆ˜ ์ถ”๊ฐ€ } - # ๊ฐ ์„น์…˜์— ์ ์ ˆํ•œ ์ด๋ฏธ์ง€ ๋ฐฐ์ • - # ์ธํŠธ๋กœ: ๋งค์žฅ์™ธ๊ด€ ๋˜๋Š” ๋Œ€ํ‘œ ์Œ์‹ - if categorized_images['๋งค์žฅ์™ธ๊ด€']: - placement_plan['structure'][0]['recommended_images'].extend(categorized_images['๋งค์žฅ์™ธ๊ด€'][:1]) - elif categorized_images['์Œ์‹']: - placement_plan['structure'][0]['recommended_images'].extend(categorized_images['์Œ์‹'][:1]) + # ๐Ÿ”ฅ ํ•ต์‹ฌ: ์‹ค์ œ ์ด๋ฏธ์ง€ ์ˆ˜์— ๋”ฐ๋ผ ๋ฐฐ์น˜ ์ „๋žต ์กฐ์ • + if actual_image_count == 1: + # ์ด๋ฏธ์ง€ 1๊ฐœ: ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์œ„์น˜์— ๋ฐฐ์น˜ + if categorized_images['์Œ์‹']: + placement_plan['structure'][2]['recommended_images'].extend(categorized_images['์Œ์‹'][:1]) + elif categorized_images['๋งค์žฅ์™ธ๊ด€']: + placement_plan['structure'][0]['recommended_images'].extend(categorized_images['๋งค์žฅ์™ธ๊ด€'][:1]) + else: + placement_plan['structure'][0]['recommended_images'].extend(images[:1]) - # ๋งค์žฅ ์ •๋ณด: ์™ธ๊ด€ + ์ธํ…Œ๋ฆฌ์–ด - placement_plan['structure'][1]['recommended_images'].extend(categorized_images['๋งค์žฅ์™ธ๊ด€']) - placement_plan['structure'][1]['recommended_images'].extend(categorized_images['์ธํ…Œ๋ฆฌ์–ด']) + elif actual_image_count == 2: + # ์ด๋ฏธ์ง€ 2๊ฐœ: ์ธํŠธ๋กœ์™€ ๋ฉ”๋‰ด ์†Œ๊ฐœ์— ๊ฐ๊ฐ ๋ฐฐ์น˜ + if categorized_images['๋งค์žฅ์™ธ๊ด€'] and categorized_images['์Œ์‹']: + placement_plan['structure'][0]['recommended_images'].extend(categorized_images['๋งค์žฅ์™ธ๊ด€'][:1]) + placement_plan['structure'][2]['recommended_images'].extend(categorized_images['์Œ์‹'][:1]) + else: + placement_plan['structure'][0]['recommended_images'].extend(images[:1]) + placement_plan['structure'][2]['recommended_images'].extend(images[1:2]) - # ๋ฉ”๋‰ด ์†Œ๊ฐœ: ๋ฉ”๋‰ดํŒ + ์Œ์‹ - placement_plan['structure'][2]['recommended_images'].extend(categorized_images['๋ฉ”๋‰ดํŒ']) - placement_plan['structure'][2]['recommended_images'].extend(categorized_images['์Œ์‹']) + elif actual_image_count == 3: + # ์ด๋ฏธ์ง€ 3๊ฐœ: ์ธํŠธ๋กœ, ๋งค์žฅ ์ •๋ณด, ๋ฉ”๋‰ด ์†Œ๊ฐœ์— ๊ฐ๊ฐ ๋ฐฐ์น˜ + placement_plan['structure'][0]['recommended_images'].extend(images[:1]) + placement_plan['structure'][1]['recommended_images'].extend(images[1:2]) + placement_plan['structure'][2]['recommended_images'].extend(images[2:3]) - # ์ดํ‰: ๋‚จ์€ ์Œ์‹ ์‚ฌ์ง„ ๋˜๋Š” ๊ธฐํƒ€ - remaining_food = [img for img in categorized_images['์Œ์‹'] - if img not in placement_plan['structure'][2]['recommended_images']] - placement_plan['structure'][3]['recommended_images'].extend(remaining_food[:1]) - placement_plan['structure'][3]['recommended_images'].extend(categorized_images['๊ธฐํƒ€'][:1]) + else: + # ์ด๋ฏธ์ง€ 4๊ฐœ ์ด์ƒ: ๊ธฐ์กด ๋กœ์ง ์œ ์ง€ํ•˜๋˜ ์‹ค์ œ ์ด๋ฏธ์ง€ ์ˆ˜๋กœ ์ œํ•œ + remaining_images = images[:] - # ์ „์ฒด ์ด๋ฏธ์ง€ ์ˆœ์„œ ์ƒ์„ฑ + # ์ธํŠธ๋กœ: ๋งค์žฅ์™ธ๊ด€ ๋˜๋Š” ๋Œ€ํ‘œ ์Œ์‹ + if categorized_images['๋งค์žฅ์™ธ๊ด€'] and remaining_images: + img = categorized_images['๋งค์žฅ์™ธ๊ด€'][0] + placement_plan['structure'][0]['recommended_images'].append(img) + if img in remaining_images: + remaining_images.remove(img) + elif categorized_images['์Œ์‹'] and remaining_images: + img = categorized_images['์Œ์‹'][0] + placement_plan['structure'][0]['recommended_images'].append(img) + if img in remaining_images: + remaining_images.remove(img) + + # ๋‚˜๋จธ์ง€ ์ด๋ฏธ์ง€๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์น˜ + section_index = 1 + for img in remaining_images: + if section_index < len(placement_plan['structure']): + placement_plan['structure'][section_index]['recommended_images'].append(img) + section_index += 1 + else: + break + + # ์ „์ฒด ์ด๋ฏธ์ง€ ์ˆœ์„œ ์ƒ์„ฑ (์‹ค์ œ ์‚ฌ์šฉ๋  ์ด๋ฏธ์ง€๋งŒ) for section in placement_plan['structure']: for img in section['recommended_images']: if img not in placement_plan['image_sequence']: @@ -1978,7 +2007,7 @@ class SnsContentService: image_description = f"๐Ÿ  {description}" elif img_type == '๋ฉ”๋‰ดํŒ': image_description = f"๐Ÿ“‹ {description}" - else: + else: image_description = f"๐Ÿ“ธ {description}" # HTML ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋กœ ๋ณ€ํ™˜