|
@@ -263,48 +263,49 @@ public class AiStrategyServiceImpl implements IAiStrategyService {
|
|
|
// 素材的智能抽帧封面 ctop_material_cut_frame 其中素造的为8张封面,内部的为15张封面
|
|
|
List<MaterialCutFrame> cutFrameList =
|
|
|
materialCutFrameService.getListByVideoSignature(videoItem.getSignature());
|
|
|
-
|
|
|
List<MaterialImageInfo> orgFrameList =
|
|
|
materialImageInfoService.getListByVideoSignature(videoItem.getSignature());
|
|
|
|
|
|
-
|
|
|
JSONArray sceneIdJsonArray = JSONArray.parseArray(strategy.getSceneId());
|
|
|
-
|
|
|
-
|
|
|
JSONObject creativeParams = new JSONObject();
|
|
|
Integer creativeCnt = 1;
|
|
|
- if (sceneIdJsonArray.contains(6)&& sceneIdJsonArray.size() == 1){
|
|
|
+ if (sceneIdJsonArray.contains(6) && sceneIdJsonArray.size() == 1){
|
|
|
// 如果广告位只包含 上下滑大屏广告(6),则一个素材搭配1张封面,生成1个创意
|
|
|
+ String imageCode;
|
|
|
+ String imageUrl;
|
|
|
if (cutFrameList.size() == 0 && orgFrameList.size()==0){
|
|
|
return;
|
|
|
}
|
|
|
if (orgFrameList.size()!=0){
|
|
|
- String imageCode = orgFrameList.get(0).getCode();
|
|
|
- String imageUrl = orgFrameList.get(0).getUrl();
|
|
|
- KuaiShouImageGet imageGet = imageGetService.getOneByParams(imageUrl);
|
|
|
- if ((null == imageGet) || ("".equals(imageGet.getImageToken()))){
|
|
|
- // 如果取不到image_token 则调用上传url的方法kuauiShouImageUpload(url, signature, accountId, oauthToken.getAccessToken());
|
|
|
- String imageToken = materialUploadService.kuauiShouImageUpload(imageUrl,imageCode,
|
|
|
- token.getAccountId(),token.getAccessToken());
|
|
|
- if (null == imageToken){
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
+ imageCode = orgFrameList.get(0).getCode();
|
|
|
+ imageUrl = orgFrameList.get(0).getUrl();
|
|
|
}
|
|
|
else{
|
|
|
- String imageCode = cutFrameList.get(0).getSignature();
|
|
|
- String imageUrl = cutFrameList.get(0).getUrl();
|
|
|
- KuaiShouImageGet imageGet = imageGetService.getOneByParams(imageUrl);
|
|
|
- if ((null == imageGet) || ("".equals(imageGet.getImageToken()))){
|
|
|
- // 如果取不到image_token 则调用上传url的方法kuauiShouImageUpload(url, signature, accountId, oauthToken.getAccessToken());
|
|
|
- String imageToken = materialUploadService.kuauiShouImageUpload(imageUrl,imageCode,
|
|
|
- token.getAccountId(),token.getAccessToken());
|
|
|
- if (null == imageToken){
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ imageCode = cutFrameList.get(0).getSignature();
|
|
|
+ imageUrl = cutFrameList.get(0).getUrl();
|
|
|
}
|
|
|
+ String imageToken = getImageToken(imageUrl,
|
|
|
+ imageCode,
|
|
|
+ token.getAccountId(),
|
|
|
+ token.getAccessToken());
|
|
|
+
|
|
|
+ creativeParams.put("advertiser_id",token.getAccountId());
|
|
|
+ creativeParams.put("unit_id",unitId);
|
|
|
+ Date creativeDate = new Date();
|
|
|
+ creativeParams.put("creative_name",creativeDate.toString() + creativeCnt.toString());
|
|
|
+ creativeParams.put("photo_id",videoItem.getPhotoId());
|
|
|
+ creativeParams.put("image_token",imageToken);
|
|
|
+ creativeParams.put("creative_material_type",1); // 1:竖版视频 2:横版视频 4:便利贴单图图片创意 5:竖版图片 6:横版图片
|
|
|
+// creativeParams.put("image_tokens",""); 便利贴单图图片创意token
|
|
|
+ creativeParams.put("action_bar_text","立即下载");
|
|
|
+ creativeParams.put("description",""); // 广告语 -- 看小说太累?不妨试一试听书,解放双手,缓解压力!
|
|
|
+ creativeParams.put("site_id",""); // 安卓下载中间页ID
|
|
|
+ creativeParams.put("click_track_url","");
|
|
|
+ creativeParams.put("impression_url","");
|
|
|
+ creativeParams.put("ad_photo_played_t3s_url","");
|
|
|
+ creativeParams.put("actionbar_click_url","");
|
|
|
+ creativeParams.put("creative_category","");// 创意分类
|
|
|
+ creativeParams.put("creative_tag",""); //创意标签
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -312,7 +313,6 @@ public class AiStrategyServiceImpl implements IAiStrategyService {
|
|
|
if (cutFrameList.size() == 0 && orgFrameList.size()==0){
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
if (orgFrameList.size() !=0) {
|
|
|
for (int i = 0; i < orgFrameList.size(); i++) {
|
|
|
String imageCode = orgFrameList.get(i).getCode();
|
|
@@ -350,6 +350,7 @@ public class AiStrategyServiceImpl implements IAiStrategyService {
|
|
|
creativeParams.put("","");
|
|
|
creativeParams.put("","");
|
|
|
creativeParams.put("","");
|
|
|
+
|
|
|
Map<String, Object> creativeCreateResult = kuaishouInterfaceService.creativeCreate
|
|
|
(token.getAccessToken(), token.getAccountId(), creativeParams,1);
|
|
|
Integer creativeCode = (Integer) creativeCreateResult.get("code");
|
|
@@ -377,6 +378,19 @@ public class AiStrategyServiceImpl implements IAiStrategyService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private String getImageToken(String imageUrl, String imageCode, Long accountId,String token){
|
|
|
+ // 根据imageUrl 和 imageCode,获取 imageToken (创建创意用)
|
|
|
+ KuaiShouImageGet imageGet = imageGetService.getOneByParams(imageUrl);
|
|
|
+ if ((null == imageGet) || ("".equals(imageGet.getImageToken()))){
|
|
|
+ // 如果取不到image_token
|
|
|
+ // 则调用上传url的方法 kuauiShouImageUpload(url, signature, accountId, oauthToken.getAccessToken());
|
|
|
+ String imageToken = materialUploadService.kuauiShouImageUpload(imageUrl,imageCode,accountId,token);
|
|
|
+ return imageToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ return imageGet.getImageToken();
|
|
|
+ }
|
|
|
+
|
|
|
private List<AiKuaishouStrategyTargetBase> splitBasesByDomain(String definitionDomain,
|
|
|
List<AiKuaishouStrategyTargetBase> targetBases) {
|
|
|
if(null==definitionDomain){
|