Quellcode durchsuchen

图片创建 通用文案最多10条

yangzian vor 4 Jahren
Ursprung
Commit
07f34ef4a8

+ 1 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/ByteDanceGeneralCopywriterMapper.java

@@ -20,6 +20,7 @@ public interface ByteDanceGeneralCopywriterMapper extends BaseMapper<ByteDanceGe
     ByteDanceCreativeWordPackage selectCreativeWordPackageByName(String name);
 
     ByteDanceGeneralCopywriter getRandOne(@Param(value = "accountId") Long accountId);
+    List<ByteDanceGeneralCopywriter> getRandTen(@Param(value = "accountId") Long accountId);
 
     List<ByteDanceGeneralCopywriter> selectAllDataByTextCopywriter(@Param(value = "textCopywriter") String textCopywriter);
 }

+ 5 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/ByteDanceGeneralCopywriterMapper.xml

@@ -47,6 +47,11 @@
         select * from ctop_bytedance_general_copywriter where status = 1 and account_id = #{accountId} order by rand() limit 1
     </select>
 
+    <select id="getRandTen"
+            resultType="org.jeecg.modules.bytedance.advertise.entity.ByteDanceGeneralCopywriter">
+        select * from ctop_bytedance_general_copywriter where status = 1 and account_id = #{accountId} order by rand() limit 10
+    </select>
+
     <select id="selectAllDataByTextCopywriter" resultType="org.jeecg.modules.bytedance.advertise.entity.ByteDanceGeneralCopywriter">
         select * from ctop_bytedance_general_copywriter where text_copywriter = #{textCopywriter}
 

+ 34 - 14
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java

@@ -394,25 +394,45 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 titleArray.add(titleObject);
             }
         }
-        // 指定文案不够的时候 使用通用文案
-        for(int i = 0; i < 3; i++){
-            if(titleArray.size() >= 10){
-                break;
+        // 视频 指定文案不够的时候 使用通用文案 最多3条
+        if ("video".equalsIgnoreCase(videoInfo.getMaterialType())){
+            for(int i = 0; i < 3; i++){
+                if(titleArray.size() >= 10){
+                    break;
+                }
+                ByteDanceGeneralCopywriter byteDanceGeneralCopywriter = byteDanceGeneralCopywriterMapper.getRandOne(strategy.getAccountId());
+                if(!Check.isNull(byteDanceGeneralCopywriter)){
+                    JSONObject titleObject = new JSONObject();
+                    titleObject.put("title",byteDanceGeneralCopywriter.getTextCopywriter());
+                    String creativeWordsIds = byteDanceGeneralCopywriter.getCreativeWordIds();
+                    if(null!=creativeWordsIds&&!creativeWordsIds.trim().equals("")){
+                        JSONArray creativeWordsArray = JSON.parseArray(creativeWordsIds);
+                        if(null!=creativeWordsArray&&!creativeWordsArray.isEmpty()){
+                            titleObject.put("creative_word_ids",creativeWordsArray);
+                        }
+                    }
+                    titleArray.add(titleObject);
+                }
             }
-            ByteDanceGeneralCopywriter byteDanceGeneralCopywriter = byteDanceGeneralCopywriterMapper.getRandOne(strategy.getAccountId());
-            if(!Check.isNull(byteDanceGeneralCopywriter)){
-                JSONObject titleObject = new JSONObject();
-                titleObject.put("title",byteDanceGeneralCopywriter.getTextCopywriter());
-                String creativeWordsIds = byteDanceGeneralCopywriter.getCreativeWordIds();
-                if(null!=creativeWordsIds&&!creativeWordsIds.trim().equals("")){
-                    JSONArray creativeWordsArray = JSON.parseArray(creativeWordsIds);
-                    if(null!=creativeWordsArray&&!creativeWordsArray.isEmpty()){
-                        titleObject.put("creative_word_ids",creativeWordsArray);
+            // 图片 使用通用文案 最多10条
+        }else if ("image".equalsIgnoreCase(videoInfo.getMaterialType())){
+            List<ByteDanceGeneralCopywriter> byteDanceGeneralCopywriterList = byteDanceGeneralCopywriterMapper.getRandTen(strategy.getAccountId());
+            if(!Check.isNull(byteDanceGeneralCopywriterList)){
+                for (ByteDanceGeneralCopywriter byteDanceGeneralCopywriter : byteDanceGeneralCopywriterList){
+                    JSONObject titleObject = new JSONObject();
+                    titleObject.put("title",byteDanceGeneralCopywriter.getTextCopywriter());
+                    String creativeWordsIds = byteDanceGeneralCopywriter.getCreativeWordIds();
+                    if(null!=creativeWordsIds&&!creativeWordsIds.trim().equals("")){
+                        JSONArray creativeWordsArray = JSON.parseArray(creativeWordsIds);
+                        if(null!=creativeWordsArray&&!creativeWordsArray.isEmpty()){
+                            titleObject.put("creative_word_ids",creativeWordsArray);
+                        }
                     }
+                    titleArray.add(titleObject);
                 }
-                titleArray.add(titleObject);
             }
         }
+
         if(!Check.isNull(titleArray)){
             params.put("title_list",titleArray);
         }

+ 9 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/bytedance/advertise/controller/AiBytedanceAdvertiserStrategyController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.bytedance.advertise.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -32,10 +33,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -457,10 +455,13 @@ public class AiBytedanceAdvertiserStrategyController {
 			if (Check.isNull(accountId)){
 				return Result.errorMsg("请选择账户。");
 			}
-			/*if (Check.isNull(landingType)){
-				return Result.errorMsg("投放内容不能为空");
-			}*/
-			return aiBytedanceAdvertiserStrategyService.getAdAudiencePackage(accountId,landingType,deliveryRange);
+			// 默认 定向包
+			Result resultDefault = aiBytedanceAdvertiserStrategyService.getAdAudiencePackage(accountId,landingType,"DEFAULT");
+			//穿山甲定向包
+			Result resultUnion = aiBytedanceAdvertiserStrategyService.getAdAudiencePackage(accountId,landingType,"UNION");
+			List list = (List) resultDefault.getResult();
+			list.add(resultUnion);
+			return Result.successMsg("获取定向包成功。",list);
 		}catch (Exception e){
 			log.error("获取定向包异常",e);
 			return Result.error("请求失败,请联系开发人员!");