Просмотр исходного кода

查询广告计划可用转化目标

yangzian 4 лет назад
Родитель
Сommit
e187afefbc

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

@@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceAdvertisePlan;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceAdvertisePlan;
+import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.ByteDanceSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.ByteDanceSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
@@ -471,7 +472,6 @@ public class marketing {
      * @param adId 计划ID
      * @param adId 计划ID
      * @return: org.jeecg.common.api.vo.Result
      * @return: org.jeecg.common.api.vo.Result
      * @author: zianY
      * @author: zianY
-     * @time: 2021/4/19 15:23
      */
      */
     public static Result creativeRead(CtopOauthToken token,String advertiserId,String adId) {
     public static Result creativeRead(CtopOauthToken token,String advertiserId,String adId) {
         JSONObject param = new JSONObject();
         JSONObject param = new JSONObject();
@@ -1002,6 +1002,59 @@ public class marketing {
     }
     }
 
 
 
 
+    /**
+     *
+     * @description: 查询广告计划可用转化目标
+     *
+     * @param token
+     * @param convertQueryVo
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    public static Result getToolConvertQuery(CtopOauthToken token,AdConvertQueryVo convertQueryVo) {
+
+        JSONObject params = new JSONObject();
+        //广告主id
+        params.put("advertiser_id",convertQueryVo.getAdvertiserId());
+        //广告组推广目的
+        params.put("landing_type", convertQueryVo.getLandingType());
+        //投放内容
+        params.put("promotion_content", convertQueryVo.getPromotionContent());
+        //广告投放范围
+        params.put("delivery_range", convertQueryVo.getDeliveryRange() == null ? "DEFAULT" : convertQueryVo.getDeliveryRange());
+        //落地页链接
+        params.put("external_url", convertQueryVo.getExternalUrl());
+        //应用下载类型
+        params.put("app_type", convertQueryVo.getAppType());
+        //Android应用包名
+        params.put("package_name", convertQueryVo.getPackageName());
+        //iOS应用下载链接
+        params.put("itunes_url", convertQueryVo.getItunesUrl());
+        //小程序app_schema
+        params.put("app_schema", convertQueryVo.getAppSchema());
+        //附加创意类型
+        params.put("advanced_creative_type", convertQueryVo.getAdvancedCreativeType());
+        //游戏预约场景
+        params.put("marketing_scene",convertQueryVo.getMarketingScene());
+        params = Check.jsonRemoveEmpty(params);
+        JSONObject jsonObject = HttpUtils.bytedanceGetRequest(token.getAccessToken(),
+                PropertiesUtils.getValue("bytedance_config", "bytedance_v2_tools_ad_convert_query"),
+                params);
+        Integer code = jsonObject.getInteger("code");
+        String message = jsonObject.getString("message");
+        if (null == code || !code.equals(0)) {
+            log.info("查询广告计划可用转化目标接口异常==》accountId:{},message:{}", token.getAccountId(), message);
+            return Result.error(message);
+        }
+        JSONArray data = jsonObject.getJSONObject("data").getJSONArray("custom_audience_list");
+        if (null == data || data.isEmpty()) {
+            log.info("查询广告计划可用转化目标不存在==》accountId:{},message:{}", token.getAccountId(), message);
+            return Result.error("人群包信息不存在");
+        }
+        return Result.successMsg("查询广告计划可用转化目标信息获取成功",data);
+    }
+
+
 
 
 
 
 
 

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceAdvertiserStrategy.java

@@ -35,7 +35,7 @@ public class AiBytedanceAdvertiserStrategy{
 	 * dpLink组层级开始下标
 	 * dpLink组层级开始下标
 	 */
 	 */
 	private Long dpLinkStartIndex;
 	private Long dpLinkStartIndex;
-	/**
+	/**6
 	 * dpLink组层级结束下标
 	 * dpLink组层级结束下标
 	 */
 	 */
 	private Long dpLinkEndIndex;
 	private Long dpLinkEndIndex;

+ 8 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IAiBytedanceAdvertiserStrategyService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
+import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 
 
@@ -86,4 +87,11 @@ public interface IAiBytedanceAdvertiserStrategyService extends IService<AiByteda
      */
      */
     Result creativeReadInfo(String accountId, String adId);
     Result creativeReadInfo(String accountId, String adId);
 
 
+    /**
+     * 查询广告计划可用转化目标
+     * @param adConvertQueryVo
+     * @return
+     */
+    Result getToolConvert(AdConvertQueryVo adConvertQueryVo);
+
 }
 }

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

