|
@@ -5,10 +5,17 @@ import cn.com.ctop.common.module.utils.HttpUtils;
|
|
import cn.com.ctop.toutiao.modules.adlab.constants.CreateProjectUrlConstant;
|
|
import cn.com.ctop.toutiao.modules.adlab.constants.CreateProjectUrlConstant;
|
|
import cn.com.ctop.toutiao.modules.adlab.service.ICreateProjectService;
|
|
import cn.com.ctop.toutiao.modules.adlab.service.ICreateProjectService;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
+import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * Created by JQ.bi on 2020.09.02
|
|
|
|
+ */
|
|
|
|
+@Service
|
|
public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -22,7 +29,8 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
JSONObject params = new JSONObject();
|
|
JSONObject params = new JSONObject();
|
|
params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
params.put("advertiser_id", requestBody.getLong("accountId"));
|
|
params.put("name", requestBody.getString("name"));
|
|
params.put("name", requestBody.getString("name"));
|
|
- params.put("scenario", requestBody.getString("scenario"));
|
|
|
|
|
|
+ //暂时写死,只有项目网服定制
|
|
|
|
+ params.put("scenario", "INTERNET_SERVICE");
|
|
params.put("ad_target", requestBody.getString("adTarget"));
|
|
params.put("ad_target", requestBody.getString("adTarget"));
|
|
params.put("delivery_range", requestBody.getString("deliveryRange") == null ? "DEFAULT" : requestBody.getString("deliveryRange"));
|
|
params.put("delivery_range", requestBody.getString("deliveryRange") == null ? "DEFAULT" : requestBody.getString("deliveryRange"));
|
|
params.put("landing_type", requestBody.getString("landingType"));
|
|
params.put("landing_type", requestBody.getString("landingType"));
|
|
@@ -31,7 +39,7 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public JSONObject updateGroupConvert(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
|
|
|
+ public JSONObject updateGroupConvert(CtopOauthToken oauthToken, Map<String, Object> requestBody) {
|
|
|
|
|
|
//请求头**
|
|
//请求头**
|
|
Map<String, String> headers = new HashMap<>();
|
|
Map<String, String> headers = new HashMap<>();
|
|
@@ -39,23 +47,24 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
//请求参数
|
|
//请求参数
|
|
JSONObject params = new JSONObject();
|
|
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"));
|
|
|
|
|
|
+ params.put("advertiser_id", requestBody.get("accountId"));
|
|
|
|
+ params.put("group_id", requestBody.get("groupId"));
|
|
|
|
+ params.put("platform", requestBody.get("platform"));
|
|
|
|
+ params.put("url", requestBody.get("url"));
|
|
|
|
+ params.put("download_mode", requestBody.get("download_mode") == null ? "DEFAULT" : requestBody.get("download_mode"));
|
|
|
|
+ params.put("package", requestBody.get("adlabPackage"));
|
|
|
|
+ params.put("web_url", requestBody.get("webUrl"));
|
|
|
|
+ params.put("convert_id", requestBody.get("convertId"));
|
|
|
|
+ params.put("open_url", requestBody.get("openUrl"));
|
|
|
|
+ params.put("download_type", requestBody.get("downloadType"));
|
|
|
|
+ params.put("app_type", requestBody.get("appType"));
|
|
|
|
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CONVERT_UPDATE, params, headers));
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CONVERT_UPDATE, params, headers));
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public JSONObject updateGroupAudience(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
|
|
|
+ public JSONObject updateGroupAudience(CtopOauthToken oauthToken, Map<String, Object> requestBody) {
|
|
|
|
|
|
//请求头**
|
|
//请求头**
|
|
Map<String, String> headers = new HashMap<>();
|
|
Map<String, String> headers = new HashMap<>();
|
|
@@ -63,36 +72,22 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
//请求参数
|
|
//请求参数
|
|
JSONObject params = new JSONObject();
|
|
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"));
|
|
|
|
|
|
+ params.put("advertiser_id", requestBody.get("accountId"));
|
|
|
|
+ params.put("group_id", requestBody.get("groupId"));
|
|
|
|
+ params.put("inventory_type", requestBody.get("inventoryType"));
|
|
//投放范围为穿山甲时可选 ORIGINAL_VIDEO 表示原生,REWARDED_VIDEO 表示激励视频
|
|
//投放范围为穿山甲时可选 ORIGINAL_VIDEO 表示原生,REWARDED_VIDEO 表示激励视频
|
|
- if(requestBody.getString("deliveryRange").equals("UNION")){
|
|
|
|
- params.put("union_video_type",requestBody.getJSONArray("unionVideoType"));
|
|
|
|
|
|
+ if (requestBody.get("deliveryRange").equals("UNION")) {
|
|
|
|
+ params.put("union_video_type", requestBody.get("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"));
|
|
|
|
|
|
+ params.put("audience", requestBody.get("audience"));
|
|
|
|
+ params.put("inventory_types", requestBody.get("inventoryTypes"));
|
|
|
|
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_AUDIENCE_UPDATE, params, headers));
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_AUDIENCE_UPDATE, params, headers));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public JSONObject updateGroupCreative(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
|
|
|
+ public JSONObject updateGroupCreative(CtopOauthToken oauthToken, Map<String,Object> requestBody) {
|
|
|
|
|
|
//请求头**
|
|
//请求头**
|
|
Map<String, String> headers = new HashMap<>();
|
|
Map<String, String> headers = new HashMap<>();
|
|
@@ -100,31 +95,31 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
//请求参数
|
|
//请求参数
|
|
JSONObject params = new JSONObject();
|
|
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("advertiser_id", requestBody.get("accountId"));
|
|
|
|
+ params.put("group_id", requestBody.get("groupId"));
|
|
|
|
+ params.put("image_info", requestBody.get("imageInfo"));
|
|
|
|
+ params.put("video_info", requestBody.get("videoInfo"));
|
|
|
|
+ params.put("title", requestBody.get("scenario"));
|
|
|
|
+ params.put("app_name", requestBody.get("appName"));
|
|
|
|
+ params.put("source", requestBody.get("source"));
|
|
|
|
+ params.put("is_follow_material", requestBody.get("isFollowMaterial"));
|
|
|
|
+ params.put("third_industry_id", requestBody.get("thirdIndustryId"));
|
|
|
|
+ params.put("ad_keywords", requestBody.get("adKeywords"));
|
|
|
|
+ params.put("playable_url", requestBody.get("playableUrl"));
|
|
|
|
+ params.put("action_track_url", requestBody.get("actionTrackUrl"));
|
|
|
|
+ params.put("track_url", requestBody.get("trackUrl"));
|
|
|
|
+ if (!requestBody.get("deliveryRange").equals("UNION")) {
|
|
|
|
+ params.put("video_play_track_url", requestBody.get("videoPlayTrackUrl"));
|
|
|
|
+ params.put("video_play_done_track_url", requestBody.get("videoPlayDoneTrackUrl"));
|
|
|
|
+ params.put("video_play_effective_track_url", requestBody.get("videoPlayEffectiveTrackUrl"));
|
|
}
|
|
}
|
|
- params.put("creative_auto_generate_switch",requestBody.getString("creativeAutoGenerateSwitch"));
|
|
|
|
|
|
+ params.put("creative_auto_generate_switch", requestBody.get("creativeAutoGenerateSwitch"));
|
|
|
|
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CREATIVE_UPDATE, params, headers));
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_CREATIVE_UPDATE, params, headers));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public JSONObject updateGroupBudget(CtopOauthToken oauthToken, JSONObject requestBody) {
|
|
|
|
|
|
+ public JSONObject updateGroupBudget(CtopOauthToken oauthToken, Map<String,Object> requestBody) {
|
|
|
|
|
|
//请求头**
|
|
//请求头**
|
|
Map<String, String> headers = new HashMap<>();
|
|
Map<String, String> headers = new HashMap<>();
|
|
@@ -132,18 +127,36 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
headers.put("Access-Token", oauthToken.getAccessToken());
|
|
//请求参数
|
|
//请求参数
|
|
JSONObject params = new JSONObject();
|
|
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"));
|
|
|
|
|
|
+ params.put("advertiser_id", requestBody.get("accountId"));
|
|
|
|
+ params.put("group_id", requestBody.get("groupId"));
|
|
|
|
+ params.put("bid", requestBody.get("bid"));
|
|
|
|
+ params.put("budget_mode", requestBody.get("budgetMode") == null ? "DAILY" : requestBody.get("budgetMode"));
|
|
|
|
+ params.put("budget", requestBody.get("budget"));
|
|
|
|
+ params.put("auto_stop", requestBody.get("autoStop") == null ? 0 : requestBody.get("autoStop"));
|
|
|
|
+ params.put("deep_bid", requestBody.get("deepBid"));
|
|
|
|
+ params.put("start_time", requestBody.get("startTime"));
|
|
|
|
+ params.put("end_time", requestBody.get("endTime"));
|
|
|
|
+ //weekTime字段需要处理为number[number[]]
|
|
|
|
+ params.put("week_time", weekTimeHandle((String) requestBody.get("weekTime")));
|
|
|
|
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_BUDGET_UPDATE, params, headers));
|
|
return JSONObject.parseObject(HttpUtils.httpPostRequest(CreateProjectUrlConstant.ADLAB_GROUP_BUDGET_UPDATE, params, headers));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private List<List<Integer>> weekTimeHandle(String weekTime) {
|
|
|
|
+ List<List<Integer>> weekTime2List = null;
|
|
|
|
+ if (!weekTime.isEmpty() || (weekTime.contains("0") && weekTime.contains("1"))) {
|
|
|
|
+ weekTime2List=new ArrayList();
|
|
|
|
+ char[] chars = weekTime.toCharArray();
|
|
|
|
+ for(int i=0;i<chars.length;i++){
|
|
|
|
+ List<Integer> temp=new ArrayList<>();
|
|
|
|
+ if((i+1)%48==0){
|
|
|
|
+ weekTime2List.add(temp);
|
|
|
|
+ temp.clear();
|
|
|
|
+ }else{
|
|
|
|
+ temp.add(i);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return weekTime2List;
|
|
|
|
+ }
|
|
}
|
|
}
|