Browse Source

Android应用下载详情页-获取橙子建站站点列表 当广告计划app_type为"APP_ANDROID"时, 必填

yangzian 4 years ago
parent
commit
a5b4af0b3d

+ 2 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/dockapi/MarketingService.java

@@ -72,4 +72,6 @@ public interface MarketingService {
     Result getAudiencePackageRead(CtopOauthToken token,String accountId,List<Integer> ids);
 
     Result createAudiencePackage(CtopOauthToken token);
+
+    Result getSite(CtopOauthToken token);
 }

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

@@ -1187,5 +1187,38 @@ public class MarketingServiceImpl implements MarketingService{
         return Result.successMsg("创建定向包成功",jsonObject.getJSONObject("audience_package_id"));
     }
 
+    /**
+     *
+     * @description: 获取橙子建站站点列表
+     * @param token
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    @Override
+    public Result getSite(CtopOauthToken token) {
+        JSONObject params = new JSONObject();
+        params.put("advertiser_id", token.getAccountId());
+        params.put("status", "SITE_ONLINE");
+        params.put("page", 1);
+        params.put("page_size", 300);
+        params.put("filtering", null);
+        params = Check.jsonRemoveEmpty(params);
+        JSONObject jsonObject = HttpUtils.bytedanceGetRequest(token.getAccessToken(),
+                urlPath+ PropertiesUtils.getValue("bytedance_config", "bytedance_v2_site_get"),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);
+        }
+        JSONObject dataList = jsonObject.getJSONObject("data");
+        if (null == dataList || dataList.isEmpty()) {
+            log.info("获取橙子建站站点列表不存在==》accountId:{},message:{}", token.getAccountId(), message);
+            return Result.error("获取橙子建站站点列表不存在");
+        }
+        return Result.successMsg("获取橙子建站站点列表成功",dataList.getJSONArray("list"));
+
+    }
+
 
 }

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

@@ -106,6 +106,13 @@ public interface IAiBytedanceAdvertiserStrategyService extends IService<AiByteda
 
     Result createAudiencePackage(String accountId);
 
+    /**
+     * 获取橙子建站站点列表
+     * @param accountId
+     * @return
+     */
+    Result getChengZiSite(String accountId);
+
 
 
 

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

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.base.Joiner;
+import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.DateUtils;
@@ -1459,5 +1460,29 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
         return Result.successMsg("定向包创建成功。",list);
     }
 
+    /**
+     *
+     * @description:获取橙子建站站点列表
+     * https://www.chengzijianzhan.com/tetris/page/XXXXXXXXXXXXX/(其中XX是建站ID,拼装后就可获得投放的URL/预览URL)
+     * Android应用下载详情页 当广告计划app_type为"APP_ANDROID"时, 必填
+     * @param accountId
+     * @return: org.jeecg.common.api.vo.Result
+     * @author: zianY
+     */
+    @Override
+    public Result getChengZiSite(String accountId) {
+        CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
+        Result list = marketingService.getSite(token);
+        if (!list.isSuccess()){
+            return Result.errorMsg(list.getMessage());
+        }
+        JSONArray array =(JSONArray)list.getResult();
+        List<Map<String,Object>> dataList = JSONArray.parseObject(array.toJSONString(),List.class);
+        dataList.forEach(map -> {
+            map.put("creativeWebUrl","https://www.chengzijianzhan.com/tetris/page/"+map.get("siteId"));
+        });
+        return Result.successMsg("获取橙子建站站点列表成功。",dataList);
+    }
+
 
 }

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

@@ -85,6 +85,9 @@ bytedance_v2_audience_package_get=/2/audience_package/get/
 #\u521B\u5EFA\u5B9A\u5411\u5305
 bytedance_v2_audience_package_create=/2/audience_package/create/
 
+#\u83B7\u53D6\u6A59\u5B50\u5EFA\u7AD9\u7AD9\u70B9\u5217\u8868
+bytedance_v2_site_get=/2/tools/site/get/
+
 
 
 

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

@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.bytedance.advertise.dockapi.MarketingService;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.RuleDataAccount;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
@@ -18,7 +19,9 @@ import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
+import org.jeecg.modules.bytedance.common.entity.CtopOauthToken;
 import org.jeecg.modules.bytedance.common.entity.MaterialImageInfo;
+import org.jeecg.modules.bytedance.common.service.ICtopOauthTokenService;
 import org.jeecg.modules.bytedance.common.service.IMaterialImageInfoService;
 import org.jeecg.modules.bytedance.common.utils.*;
 import org.jeecg.modules.system.service.ISysRoleService;
@@ -57,6 +60,11 @@ public class AiBytedanceAdvertiserStrategyController {
 	@Autowired
 	private IMaterialImageInfoService materialImageInfoService;
 
+	@Autowired
+	private MarketingService marketingService;
+	@Autowired
+	private ICtopOauthTokenService tokenService;
+
 
 	/**
 	  * 分页列表查询
@@ -455,4 +463,24 @@ public class AiBytedanceAdvertiserStrategyController {
 			return Result.error("请求失败,请联系开发人员!");
 		}
 	}
+
+
+	@ApiOperation(value="获取橙子建站站点列表", notes="获取橙子建站站点列表")
+	@GetMapping(value = "/getChengZiSite")
+	public Result getChengZiSite(@RequestParam("accountId") String accountId) {
+		try {
+			return aiBytedanceAdvertiserStrategyService.getChengZiSite(accountId);
+		}catch (Exception e){
+			log.error("获取橙子建站站点列表异常",e);
+			return Result.error("请求失败,请联系开发人员!");
+		}
+	}
+
+
+
+
+
+
+
+
 }