Quellcode durchsuchen

Merge branch 'test' of http://git.tjyourong.com.cn/ctop/adsp-bytedance into test

huangxuechao vor 4 Jahren
Ursprung
Commit
b6a6ceb4ae

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/dockapi/MarketingServiceImpl.java

@@ -962,7 +962,7 @@ public class MarketingServiceImpl implements MarketingService{
         JSONArray dataList = jsonObject.getJSONObject("data").getJSONArray("list");
         if (null == dataList || dataList.isEmpty()) {
             log.info("查询广告计划可用转化目标不存在==》accountId:{},message:{}", token.getAccountId(), message);
-            return Result.error("人群包信息不存在");
+            return Result.error("账户优化目标不存在!");
         }
         for (Object obj : dataList){
             JSONObject jobj = (JSONObject) obj;

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

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

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

@@ -42,9 +42,9 @@
     <select id="selectCreativeWordPackageByName" resultType="org.jeecg.modules.bytedance.advertise.entity.ByteDanceCreativeWordPackage">
         select * from ctop_bytedance_creative_word_package where name = #{name}
     </select>
-    <select id="getRandOne"
+    <select id="getRandThree"
             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 1
+        select * from ctop_bytedance_general_copywriter where status = 1 and account_id = #{accountId} order by rand() limit 3
     </select>
 
     <select id="getRandTen"

+ 6 - 6
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/ByteDanceVideoInfoMapper.xml

@@ -161,10 +161,10 @@
             and image.type = '1'
         </if>
         <if test="imageMode == '2'.toString()">
-            and (image.type = '2' or image.type = '4')
+            and (image.type = '2' or image.type = '3')
         </if>
         <if test="imageMode == '3'.toString()">
-            and (image.type = '3' or image.type = '4')
+            and image.type = '3'
         </if>
         and image.image_create_time &gt;= #{startTime}
         and image.image_create_time &lt;= #{endTime}
@@ -201,10 +201,10 @@
             and a.type = '1'
         </if>
         <if test="imageMode == '2'.toString()">
-            and (a.type = '2' or a.type = '4')
+            and (a.type = '2' or a.type = '3')
         </if>
         <if test="imageMode == '3'.toString()">
-            and (a.type = '3' or a.type = '4')
+            and a.type = '3'
         </if>)as image
         on a.material_id = image.material_id
         where 1=1
@@ -243,10 +243,10 @@
             and a.type = '1'
         </if>
         <if test="imageMode == '2'.toString()">
-            and (a.type = '2' or a.type = '4')
+            and (a.type = '2' or a.type = '3')
         </if>
         <if test="imageMode == '3'.toString()">
-            and (a.type = '3' or a.type = '4')
+            and a.type = '3'
         </if>) as image
         on a.material_id = image.material_id
         where 1=1

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