@@ -12,6 +12,7 @@ import org.jeecg.modules.bytedance.advertise.enums.BytedanceCreativeMatTypeEnum;
 import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceAdvertiserStrategyMapper;
 import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceAdvertiserStrategyMapper;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
 import org.jeecg.modules.bytedance.advertise.service.IByteDanceVideoInfoService;
 import org.jeecg.modules.bytedance.advertise.service.IByteDanceVideoInfoService;
+import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
@@ -313,6 +314,25 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
     }
     }
 
 
 
 
+    /**
+     *
+     * @description: 查询广告计划可用转化目标
+     *
+     * @param adConvertQueryVo
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    public Result getToolConvert(AdConvertQueryVo adConvertQueryVo) {
+        CtopOauthToken token = tokenService.getOauthTokenByAccountId(adConvertQueryVo.getAdvertiserId());
+        if (null == token) {
+            log.info("token获取失败=>accountId:{}", token.getAccountId());
+            return Result.error("token获取失败====>>>>accountId:"+token.getAccountId());
+        }
+        Result resultCampaign = marketing.getToolConvertQuery(token,adConvertQueryVo);
+        return Result.successMsg("查询广告计划可用转化目标成功。", resultCampaign.getResult());
+    }
+
+
 
 
 
 
 
 

+ 39 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/vo/AdConvertQueryVo.java

@@ -0,0 +1,39 @@
+package org.jeecg.modules.bytedance.advertise.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zianY
+ *查询广告计划可用转化目标 入参
+ */
+@Data
+public class AdConvertQueryVo implements Serializable {
+    //广告主id
+    private String advertiserId;
+    //广告组推广目的过滤
+    private String landingType;
+    //投放内容
+    private String promotionContent;
+    //广告投放范围 允许值:DEFAULT(默认)、UNION(穿山甲)、UNIVERSAL(通投智选)
+    private String deliveryRange;
+    //落地页链接
+    private String externalUrl;
+    //应用下载类型,允许值:
+    //APP_ANDROID、APP_IOS
+    private String appType;
+    //Android应用包名
+    private String packageName;
+    //iOS应用下载链接
+    private String itunesUrl;
+    //小程序app_schema
+    private String appSchema;
+    //附加创意类型
+    private String advancedCreativeType;
+    //游戏预约场景,附加创意类型为ATTACHED_CREATIVE_GAME_SUBSCRIBE游戏预约时填写,允许值:
+    //GAME_PROMOTION(游戏大推)、GAME_SUBSCRIBE(游戏预约 )、NORMAL(普通场景)
+    private String marketingScene;
+
+
+}

+ 2 - 0
jeecg-boot-bytedance/src/main/resources/bytedance_config.properties

@@ -67,6 +67,8 @@ bytedance_v2_creative_update_v2=/2/creative/update_v2/
 
 
 #获取行业列表
 #获取行业列表
 bytedance_v2_tools_industry_get=/2/tools/industry/get/
 bytedance_v2_tools_industry_get=/2/tools/industry/get/
+#查询广告计划可用转化目标
+bytedance_v2_tools_ad_convert_query=/2/tools/ad_convert/query/
 
 
 bytedance_v2_advertiser_report_get=/2/report/advertiser/get/
 bytedance_v2_advertiser_report_get=/2/report/advertiser/get/
 bytedance_v2_campaign_report_get=/2/report/campaign/get/
 bytedance_v2_campaign_report_get=/2/report/campaign/get/

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

@@ -13,6 +13,7 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
+import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
@@ -279,7 +280,16 @@ public class AiBytedanceAdvertiserStrategyController {
 
 
 
 
 
 
-
+	@ApiOperation(value="查询广告计划可用转化目标", notes="查询广告计划可用转化目标")
+	@PostMapping(value = "/getToolConvert")
+	public Result getToolConvert(@RequestBody AdConvertQueryVo adConvertQueryVo) {
+		try {
+			return aiBytedanceAdvertiserStrategyService.getToolConvert(adConvertQueryVo);
+		}catch (Exception e){
+			log.error("创建失败",e.getMessage());
+			return Result.error("请求失败,请联系开发人员!");
+		}
+	}