Ver código fonte

通投智选

yangzian 3 anos atrás
pai
commit
d663718398

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

@@ -468,11 +468,23 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
         }
         creObj.put("title_materials",titleArray);
         JSONArray imageMaterials = new JSONArray();
+        JSONArray videoMaterials = new JSONArray();
         JSONObject object = new JSONObject();
         //类型
         if ("image".equalsIgnoreCase(videoInfo.getMaterialType())){
-            //图片素材
-            object.put("image_mode",strategy.getCreativeImageMode());
+            //通投智选
+            if ("UNIVERSAL".equalsIgnoreCase(strategy.getAdDeliveryRange())){
+                //竖图
+                if (strategy.getCreativeImageMode().contains("CREATIVE_IMAGE_MODE_LARGE_VERTICAL")){
+                    object.put("image_mode","CREATIVE_IMAGE_MODE_LARGE_VERTICAL");
+                    //横图
+                }else if(strategy.getCreativeImageMode().contains("CREATIVE_IMAGE_MODE_LARGE")){
+                    object.put("image_mode","CREATIVE_IMAGE_MODE_LARGE");
+                }
+            }else {
+                object.put("image_mode",strategy.getCreativeImageMode());
+            }
+
             String[] imageIds = new String[]{videoInfo.getId()};
             JSONArray image_info = new JSONArray();
             for (String imgId : imageIds) {
@@ -482,12 +494,23 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
             }
             object.put("image_info",image_info);
             imageMaterials.add(object);
-            creObj.put("image_materials",imageMaterials);
+
         }
 
+        //视频
         if ("video".equalsIgnoreCase(videoInfo.getMaterialType())){
-            //视频
-            object.put("image_mode",strategy.getCreativeImageMode());
+            //通投智选
+            if ("UNIVERSAL".equalsIgnoreCase(strategy.getAdDeliveryRange())){
+                //竖版视频
+                if (strategy.getCreativeImageMode().contains("CREATIVE_IMAGE_MODE_VIDEO_VERTICAL")){
+                    object.put("image_mode","CREATIVE_IMAGE_MODE_VIDEO_VERTICAL");
+                 //横板视频
+                }else if(strategy.getCreativeImageMode().contains("CREATIVE_IMAGE_MODE_VIDEO")){
+                    object.put("image_mode","CREATIVE_IMAGE_MODE_VIDEO");
+                }
+            }else {
+                object.put("image_mode",strategy.getCreativeImageMode());
+            }
             JSONObject videoObj = new JSONObject();
             videoObj.put("video_id",videoInfo.getVid());
             //视频封面
@@ -499,8 +522,8 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
             }
             object.put("image_info",imgObj);
             object.put("video_info",videoObj);
-            imageMaterials.add(object);
-            creObj.put("video_materials",imageMaterials);
+            videoMaterials.add(object);
+
         }
 
         //通投智选 竖版视频 横版视频 横图大图
@@ -513,8 +536,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 List<ByteDanceVideoInfo>  listMode = byteDanceVideoInfoMapper.getModeVideo(strategy.getAccountId(),map.get("startTime"),map.get("endTime"),1L);
                 if (!Check.isNull(listMode)){
                     for (ByteDanceVideoInfo info : listMode) {
+                        JSONObject objectVideo = new JSONObject();
                         //横板视频
-                        object.put("image_mode","CREATIVE_IMAGE_MODE_VIDEO");
+                        objectVideo.put("image_mode","CREATIVE_IMAGE_MODE_VIDEO");
                         JSONObject videoObj = new JSONObject();
                         videoObj.put("video_id",info.getVid());
                         //视频封面
@@ -524,10 +548,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                         if(!Check.isNull(imageId)){
                             imgObj.put("image_id",imageId);
                         }
-                        object.put("image_info",imgObj);
-                        object.put("video_info",videoObj);
-                        imageMaterials.add(object);
-                        creObj.put("video_materials",imageMaterials);
+                        objectVideo.put("image_info",imgObj);
+                        objectVideo.put("video_info",videoObj);
+                        videoMaterials.add(objectVideo);
                     }
                 }
             }
@@ -536,8 +559,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 List<ByteDanceVideoInfo>  listImage = byteDanceVideoInfoMapper.getModeImageLarge(strategy.getAccountId(),map.get("startTime"),map.get("endTime"),1L);
                 if (!Check.isNull(listImage)){
                     for (ByteDanceVideoInfo info : listImage) {
+                        JSONObject objectImg = new JSONObject();
                         //图片素材
-                        object.put("image_mode","CREATIVE_IMAGE_MODE_LARGE");
+                        objectImg.put("image_mode","CREATIVE_IMAGE_MODE_LARGE");
                         String[] imageIds = new String[]{info.getId()};
                         JSONArray image_info = new JSONArray();
                         for (String imgId : imageIds) {
@@ -545,13 +569,15 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                             imageObject.put("image_id",imgId);
                             image_info.add(imageObject);
                         }
-                        object.put("image_info",image_info);
-                        imageMaterials.add(object);
-                        creObj.put("image_materials",imageMaterials);
+                        objectImg.put("image_info",image_info);
+                        imageMaterials.add(objectImg);
+
                     }
                 }
             }
         }
+        creObj.put("image_materials",imageMaterials);
+        creObj.put("video_materials",videoMaterials);
 
         //副标题
         String subTitle = strategy.getCreativeSubTitle();
@@ -640,7 +666,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
         if(null!=strategy.getAdDeliveryRange() && !"".equals(strategy.getAdDeliveryRange().trim())){
             params.put("delivery_range",strategy.getAdDeliveryRange());
             //搜索快投
-           if(!"UNION".equals(strategy.getAdDeliveryRange())){
+           if(!"UNION".equals(strategy.getAdDeliveryRange()) && !"UNIVERSAL".equals(strategy.getAdDeliveryRange())){
                 params.put("feed_delivery_search","DISABLED");
             }
         }