Prechádzať zdrojové kódy

监测链接预警修改

yangzian 3 rokov pred
rodič
commit
db341dc462

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IMonitorBytedanceService.java

@@ -23,5 +23,5 @@ public interface IMonitorBytedanceService{
 
     Result selectAccountActionTrackUrlList(String accountId, String warningFlag, Set<String> operatorUserIds, Integer pageNum, Integer pageSize);
 
-    void trackUrlContrast(CtopOauthToken token,String accountId,String converId,String planId);
+    void trackUrlContrast(CtopOauthToken token,String accountId,Long assetId,String downloadUrl,String planId);
 }

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

@@ -196,7 +196,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 adDplinkInfo.setImageMode(creativeImageMode);
                 adDplinkInfoService.save(adDplinkInfo);
 
-                monitorBytedanceService.trackUrlContrast(token,String.valueOf(strategy.getAccountId()),String.valueOf(strategy.getAdConvertId()),String.valueOf(adId));
+                monitorBytedanceService.trackUrlContrast(token,String.valueOf(strategy.getAccountId()),strategy.getAdAssetIds(),strategy.getAdDownloadUrl(),String.valueOf(adId));
                 log.info("账户id:{};==========不使用dp链接=======校验第三方监测链接==============>{};message==>{}",strategy.getAccountId());
 
                 BytedanceAiVideoCreativeLog creativeLog = new BytedanceAiVideoCreativeLog(strategy,adId,campaignId,video);
@@ -281,7 +281,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 adDplinkInfo.setImageMode(creativeImageMode);
                 adDplinkInfoService.save(adDplinkInfo);
 
-                monitorBytedanceService.trackUrlContrast(token,String.valueOf(strategy.getAccountId()),String.valueOf(strategy.getAdConvertId()),String.valueOf(adId));
+                monitorBytedanceService.trackUrlContrast(token,String.valueOf(strategy.getAccountId()),strategy.getAdAssetIds(),strategy.getAdDownloadUrl(),String.valueOf(adId));
                 log.info("账户id:{};==========使用dp链接=======校验第三方监测链接==============>{};message==>{}",strategy.getAccountId());
 
                 BytedanceAiVideoCreativeLog creativeLog = new BytedanceAiVideoCreativeLog(strategy,adId,campaignId,video);

+ 16 - 9
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/MonitorBytedanceServiceImpl.java

@@ -178,7 +178,7 @@ public class MonitorBytedanceServiceImpl implements IMonitorBytedanceService {
             //根据账户 查询头条计划中的 点击监测链接
             List<MonitorBytedanceAdVo> actionTrackUrlList = monitorBytedanceActionTrackUrlMapper.getBytedancPlanActionTrackUrl(Long.valueOf(accountInfo.getAccountId()));
             if(Check.isNull(actionTrackUrlList)){
-                log.info("accountId:=={}====暂无计划信息============",accountInfo.getAccountId());
+                log.info("accountId:=={}====计划暂无监测链接信息============",accountInfo.getAccountId());
                 continue;
                 //return Result.successMsg("accountId:=={"+accountInfo.getAccountId()+"}====暂无计划信息============。",null);
             }
@@ -189,7 +189,7 @@ public class MonitorBytedanceServiceImpl implements IMonitorBytedanceService {
                     //关停计划
                     CtopOauthToken token = tokenService.getTokenByAccountId(Long.valueOf(accountInfo.getAccountId()));
                     marketingServiceImpl.updPlanStatus(token, Arrays.asList(Long.valueOf(actiontrackUrl.getPlanId())),"disable");
-                    log.info("accountId:=={}==计划id:{}=====第三方点击监测链接不一致,计划已【关停】============",accountInfo.getAccountId(),actiontrackUrl.getPlanId());
+                    log.info("accountId:=={}==计划id:{}=====第三方点击监测链接与配置中的链接不一致,计划已【关停】============",accountInfo.getAccountId(),actiontrackUrl.getPlanId());
                     planList.add(actiontrackUrl.getPlanId());
                 }
             }
