|
@@ -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");
|
|
|
}
|
|
|
}
|