Forráskód Böngészése

Merge branch 'test' of http://git.tjyourong.com.cn/ctop/adsp-bytedance into test

huangxuechao 4 éve
szülő
commit
5557e2666f

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

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

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/report/mapper/xml/BytedanceAdvertiserHourlyReportMapper.xml

@@ -149,7 +149,7 @@
         ad_name,
         create_time,
         update_time,
-        stat_hour
+        MAX(stat_hour) as statHour
         FROM
         ctop_bytedance_report_plan_hourly
         where 1 =1

+ 4 - 6
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/report/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java

@@ -333,8 +333,8 @@ public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<Byte
             planQueryWrapper.eq("id",reportCostVo.getAdId());
             planQueryWrapper.last("limit 1");
             ByteDanceAdvertisePlan planInfo = byteDanceAdvertisePlanMapper.selectOne(planQueryWrapper);
-            reportCostVo.setCpaBid(String.format("%.2f",planInfo.getCpaBid()));
-            reportCostVo.setBid(String.format("%.2f",planInfo.getBid()));
+            reportCostVo.setCpaBid(Check.isNull(planInfo) ? "0" : String.format("%.2f",planInfo.getCpaBid()));
+            reportCostVo.setBid(Check.isNull(planInfo) ? "0" : String.format("%.2f",planInfo.getBid()));
 
             // 平均千次展显费用 = 总花费/展示数 * 1000
             double show = 0;
@@ -372,10 +372,8 @@ public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<Byte
                 lastReportCostVoList = bytedanceAdvertiserHourlyReportMapper.selectReportPlanCostInfoDay(accountId, reportCostVo.getAdId(), lastTimeMap.get("lastTimeStart"),lastTimeMap.get("lastTimeEnd"));
             }else {
                 //时报
-                // 获取当前时间 数据 最后的 时间点
-                ReportCostVo statHourVo = reportCostVoList.stream().max(Comparator.comparing(ReportCostVo::getStatHour)).get();
                 //查询上阶段 同时间点 之前的 时报 数据信息
-                lastReportCostVoList = bytedanceAdvertiserHourlyReportMapper.selectReportPlanCostHourLast(accountId,reportCostVo.getAdId(),lastTimeMap.get("lastTimeStart"),lastTimeMap.get("lastTimeEnd"),statHourVo.getStatHour());
+                lastReportCostVoList = bytedanceAdvertiserHourlyReportMapper.selectReportPlanCostHourLast(accountId,reportCostVo.getAdId(),lastTimeMap.get("lastTimeStart"),lastTimeMap.get("lastTimeEnd"),reportCostVo.getStatHour());
             }
             double compare = 0;
             if (lastReportCostVoList.size() > 0){
@@ -392,7 +390,7 @@ public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<Byte
             advertisePlanQueryWrapper.eq("id",reportCostVo.getAdId());
             advertisePlanQueryWrapper.last("limit 1");
             ByteDanceAdvertisePlan advertisePlan = byteDanceAdvertisePlanMapper.selectOne(advertisePlanQueryWrapper);
-            reportCostVo.setOptStatus(advertisePlan.getOptStatus());
+            reportCostVo.setOptStatus(Check.isNull(advertisePlan) ? "0" : advertisePlan.getOptStatus());
         }
         PageInfo<ReportCostVo> pageInfo = new PageInfo<ReportCostVo>(reportCostVoList);
         return Result.successMsg("成功。", pageInfo);

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

@@ -135,11 +135,12 @@ public class BytedanceReportController {
 	}
 
 
-	@ApiOperation(value="投放数据-更新计划出价", notes="投放数据-更新计划出价")
+
+	@ApiOperation(value="投放数据-更新计划出价-bid", notes="投放数据-更新计划出价")
 	@GetMapping(value = "/updateADBid")
 	public Result updateADBid(@RequestParam("accountId") String accountId,
-									@RequestParam("adId") String adId,
-									@RequestParam("bid") BigDecimal bid) {
+							  @RequestParam("adId") String adId,
+							  @RequestParam("bid") BigDecimal bid) {
 		try {
 			CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
 			List<Map<String, Object>> listMap = new ArrayList<>();
@@ -156,9 +157,53 @@ public class BytedanceReportController {
 			byteDanceAdvertisePlan.setBid(bid);
 			//更新 表 定向包id
 			byteDanceAdvertisePlanService.updatePlanOrPackage(byteDanceAdvertisePlan);
-			return Result.successMsg("修改成功。",null);
+			return Result.successMsg("修改bid成功。",null);
+		}catch (Exception e){
+			log.error("投放数据-更新计划出价-bid异常",e);
+			return Result.error("请求失败,请联系开发人员!");
+		}
+	}
+
+
+	@ApiOperation(value="投放数据-更新计划出价-cpaBid", notes="投放数据-更新计划出价")
+	@GetMapping(value = "/updateADCpaBid")
+	public Result updateADCpaBid(@RequestParam("accountId") String accountId,
+									@RequestParam("adId") String adId,
+									@RequestParam("cpaBid") BigDecimal cpaBid) {
+		try {
+			CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
+			PlanSearchVo planSearchVo = new PlanSearchVo();
+			String[] ids = adId.split(",");
+			planSearchVo.setIds(ids);
+			//2 获取广告计划
+			Result result = marketingService.getPlanList(token,planSearchVo,1,1000);
+			if (!result.isSuccess()){
+				return Result.errorMsg(result.getMessage());
+			}
+			JSONObject jsonObject =JSONObject.parseObject(result.getResult().toString());
+			JSONArray array = jsonObject.getJSONArray("list");
+			List<Map<String,Object>> dataList = JSONArray.parseObject(array.toJSONString(),List.class);
+
+			for (Map<String, Object> map : dataList) {
+				String modifyTime = map.get("modify_time").toString();
+				AiBytedanceAdvertiserStrategy strategy = new AiBytedanceAdvertiserStrategy();
+				strategy.setAccountId(Long.valueOf(accountId));
+				strategy.setAdCpaBid(cpaBid);
+				//3 修改广告计划 中的 cpaBid
+				Result resultUpd = marketingService.updateAdvertiserPlan(token,adId,modifyTime,strategy);
+				if (!resultUpd.isSuccess()){
+					return Result.errorMsg(resultUpd.getMessage());
+				}
+				ByteDanceAdvertisePlan byteDanceAdvertisePlan = new ByteDanceAdvertisePlan();
+				byteDanceAdvertisePlan.setId(Long.valueOf(adId));
+				byteDanceAdvertisePlan.setCpaBid(cpaBid);
+				//更新 表 bid || 定向包id || 状态
+				byteDanceAdvertisePlanService.updatePlanOrPackage(byteDanceAdvertisePlan);
+			}
+
+			return Result.successMsg("修改cpaBid成功。",null);
 		}catch (Exception e){
-			log.error("投放数据-更新计划出价异常",e);
+			log.error("投放数据-更新计划出价-cpaBid异常",e);
 			return Result.error("请求失败,请联系开发人员!");
 		}
 	}