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 1/2] =?UTF-8?q?[=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD](mast?=
=?UTF-8?q?er):=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);
+// }
+// }
+
+ }
+
+
}
From 38e6fd0674e82e5973465874c0504f08fe0893f3 Mon Sep 17 00:00:00 2001
From: qyx <565485304@qq.com>
Date: Mon, 21 Mar 2022 18:55:10 +0800
Subject: [PATCH 2/2] =?UTF-8?q?[=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD](mast?=
=?UTF-8?q?er):=20=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97=E7=9A=84=E8=BD=AC?=
=?UTF-8?q?=E6=8D=A2=E5=BD=A2=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 日志的转换形式更新
---
.../api/callback/MobileMonitorCallbackAPI.java | 11 ++++++-----
1 file changed, 6 insertions(+), 5 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 b8dbe64..b5c8121 100644
--- a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java
+++ b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java
@@ -107,9 +107,10 @@ public class MobileMonitorCallbackAPI {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
+ if (StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
+
return Boolean.FALSE;
}
@@ -239,7 +240,7 @@ public class MobileMonitorCallbackAPI {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
+ if (StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -303,7 +304,7 @@ public class MobileMonitorCallbackAPI {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
+ if (StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -371,7 +372,7 @@ public class MobileMonitorCallbackAPI {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
+ if (StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -476,7 +477,7 @@ public class MobileMonitorCallbackAPI {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) || StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
+ if (StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
return Boolean.FALSE;