|
@@ -0,0 +1,149 @@
|
|
|
+package cn.com.ctop.toutiao.modules.adlab.service.impl;
|
|
|
+
|
|
|
+import cn.com.ctop.common.module.entity.CtopOauthToken;
|
|
|
+import cn.com.ctop.common.module.utils.HttpUtils;
|
|
|
+import cn.com.ctop.toutiao.modules.adlab.constants.CreateProjectUrlConstant;
|
|
|
+import cn.com.ctop.toutiao.modules.adlab.service.ICreateProjectService;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject createGroup(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
+
|
|
|
+ //请求头**
|
|
|
+ Map<String, String> headers = new HashMap<>();
|
|
|
+ headers.put("Content-Type", "application/json");
|
|
|
+ headers.put("Access-Token", oauthToken.getAccessToken());
|
|
|
+ //请求参数
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
|
+ params.put("name", requestBody.getString("name"));
|
|
|
+ params.put("scenario", requestBody.getString("scenario"));
|
|
|
+ params.put("ad_target", requestBody.getString("adTarget"));
|
|
|
+ params.put("delivery_range", requestBody.getString("deliveryRange") == null ? "DEFAULT" : requestBody.getString("deliveryRange"));
|
|
|
+ params.put("landing_type", requestBody.getString("landingType"));
|
|
|
+
|
|
|
+ return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CREATE, params, headers));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject updateGroupConvert(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
+
|
|
|
+ //请求头**
|
|
|
+ Map<String, String> headers = new HashMap<>();
|
|
|
+ headers.put("Content-Type", "application/json");
|
|
|
+ headers.put("Access-Token", oauthToken.getAccessToken());
|
|
|
+ //请求参数
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
|
+ params.put("group_id",requestBody.getLong("groupId"));
|
|
|
+ params.put("platform",requestBody.getString("platform"));
|
|
|
+ params.put("url",requestBody.getString("url"));
|
|
|
+ params.put("download_mode",requestBody.getString("download_mode")==null?"DEFAULT":requestBody.getString("download_mode"));
|
|
|
+ params.put("web_url",requestBody.getString("webUrl"));
|
|
|
+ params.put("convert_id",requestBody.getString("convertId"));
|
|
|
+ params.put("open_url",requestBody.getString("openUrl"));
|
|
|
+ params.put("download_type",requestBody.getString("downloadType"));
|
|
|
+ params.put("app_type",requestBody.getString("appType"));
|
|
|
+
|
|
|
+ return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CONVERT_UPDATE, params, headers));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject updateGroupAudience(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
+
|
|
|
+ //请求头**
|
|
|
+ Map<String, String> headers = new HashMap<>();
|
|
|
+ headers.put("Content-Type", "application/json");
|
|
|
+ headers.put("Access-Token", oauthToken.getAccessToken());
|
|
|
+ //请求参数
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
|
+ params.put("group_id",requestBody.getLong("groupId"));
|
|
|
+ params.put("inventory_type",requestBody.getJSONArray("inventoryType"));
|
|
|
+ //投放范围为穿山甲时可选 ORIGINAL_VIDEO 表示原生,REWARDED_VIDEO 表示激励视频
|
|
|
+ if(requestBody.getString("deliveryRange").equals("UNION")){
|
|
|
+ params.put("union_video_type",requestBody.getJSONArray("unionVideoType"));
|
|
|
+ }
|
|
|
+ //定向信息
|
|
|
+ JSONObject audience=new JSONObject();
|
|
|
+ audience.put("age",requestBody.getJSONArray("age"));
|
|
|
+ audience.put("city",requestBody.getJSONArray("city"));
|
|
|
+ audience.put("district",requestBody.getString("district"));
|
|
|
+ audience.put("gender",requestBody.getString("gender"));
|
|
|
+ audience.put("retargeting_tags_exclude",requestBody.getString("retargetingTagsExclude"));
|
|
|
+ audience.put("retargeting_tags_include",requestBody.getString("retargetingTagsInclude"));
|
|
|
+ if(requestBody.getString("deliveryRange").equals("UNION")){
|
|
|
+ audience.put("superior_popularity_type",requestBody.getString("superiorPopularityType"));
|
|
|
+ audience.put("exclude_flow_package",requestBody.getJSONArray("excludeFlowPackage"));
|
|
|
+ audience.put("flow_package",requestBody.getJSONArray("flowPackage"));
|
|
|
+ }
|
|
|
+ audience.put("auto_extend_enabled",requestBody.getString("autoExtendEnabled")==null?0:requestBody.getString("autoExtendEnabled"));
|
|
|
+ audience.put("auto_extend_targets",requestBody.getString("autoExtendTargets"));
|
|
|
+ params.put("audience",audience);
|
|
|
+ params.put("inventory_types",requestBody.getJSONArray("inventoryTypes"));
|
|
|
+
|
|
|
+ return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_AUDIENCE_UPDATE, params, headers));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject updateGroupCreative(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
+
|
|
|
+ //请求头**
|
|
|
+ Map<String, String> headers = new HashMap<>();
|
|
|
+ headers.put("Content-Type", "application/json");
|
|
|
+ headers.put("Access-Token", oauthToken.getAccessToken());
|
|
|
+ //请求参数
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
|
+ params.put("group_id",requestBody.getLong("groupId"));
|
|
|
+ params.put("image_info",requestBody.get("imageInfo"));
|
|
|
+ params.put("video_info",requestBody.get("videoInfo"));
|
|
|
+ params.put("title", requestBody.getJSONArray("scenario"));
|
|
|
+ params.put("app_name", requestBody.getString("appName"));
|
|
|
+ params.put("source", requestBody.getString("source"));
|
|
|
+ params.put("is_follow_material", requestBody.getString("isFollowMaterial"));
|
|
|
+ params.put("third_industry_id", requestBody.getString("thirdIndustryId"));
|
|
|
+ params.put("ad_keywords", requestBody.getJSONArray("adKeywords"));
|
|
|
+ params.put("playable_url", requestBody.getString("playableUrl"));
|
|
|
+ params.put("action_track_url", requestBody.getString("actionTrackUrl"));
|
|
|
+ params.put("track_url", requestBody.getString("trackUrl"));
|
|
|
+ if(!requestBody.getString("deliveryRange").equals("UNION")){
|
|
|
+ params.put("video_play_track_url", requestBody.getString("videoPlayTrackUrl"));
|
|
|
+ params.put("video_play_done_track_url", requestBody.getString("videoPlayDoneTrackUrl"));
|
|
|
+ params.put("video_play_effective_track_url", requestBody.getString("videoPlayEffectiveTrackUrl"));
|
|
|
+ }
|
|
|
+ params.put("creative_auto_generate_switch",requestBody.getString("creativeAutoGenerateSwitch"));
|
|
|
+
|
|
|
+ return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CREATIVE_UPDATE, params, headers));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject updateGroupBudget(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
+
|
|
|
+ //请求头**
|
|
|
+ Map<String, String> headers = new HashMap<>();
|
|
|
+ headers.put("Content-Type", "application/json");
|
|
|
+ headers.put("Access-Token", oauthToken.getAccessToken());
|
|
|
+ //请求参数
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
|
+ params.put("group_id",requestBody.getLong("groupId"));
|
|
|
+ params.put("bid", requestBody.getFloat("bid"));
|
|
|
+ params.put("budget_mode", requestBody.getString("budgetMode")==null?"DAILY":requestBody.getString("budgetMode"));
|
|
|
+ params.put("budget", requestBody.getString("budget"));
|
|
|
+ params.put("auto_stop", requestBody.getString("autoStop")==null?0:requestBody.getString("autoStop"));
|
|
|
+ params.put("deep_bid", requestBody.getString("deepBid"));
|
|
|
+ params.put("start_time", requestBody.getString("startTime"));
|
|
|
+ params.put("end_time", requestBody.getString("endTime"));
|
|
|
+ params.put("week_time", requestBody.getString("weekTime"));
|
|
|
+
|
|
|
+ return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_BUDGET_UPDATE, params, headers));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|