@@ -319,15 +319,20 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
     }
     private JSONObject getCreativeParams(AiBytedanceAdvertiserStrategy strategy, Long adId,ByteDanceVideoInfo videoInfo,CtopOauthToken token) {
         JSONObject params = new JSONObject();
-        params.put("advertiser_id",strategy.getAccountId());
-        params.put("ad_id",adId);
+        params.put("advertiser_id", strategy.getAccountId());
+        params.put("ad_id", adId);
         String inventoryType = strategy.getCreativeInventoryType();
-        if(null!=inventoryType&&!"".equals(inventoryType)){
+        if ("CREATIVE_IMAGE_MODE_UNION_SPLASH".equalsIgnoreCase(strategy.getCreativeImageMode())) {
+            params.put("inventory_type", new String[]{"INVENTORY_UNION_SPLASH_SLOT"});
+        } else {
+        if (null != inventoryType && !"".equals(inventoryType)) {
             String[] inventoryTypeString = inventoryType.split(",");
-            if(inventoryTypeString.length>0){
-              params.put("inventory_type",inventoryTypeString);
+            if (inventoryTypeString.length > 0) {
+                params.put("inventory_type", inventoryTypeString);
             }
         }
+    }
+
         Integer smartInventory = strategy.getCreativeSmartInventory();
         if(null!=smartInventory&&smartInventory!=0){
             params.put("smart_inventory",smartInventory);
@@ -395,17 +400,18 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 titleArray.add(titleObject);
             }
         }
+
         // 视频 指定文案不够的时候 使用通用文案 最多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)){
+            List<ByteDanceGeneralCopywriter> byteDanceGeneralCopywriter = byteDanceGeneralCopywriterMapper.getRandThree(strategy.getAccountId());
+            if(!Check.isNull(byteDanceGeneralCopywriter)){
+                for(int i = 0; i < byteDanceGeneralCopywriter.size(); i++){
+                    if(titleArray.size() >= 10){
+                        break;
+                    }
                     JSONObject titleObject = new JSONObject();
-                    titleObject.put("title",byteDanceGeneralCopywriter.getTextCopywriter());
-                    String creativeWordsIds = byteDanceGeneralCopywriter.getCreativeWordIds();
+                    titleObject.put("title",byteDanceGeneralCopywriter.get(i).getTextCopywriter());
+                    String creativeWordsIds = byteDanceGeneralCopywriter.get(i).getCreativeWordIds();
                     if(null!=creativeWordsIds&&!creativeWordsIds.trim().equals("")){
                         JSONArray creativeWordsArray = JSON.parseArray(creativeWordsIds);
                         if(null!=creativeWordsArray&&!creativeWordsArray.isEmpty()){

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

@@ -420,6 +420,9 @@ public class AiBytedanceAdvertiserStrategyController {
 					map.put("platform", "APP_IOS");
 				}
 			}
+			if (map.get("code").toString().equals("-1")){
+				return Result.error(map.get("error").toString()+"请输入正确的链接。");
+			}
 			return Result.successMsg("根据下载链接获取应用包名成功", map);
 		}catch (Exception e){
 			log.error("根据下载链接获取应用包名异常",e);
@@ -459,9 +462,10 @@ public class AiBytedanceAdvertiserStrategyController {
 			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);
+			List listDefault = (List) resultDefault.getResult();
+			List listUnion = (List) resultUnion.getResult();
+			listDefault.addAll(listUnion);
+			return Result.successMsg("获取定向包成功。",listDefault);
 		}catch (Exception e){
 			log.error("获取定向包异常",e);
 			return Result.error("请求失败,请联系开发人员!");

+ 36 - 0
jeecg-boot-module-system/src/main/resources/application-dev.yml

@@ -287,3 +287,39 @@ justauth:
     type: default
     prefix: 'demo::'
     timeout: 1h
+
+bytedance:
+  appId: 1635316529903624
+  secret: 0c51523e90d6166418fc8421a4896808e90e26f4
+  url:
+    auth-prefix: https://ad.oceanengine.com/openapi
+    api-prefix: https://ad.oceanengine.com/open_api
+    callback-url: http://adsp.c-top.com.cn:8080/jeecg-boot/bytedance
+    refresh-token: /oauth2/refresh_token
+    advertiser-info: /2/advertiser/public_info/
+    ad-get: /2/ad/get/
+    ad-create: /2/ad/create/
+    ad-update: /2/ad/update/
+    ad-update-status: /2/ad/update/status/
+    ad-update-bid: /2/ad/update/bid/
+    ad-update-budget: /2/ad/update/budget/
+    ad-update-reject-reason: 2/ad/reject_reason/
+    campaign-get: /2/campaign/get/
+    campaign-create: /2/campaign/create/
+    campaign-update-status: /2/campaign/update/status/
+    campaign-update: /2/campaign/update/
+    dmp-custom-audience-select: /2/dmp/custom_audience/select/
+    file-video-ad: /2/file/video/ad/
+    file-image-ad: /2/file/image/ad/
+    creative-update-status: /2/creative/update/status/
+    creative-material-get: /2/creative/material/read/
+    creative-create-v2: /2/creative/create_v2/
+    creative-get: /2/creative/get/
+    creative-read: /2/creative/read_v2/
+    creative-update: /2/creative/update_v2/
+    creative-reject-reason: /2/creative/reject_reason/
+    advertiser-report-get: /2/report/advertiser/get/
+    campaign-report-get: /2/report/campaign/get/
+    ad-report-get: /2/report/ad/get/
+    ad-creative-get: /2/report/creative/get/
+    advertiser-fund-daily-stat: /2/advertiser/fund/daily_stat/

+ 41 - 1
jeecg-boot-module-system/src/main/resources/application-pre.yml

@@ -286,4 +286,44 @@ justauth:
   cache:
     type: default
     prefix: 'demo::'
-    timeout: 1h
+    timeout: 1h
+
+
+
+
+
+bytedance:
+  appId: 1635316529903624
+  secret: 0c51523e90d6166418fc8421a4896808e90e26f4
+  url:
+    auth-prefix: https://ad.oceanengine.com/openapi
+    api-prefix: https://ad.oceanengine.com/open_api
+    callback-url: http://adsp.c-top.com.cn:8080/jeecg-boot/bytedance
+    refresh-token: /oauth2/refresh_token
+    advertiser-info: /2/advertiser/public_info/
+    ad-get: /2/ad/get/
+    ad-create: /2/ad/create/
+    ad-update: /2/ad/update/
+    ad-update-status: /2/ad/update/status/
+    ad-update-bid: /2/ad/update/bid/
+    ad-update-budget: /2/ad/update/budget/
+    ad-update-reject-reason: 2/ad/reject_reason/
+    campaign-get: /2/campaign/get/
+    campaign-create: /2/campaign/create/
+    campaign-update-status: /2/campaign/update/status/
+    campaign-update: /2/campaign/update/
+    dmp-custom-audience-select: /2/dmp/custom_audience/select/
+    file-video-ad: /2/file/video/ad/
+    file-image-ad: /2/file/image/ad/
+    creative-update-status: /2/creative/update/status/
+    creative-material-get: /2/creative/material/read/
+    creative-create-v2: /2/creative/create_v2/
+    creative-get: /2/creative/get/
+    creative-read: /2/creative/read_v2/
+    creative-update: /2/creative/update_v2/
+    creative-reject-reason: /2/creative/reject_reason/
+    advertiser-report-get: /2/report/advertiser/get/
+    campaign-report-get: /2/report/campaign/get/
+    ad-report-get: /2/report/ad/get/
+    ad-creative-get: /2/report/creative/get/
+    advertiser-fund-daily-stat: /2/advertiser/fund/daily_stat/

+ 40 - 1
jeecg-boot-module-system/src/main/resources/application-prod.yml

@@ -286,4 +286,43 @@ justauth:
   cache:
     type: default
     prefix: 'demo::'
-    timeout: 1h
+    timeout: 1h
+
+
+
+
+bytedance:
+  appId: 1635316529903624
+  secret: 0c51523e90d6166418fc8421a4896808e90e26f4
+  url:
+    auth-prefix: https://ad.oceanengine.com/openapi
+    api-prefix: https://ad.oceanengine.com/open_api
+    callback-url: http://adsp.c-top.com.cn:8080/jeecg-boot/bytedance
+    refresh-token: /oauth2/refresh_token
+    advertiser-info: /2/advertiser/public_info/
+    ad-get: /2/ad/get/
+    ad-create: /2/ad/create/
+    ad-update: /2/ad/update/
+    ad-update-status: /2/ad/update/status/
+    ad-update-bid: /2/ad/update/bid/
+    ad-update-budget: /2/ad/update/budget/
+    ad-update-reject-reason: 2/ad/reject_reason/
+    campaign-get: /2/campaign/get/
+    campaign-create: /2/campaign/create/
+    campaign-update-status: /2/campaign/update/status/
+    campaign-update: /2/campaign/update/
+    dmp-custom-audience-select: /2/dmp/custom_audience/select/
+    file-video-ad: /2/file/video/ad/
+    file-image-ad: /2/file/image/ad/
+    creative-update-status: /2/creative/update/status/
+    creative-material-get: /2/creative/material/read/
+    creative-create-v2: /2/creative/create_v2/
+    creative-get: /2/creative/get/
+    creative-read: /2/creative/read_v2/
+    creative-update: /2/creative/update_v2/
+    creative-reject-reason: /2/creative/reject_reason/
+    advertiser-report-get: /2/report/advertiser/get/
+    campaign-report-get: /2/report/campaign/get/
+    ad-report-get: /2/report/ad/get/
+    ad-creative-get: /2/report/creative/get/
+    advertiser-fund-daily-stat: /2/advertiser/fund/daily_stat/

+ 36 - 0
jeecg-boot-module-system/src/main/resources/application-test.yml

@@ -287,3 +287,39 @@ justauth:
     type: default
     prefix: 'demo::'
     timeout: 1h
+
+bytedance:
+  appId: 1635316529903624
+  secret: 0c51523e90d6166418fc8421a4896808e90e26f4
+  url:
+    auth-prefix: https://ad.oceanengine.com/openapi
+    api-prefix: https://ad.oceanengine.com/open_api
+    callback-url: http://adsp.c-top.com.cn:8080/jeecg-boot/bytedance
+    refresh-token: /oauth2/refresh_token
+    advertiser-info: /2/advertiser/public_info/
+    ad-get: /2/ad/get/
+    ad-create: /2/ad/create/
+    ad-update: /2/ad/update/
+    ad-update-status: /2/ad/update/status/
+    ad-update-bid: /2/ad/update/bid/
+    ad-update-budget: /2/ad/update/budget/
+    ad-update-reject-reason: 2/ad/reject_reason/
+    campaign-get: /2/campaign/get/
+    campaign-create: /2/campaign/create/
+    campaign-update-status: /2/campaign/update/status/
+    campaign-update: /2/campaign/update/
+    dmp-custom-audience-select: /2/dmp/custom_audience/select/
+    file-video-ad: /2/file/video/ad/
+    file-image-ad: /2/file/image/ad/
+    creative-update-status: /2/creative/update/status/
+    creative-material-get: /2/creative/material/read/
+    creative-create-v2: /2/creative/create_v2/
+    creative-get: /2/creative/get/
+    creative-read: /2/creative/read_v2/
+    creative-update: /2/creative/update_v2/
+    creative-reject-reason: /2/creative/reject_reason/
+    advertiser-report-get: /2/report/advertiser/get/
+    campaign-report-get: /2/report/campaign/get/
+    ad-report-get: /2/report/ad/get/
+    ad-creative-get: /2/report/creative/get/
+    advertiser-fund-daily-stat: /2/advertiser/fund/daily_stat/