瀏覽代碼

更新计划-cpaBid;scheduleTime

yangzian 3 年之前
父節點
當前提交
a8ef0ea533

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

@@ -11,7 +11,6 @@ import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
-import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAutocreateLog;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceCampaign;
 import org.jeecg.modules.bytedance.advertise.enums.BytedanceConvertType;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAutocreateLogService;
@@ -791,11 +790,13 @@ public class MarketingServiceImpl implements MarketingService{
         params.put("schedule_time", strategy.getAdScheduleTime());
         //付费方式(计划出价类型) 决定投放目标的类型,比如CPC表示点击量,OCPM表示转化量
         params.put("pricing", strategy.getAdPricing());
+        //params.put("pricing", "PRICING_OCPM");
         //目标转化出价/预期成本, 当pricing为"OCPM"、"OCPC"出价方式时必填)
         //pricing为"OCPC"时取值范围:0.1-10000元;
         //pricing为"OCPM"时取值范围:0.1-10000元;
         //出价不能大于预算否则会报错
         params.put("cpa_bid", strategy.getAdCpaBid());
+        //params.put("bid", strategy.getAdCpaBid());
         params = Check.jsonRemoveEmpty(params);
         JSONObject jsonObject = HttpUtils.bytedancePostRequest(token.getAccessToken(),
                 urlPath + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_update"), params);

+ 3 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/ByteDanceAdvertisePlanMapper.xml

@@ -45,6 +45,9 @@
             <if test="cpaBid != null and cpaBid!=''">
                 cpa_bid = #{cpaBid},
             </if>
+            <if test="scheduleTime != null and scheduleTime!=''">
+                schedule_time = #{scheduleTime},
+            </if>
         </set>
         where id = #{id}
     </update>

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

@@ -1,6 +1,5 @@
 package org.jeecg.modules.bytedance.advertise.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,11 +11,9 @@ 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.AiBytedanceAutocreateLog;
 import org.jeecg.modules.bytedance.advertise.entity.RuleDataAccount;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
-import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAutocreateLogService;
 import org.jeecg.modules.bytedance.advertise.service.IRuleDataAccountService;
 import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
@@ -33,7 +30,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -388,7 +388,8 @@ public class AiBytedanceAdvertiserStrategyController {
 			return result;
 		}
 		strategys.forEach(strategy -> executorService.submit(()->{
-			aiBytedanceAdvertiserStrategyService.customCreativeSupplement(strategy, hour,strategy.getAdOpenUrl());
+				aiBytedanceAdvertiserStrategyService.customCreativeSupplement(strategy, hour,strategy.getAdOpenUrl());
+
 		}));
 		ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
 		return result;

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

@@ -2,12 +2,9 @@ package org.jeecg.modules.bytedance.advertise.controller;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.google.gson.JsonArray;
-import io.lettuce.core.StrAlgoArgs;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.beanutils.ConvertUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.bytedance.advertise.dockapi.MarketingService;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
@@ -16,7 +13,6 @@ import org.jeecg.modules.bytedance.advertise.service.IByteDanceAdvertisePlanServ
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.entity.CtopOauthToken;
 import org.jeecg.modules.bytedance.common.service.ICtopOauthTokenService;
-import org.jeecg.modules.bytedance.common.service.IMaterialInfoService;
 import org.jeecg.modules.bytedance.common.utils.Check;
 import org.jeecg.modules.bytedance.report.service.IBytedanceAdvertiserHourlyReportService;
 import org.jeecg.modules.bytedance.report.service.IBytedancePlanHourlyReportService;
@@ -28,9 +24,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 投放数据
@@ -169,7 +167,8 @@ public class BytedanceReportController {
 	@GetMapping(value = "/updateADCpaBid")
 	public Result updateADCpaBid(@RequestParam("accountId") String accountId,
 									@RequestParam("adId") String adId,
-									@RequestParam("cpaBid") BigDecimal cpaBid) {
+									@RequestParam("cpaBid") BigDecimal cpaBid,
+									@RequestParam("adScheduleTime") String adScheduleTime) {
 		try {
 			CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
 			PlanSearchVo planSearchVo = new PlanSearchVo();
@@ -185,10 +184,13 @@ public class BytedanceReportController {
 			List<Map<String,Object>> dataList = JSONArray.parseObject(array.toJSONString(),List.class);
 
 			for (Map<String, Object> map : dataList) {
-				String modifyTime = map.get("modify_time").toString();
+				//不需要传modifytime字段
+				//String modifyTime = map.get("modify_time").toString();
+				String modifyTime = null;
 				AiBytedanceAdvertiserStrategy strategy = new AiBytedanceAdvertiserStrategy();
 				strategy.setAccountId(Long.valueOf(accountId));
 				strategy.setAdCpaBid(cpaBid);
+				strategy.setAdScheduleTime(adScheduleTime);
 				//3 修改广告计划 中的 cpaBid
 				Result resultUpd = marketingService.updateAdvertiserPlan(token,adId,modifyTime,strategy);
 				if (!resultUpd.isSuccess()){
@@ -197,6 +199,7 @@ public class BytedanceReportController {
 				ByteDanceAdvertisePlan byteDanceAdvertisePlan = new ByteDanceAdvertisePlan();
 				byteDanceAdvertisePlan.setId(Long.valueOf(adId));
 				byteDanceAdvertisePlan.setCpaBid(cpaBid);
+				byteDanceAdvertisePlan.setScheduleTime(adScheduleTime);
 				//更新 表 bid || 定向包id || 状态
 				byteDanceAdvertisePlanService.updatePlanOrPackage(byteDanceAdvertisePlan);
 			}