@@ -223,35 +223,42 @@ public class MonitorBytedanceServiceImpl implements IMonitorBytedanceService {
      *
      * @param token
      * @param accountId 账户id
-     * @param converId 转化目标id
+     * @param assetId 事件管理id
+     * @param downloadUrl 下载链接
      * @param planId 计划id
      * @return: void
      * @author: zianY
      * @time: 2022/1/13
      */
-    public void trackUrlContrast(CtopOauthToken token,String accountId,String converId,String planId){
+    public void trackUrlContrast(CtopOauthToken token,String accountId,Long assetId,String downloadUrl,String planId){
         //校验 账户自动投放配置中 监测链接
         //查询 链接配置
         List<MonitorBytedanceAdVo> monitorBytedanceAdVos = monitorBytedanceActionTrackUrlMapper.getAccountActionTrackUrl(String.valueOf(accountId),"1",null);
         if (!Check.isNull(monitorBytedanceAdVos)){
             MonitorBytedanceAdVo bytedanceAdVo = monitorBytedanceAdVos.get(0);
             // 账户id  和 转化id 查询 第三方监测链接
-            Result resultConvert = aiBytedanceAdvertiserStrategyService.readToolConvertInfo(accountId,converId);
+            //Result resultConvert = aiBytedanceAdvertiserStrategyService.readToolConvertInfo(accountId,converId);
+
+            Result resultConvert = marketingServiceImpl.getOptimizedTrackUrl(token,assetId,downloadUrl);
+
             if (resultConvert.isSuccess()){
                 JSONObject jsonObject = (JSONObject) JSONObject.toJSON(resultConvert.getResult());
-                String action_track_url = jsonObject.getString("action_track_url");
+                JSONObject actionTrackUrl = (JSONObject) JSONObject.toJSON(jsonObject.getJSONArray("track_url_groups").get(0));
+                String action_track_url = actionTrackUrl.getString("action_track_url");
+
+
                 //自动投放账户配置中的链接 != 监测链接配置
                 if (!StringUtils.equals(action_track_url,bytedanceAdVo.getActionTrackUrl())){
                     //关停计划
                     marketingServiceImpl.updPlanStatus(token, Arrays.asList(Long.valueOf(planId)),"disable");
                     //发送预警消息
                     sendEnterpriseWeiXinMessage(bytedanceAdVo);
-                    log.info("accountId:=={}==目标转化id:{}=====自动投创建====第三方点击监测链接与自动投放配置不一致,已发送企业微信通知============",bytedanceAdVo.getAccountId(),bytedanceAdVo.getConvertId());
+                    log.info("accountId:=={}==事件管理id:{}=====自动投创建====第三方点击监测链接与自动投放配置不一致,已发送企业微信通知============",bytedanceAdVo.getAccountId(),assetId);
                 }
             }
-            log.info("accountId:=={}==目标转化id:{}=====第三方点击监测链接获取失败",accountId,converId);
+            log.info("accountId:=={}=====第三方点击监测链接获取失败",accountId);
         }
-        log.info("accountId:=={}==目标转化id为空。",accountId);
+        log.info("accountId:=={}==没有配置监测链接。",accountId);
     }
 
 

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

@@ -8,6 +8,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.bytedance.advertise.service.IMonitorBytedanceService;
 import org.jeecg.modules.bytedance.advertise.vo.MonitorBytedanceAdVo;
 import org.jeecg.modules.bytedance.common.constant.BytedanceConstant;
+import org.jeecg.modules.bytedance.common.entity.CtopOauthToken;
+import org.jeecg.modules.bytedance.common.service.ICtopOauthTokenService;
 import org.jeecg.modules.bytedance.common.service.IUserAllocationService;
 import org.jeecg.modules.bytedance.common.utils.Check;
 import org.jeecg.modules.system.service.ISysRoleService;
@@ -39,6 +41,9 @@ public class BytedancePlanJobController {
 	@Autowired
 	private ISysRoleService sysRoleService;;
 
+	@Resource
+	private ICtopOauthTokenService tokenService;
+
 	@ApiOperation(value = "监测预警-点击监测链接", notes = "监测预警-点击监测链接")
 	@GetMapping(value = "/monitorBytedanceActionTrackUrl")
 	public Result monitorBytedanceActionTrackUrl(@RequestParam String accountId) {
@@ -84,4 +89,22 @@ public class BytedancePlanJobController {
 
 
 
+
+
+
+	@GetMapping(value = "/testActionTrackUrl")
+	public Result testActionTrackUrl(@RequestParam("accountId") String accountId,
+									 @RequestParam("assetId") Long assetId,
+									 @RequestParam("downloadUrl") String downloadUrl
+									 ) {
+
+		CtopOauthToken token = tokenService.getTokenByAccountId(Long.valueOf(accountId));
+
+		 monitorBytedanceService.trackUrlContrast(token,accountId,assetId,downloadUrl,"");
+
+		return Result.successMsg("success",null);
+	}
+
+
+
 }