From f03daeed2b73d0fb996372fcb213d3b343a7b8cd Mon Sep 17 00:00:00 2001 From: qyx <565485304@qq.com> Date: Mon, 21 Mar 2022 18:31:20 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD](master):?= =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AABUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. imei判断的bug --- .../callback/MobileMonitorCallbackAPI.java | 29 ++++++------- .../VivoMobileMonitorCallbackRequestVO.java | 2 +- src/main/resources/application-dev.yml | 2 +- src/main/resources/logback.xml | 4 +- .../AdCallbackApplicationTests.java | 42 ++++++++++++++++++- 5 files changed, 60 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java index 1c2750c..b8dbe64 100644 --- a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java +++ b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java @@ -2,6 +2,7 @@ package com.baiyee.adcallback.api.callback; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baiyee.adcallback.api.common.CommonResponse; import com.baiyee.adcallback.api.common.ResponseCode; import com.baiyee.adcallback.api.vo.*; @@ -83,11 +84,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [not right imei data ,{} ] =================================", vo); + log.error("================================= [not right imei data ,vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, julaingMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, julaingMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); JlBackdataDTO jlBackdataDTO = new JlBackdataDTO(); JlBackdataConvert.voCovertToDTO(vo, jlBackdataDTO); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave(); @@ -151,11 +152,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [not right imei data ,{} ] =================================", vo); + log.error("================================= [not right imei data ,vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, baiduMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, baiduMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); BdBackdataDTO bdBackdataDTO = new BdBackdataDTO(); BdBackdataConvert.voCovertToDTO(vo, bdBackdataDTO); @@ -214,11 +215,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [not right imei data ,{} ] =================================", vo); + log.error("================================= [not right imei data ,vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, ucMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, ucMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); UcBackdataDTO ucBackdataDTO = new UcBackdataDTO(); UcBackdataConvert.voCovertToDTO(vo, ucBackdataDTO); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave2(); @@ -279,11 +280,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [not right imei data ,{} ] =================================", vo); + log.error("================================= [not right imei data ,vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); KuaiShouBackdataDTO kuaiShouBackdataDTO = new KuaiShouBackdataDTO(); KuaiShouBackdataConvert.voCovertToDTO(vo, kuaiShouBackdataDTO); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave3(); @@ -347,11 +348,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [not right imei data ,{} ] =================================", vo); + log.error("================================= [not right imei data , vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); VivoBackdataDTO vivoBackdataDTO = new VivoBackdataDTO(); VivoBackdataConvert.voCovertToDTO(vo, vivoBackdataDTO); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave4(); @@ -451,11 +452,11 @@ public class MobileMonitorCallbackAPI { } // 请求过滤规则,过滤掉不用的数据 if (preRuleForReq(vo)) { - log.error("================================= [gdtMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, not right imei data ,{} ] =================================", vo); + log.error("================================= [gdtMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, not right imei data ,{} ] =================================", JSONUtil.toJsonStr(vo)); return CommonResponse.createBySuccess(); } setTag(tag, vo); - log.info("================================= [one request comming, gdtMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + log.info("================================= [one request comming, gdtMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo json is {} ] =================================", JSONUtil.toJsonStr(vo)); GdtBackdataDTO dto = new GdtBackdataDTO(); GdtBackdataConvert.voCovertToDTO(vo, dto); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave5(); @@ -470,12 +471,12 @@ public class MobileMonitorCallbackAPI { */ private boolean preRuleForReq(GdtMobileMonitorCallbackRequestVO vo) { - String imei = vo.getImei(); + String imei = vo.getMuid(); if (StrUtil.isBlank(imei)) { return Boolean.TRUE; } - if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { + if (StrUtil.isNotBlank(imei) || StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { return Boolean.TRUE; } return Boolean.FALSE; diff --git a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java index c24789e..5de413c 100644 --- a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java +++ b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java @@ -56,5 +56,5 @@ public class VivoMobileMonitorCallbackRequestVO extends MobileMonitorCallbackReq private String netType; - private Long ts; + private Long ts; } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index cea1e1b..8170133 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://118.178.137.129:3306/db_ad?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true + url: jdbc:mysql://localhost/db_ad?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true username: root password: root # 初始连接数 diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 9e1b732..78ea968 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -77,7 +77,7 @@ - - + + \ No newline at end of file diff --git a/src/test/java/com/baiyee/adcallback/AdCallbackApplicationTests.java b/src/test/java/com/baiyee/adcallback/AdCallbackApplicationTests.java index 073ae9e..82e1602 100644 --- a/src/test/java/com/baiyee/adcallback/AdCallbackApplicationTests.java +++ b/src/test/java/com/baiyee/adcallback/AdCallbackApplicationTests.java @@ -1,9 +1,17 @@ package com.baiyee.adcallback; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class AdCallbackApplicationTests { - static class User{ + static class User { private String name; private Integer age; @@ -35,4 +43,36 @@ public class AdCallbackApplicationTests { } + @Test + public void test1() { + String str1 = "__CLICK_ID__&click_time=__CLICK_TIME__&campaign_id=_CAMPAIGN_ID__&adgroup_id=__ADGROUP_ID__&ad_id=__AD_ID__&muid=__MUID__&hash_android_id=__HASH_ANDROID_ID__&hash_mac=__HASH_MAC__&oaid=__OAID__&hash_oaid=__HASH_OAID__&ip=__IP__&user_agent=__USER_AGENT__&account_id=__ACCOUNT_ID__&promoted_object_type=__PROMOTED_OBJECT_TYPE__&device_os_type=__DEVICE_OS_TYPE__&callback=__CALLBACK__&qz_gdt=__QZ_GDT__&tag=jl-wxtm-cfyldy-001"; + + String str2 = "__RTA_EXP_ID__,__HASH_OAID__,__BOOST_EXP_INFO__,__PAGE_URL__,__USER_AGENT__,__REQUEST_ID__,__RTA_USER_WEIGHT_FACTOR__,__CLICK_TIME__,__RTA_DSP_TAG__,__AD_PLATFORM_TYPE__,__RTA_VALID_FEATURES__,__RTA_OUT_TARGET_ID__,__AD_ID__,__IPV6__,__CALLBACK__,__RTA_CPC_BID__,__ENCRYPTED_POSITION_ID__,__CLICK_ID__,__RTA_CPA_PRICE__,__ADGROUP_NAME__,__ADGROUP_ID__,__QAID_CAA__,__PROMOTED_OBJECT_TYPE__,__PKAM_EXP_IDS__,__HASH_ANDROID_ID__,__ONLY_VALUABLE_CLICK__,__DEVICE_OS_TYPE__,__SITE_SET_NAME__,__AGENCY_ID__,__PROCESS_TIME__,__SITE_SET__,__REAL_COST__,__ACCOUNT_ID__,__CLICK_SKU_ID__,__IP__,__MEDIUM_INDUSTRY__,__RTA_TRACE_ID__,__BILLING_EVENT__,__OAID__,__RTA_USER_WEIGHT__,__CREATIVE_TEMPLATE_ID__,__CAMPAIGN_ID__,__RTA_TARGET_ID__,__AD_TYPE__,__IMPRESSION_ID__,__MUID__,__QZ_GDT__,__BOOST_MODEL_ID__"; + + + List split1 = StrUtil.split(str1, "&"); + + List pre = new ArrayList<>(); + + for (String one : split1) { + pre.add(StrUtil.subAfter(one, "=", true)); + + } + + for (String s : pre) { + if (!StrUtil.contains(str2, s)){ + System.out.println(s); + } + } + + +// for (String one : split) { +// if (!StrUtil.contains(str1, one)){ +// System.out.println(one); +// } +// } + + } + + }