diff --git a/sql/initDB.sql b/sql/initDB.sql index c1ae54f..357b1c3 100644 --- a/sql/initDB.sql +++ b/sql/initDB.sql @@ -99,7 +99,7 @@ CREATE TABLE `tb_ks_new_backdata` ( `aid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '广告组ID', `cid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '广告创意 id', `did` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '广告计划ID', - `d_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ' 广告计划名称', + `dname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ' 广告计划名称', `photo_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材ID', `oaid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Android设备标识计算MD5', `imei` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '安卓广告唯一标示', @@ -153,7 +153,6 @@ CREATE TABLE `tb_bd_new_backdata` ( `ua` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端UA', `os_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OS系统', `ts` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '时间戳', - `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '已废弃', `interactions_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户对广告进行的所有交互操作', `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用于监测链接的自定义带参格式', `vpoint` int(20) NULL DEFAULT NULL COMMENT '用于区分广告配置的地方', @@ -194,7 +193,8 @@ CREATE TABLE `tb_gdt_new_backdata` ( `tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用于监测链接的自定义带参格式', `vpoint` int(20) NULL DEFAULT NULL COMMENT '用于区分广告配置的地方', PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_muid`(`muid`) USING BTREE, + INDEX `idx_imei`(`imei`) USING BTREE, + INDEX `idx_idfa`(`idfa`) USING BTREE, INDEX `idx_oaid`(`oaid`) USING BTREE, INDEX `idx_tag`(`tag`) USING BTREE )ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; @@ -247,7 +247,8 @@ CREATE TABLE `tb_tf_source` ( `category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '投放类目', `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名称', `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件存放地址', - `file_status` int(20) NULL DEFAULT NULL COMMENT '文件状态, 1-正在生成 2-正常 3-禁用 4-删除', + `file_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件密码', + `file_status` int(20) NULL DEFAULT NULL COMMENT '文件状态, 0-文件正常可用, 1-正在生成, 2-文件状态异常, 3-文件操作禁用', `last_operator_time` datetime(0) NULL DEFAULT NULL COMMENT '最后操作时间', `weight` int(20) NULL DEFAULT NULL COMMENT '权重值', PRIMARY KEY (`id`) USING BTREE, diff --git a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackNewAPI.java b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackNewAPI.java index 5519491..8f31906 100644 --- a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackNewAPI.java +++ b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackNewAPI.java @@ -93,7 +93,7 @@ public class MobileMonitorCallbackNewAPI { } // 重点参数校验规则 - 通过则入监控回流Source库 - 较完整字段 - if (CheckPlatPointParamsUtil.checkJLPlatPointV2Param(vo.getOs(), vo.getImei(), vo.getIdfa(), vo.getIdfaMD5())) { + if (CheckPlatPointParamsUtil.checkJLPlatPointV2Param(vo.getOs(), vo.getImei(), vo.getIdfa(), vo.getIdfaMD5(), vo.getMac())) { originalityManageService.handleNewJLV2MonitorUrlCallbackDataThenSave(vo); } @@ -157,7 +157,7 @@ public class MobileMonitorCallbackNewAPI { } // 重点参数校验规则 - 通过则入监控回流Source库 - 较完整字段 - if (CheckPlatPointParamsUtil.checkJLPlatPointV2Param(vo.getOs(), vo.getImei(), vo.getIdfa(), vo.getIdfaMD5())) { + if (CheckPlatPointParamsUtil.checkJLPlatPointV2Param(vo.getOs(), vo.getImei(), vo.getIdfa(), vo.getIdfaMD5(), vo.getMac())) { originalityManageService.handleNewJLV1MonitorUrlCallbackDataThenSave(vo); } @@ -190,7 +190,7 @@ public class MobileMonitorCallbackNewAPI { @RequestParam(value = "macBak", defaultValue = "") String macBak, @RequestParam(value = "mac", defaultValue = "") String mac, @RequestParam(value = "ts", defaultValue = "") String ts, - @RequestParam(value = "ua", defaultValue = "") String ua, + @RequestParam(value = "ua", defaultValue = "") String ua, @RequestParam(value = "os", defaultValue = "") String os, @RequestParam(value = "model", defaultValue = "") String model, @RequestParam(value = "callback", defaultValue = "") String callBack, @@ -249,7 +249,7 @@ public class MobileMonitorCallbackNewAPI { @RequestParam(value = "ip", defaultValue = "") String ip, @RequestParam(value = "ua", defaultValue = "") String ua, @RequestParam(value = "os_type", defaultValue = "") String osType, - @RequestParam(value = "ts", defaultValue = "") Long ts, + @RequestParam(value = "ts", defaultValue = "") String ts, @RequestParam(value = "interactionsType", defaultValue = "") String interactionsType, @RequestParam(value = "ext_info", defaultValue = "") String extInfo, @RequestParam(value = "vpoint", defaultValue = "") int vpoint, diff --git a/src/main/java/com/baiyee/adcallback/api/vo/BDMobileMonitorCallbackRequestNewVO.java b/src/main/java/com/baiyee/adcallback/api/vo/BDMobileMonitorCallbackRequestNewVO.java index b9c4a6f..05b8371 100644 --- a/src/main/java/com/baiyee/adcallback/api/vo/BDMobileMonitorCallbackRequestNewVO.java +++ b/src/main/java/com/baiyee/adcallback/api/vo/BDMobileMonitorCallbackRequestNewVO.java @@ -121,7 +121,7 @@ public class BDMobileMonitorCallbackRequestNewVO extends MobileMonitorCallbackRe /** * 时间戳 */ - private Long ts; + private String ts; /** * 已废弃, (2023.3.15已下线) diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbBdNewBackdataEntity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbBdNewBackdataEntity.java index c34e459..1f3f08a 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbBdNewBackdataEntity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbBdNewBackdataEntity.java @@ -30,7 +30,7 @@ public class TbBdNewBackdataEntity { @LastModifiedDate @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Column(name = "gmt_modify", nullable = false) + @Column(name = "gmt_modified", nullable = false) private Timestamp gmtModify; @LastModifiedBy @@ -87,10 +87,10 @@ public class TbBdNewBackdataEntity { private String osType; @Basic @Column(name = "ts", nullable = false) - private long ts; - @Basic - @Column(name = "device_info", nullable = false, length = 255) - private String deviceInfo; + private String ts; +// @Basic +// @Column(name = "device_info", nullable = false, length = 255) +// private String deviceInfo; @Basic @Column(name = "interactions_type", nullable = false, length = 255) private String interactionsType; diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbGdtNewBackdataEntity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbGdtNewBackdataEntity.java index 6c66698..dbd8e12 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbGdtNewBackdataEntity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbGdtNewBackdataEntity.java @@ -32,7 +32,7 @@ public class TbGdtNewBackdataEntity { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Basic - @Column(name = "gmt_modify", nullable = false) + @Column(name = "gmt_modified", nullable = false) private Timestamp gmtModify; @LastModifiedBy diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV1Entity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV1Entity.java index 61abadf..eb6437b 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV1Entity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV1Entity.java @@ -38,7 +38,7 @@ public class TbJLBackDataV1Entity { @LastModifiedDate @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Column(name = "gmt_modify", nullable = false) + @Column(name = "gmt_modified", nullable = false) private Date gmtModify; @LastModifiedBy diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV2Entity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV2Entity.java index 988d13d..ba42a57 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV2Entity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbJLBackDataV2Entity.java @@ -35,7 +35,7 @@ public class TbJLBackDataV2Entity { @LastModifiedDate @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Column(name = "gmt_modify", nullable = false) + @Column(name = "gmt_modified", nullable = false) private Date gmtModify; @LastModifiedBy diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbKSNewBackdataEntity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbKSNewBackdataEntity.java index 7373dc9..3bcb837 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbKSNewBackdataEntity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbKSNewBackdataEntity.java @@ -32,13 +32,13 @@ public class TbKSNewBackdataEntity { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Basic - @Column(name = "gmt_modify", nullable = false) + @Column(name = "gmt_modified", nullable = false) private Timestamp gmtModify; @LastModifiedBy @Basic - @Column(name = "operation", nullable = false, length = 255) - private String operation; + @Column(name = "operator", nullable = false, length = 255) + private String operator; @Basic @Column(name = "account_id", nullable = false, length = 255) private String accountId; diff --git a/src/main/java/com/baiyee/adcallback/service/impl/AdOriginalityManageServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/AdOriginalityManageServiceImpl.java index f55cfa8..74dad4a 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/AdOriginalityManageServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/AdOriginalityManageServiceImpl.java @@ -95,18 +95,22 @@ public class AdOriginalityManageServiceImpl implements AdOriginalityManageServic TbGdtNewBackdataEntity backDataEntity = new TbGdtNewBackdataEntity(); + // 数据入库 + BeanUtil.copyProperties(vo, backDataEntity); + // 区分 安卓 还是 IOS ios, android - if (StrUtil.isNotBlank(vo.getDeviceOsType()) && StrUtil.equalsIgnoreCase("android", vo.getDeviceOsType())){ + if (StrUtil.isNotBlank(vo.getDeviceOsType()) && StrUtil.equalsIgnoreCase("android", vo.getDeviceOsType().trim())){ backDataEntity.setImei(vo.getMuid()); + }else { + backDataEntity.setImei(""); } - if (StrUtil.isNotBlank(vo.getDeviceOsType()) && StrUtil.equalsIgnoreCase("ios", vo.getDeviceOsType())){ + if (StrUtil.isNotBlank(vo.getDeviceOsType()) && StrUtil.equalsIgnoreCase("ios", vo.getDeviceOsType().trim())){ backDataEntity.setIdfa(vo.getMuid()); + }else { + backDataEntity.setIdfa(""); } - // 数据入库 - BeanUtil.copyProperties(vo, backDataEntity); - tbGdtNewBackdataEntityRepository.save(backDataEntity); } diff --git a/src/main/java/com/baiyee/adcallback/tools/CheckPlatPointParamsUtil.java b/src/main/java/com/baiyee/adcallback/tools/CheckPlatPointParamsUtil.java index e2419f7..f7ea523 100644 --- a/src/main/java/com/baiyee/adcallback/tools/CheckPlatPointParamsUtil.java +++ b/src/main/java/com/baiyee/adcallback/tools/CheckPlatPointParamsUtil.java @@ -2,7 +2,6 @@ package com.baiyee.adcallback.tools; import cn.hutool.core.util.StrUtil; import com.baiyee.adcallback.api.constants.SpecialCheckParmConstant; -import com.baiyee.adcallback.api.vo.JuliangMobileMonitorCallbackRequestNewV2VO; import lombok.extern.slf4j.Slf4j; /** @@ -19,7 +18,7 @@ public class CheckPlatPointParamsUtil { public static boolean checkBDPlatPointParam(String os, String idfa, String imei, String oaidMD5, String oaid) { // 安卓 - if (StrUtil.equalsIgnoreCase("0", os) && (StrUtil.isBlank(imei) || StrUtil.isBlank(oaid) || StrUtil.isBlank(oaidMD5))){ + if (StrUtil.equalsIgnoreCase("0", os) && StrUtil.isBlank(imei) && StrUtil.isBlank(oaid) && StrUtil.isBlank(oaidMD5)){ return Boolean.FALSE; } @@ -57,12 +56,12 @@ public class CheckPlatPointParamsUtil { public static boolean checkGDTPlatPointParam(String os, String muid, String oaid){ // 安卓的 - if (StrUtil.equalsIgnoreCase("android", os) && (StrUtil.isBlank(muid) || StrUtil.isBlank(oaid))){ + if (StrUtil.equalsIgnoreCase("android", os.trim()) && (StrUtil.isBlank(muid) || StrUtil.isBlank(oaid))){ return Boolean.FALSE; } // ios - if (StrUtil.equalsIgnoreCase("ios", os) && StrUtil.isBlank(muid)){ + if (StrUtil.equalsIgnoreCase("ios", os.trim()) && StrUtil.isBlank(muid)){ return Boolean.FALSE; } @@ -74,7 +73,7 @@ public class CheckPlatPointParamsUtil { * * @return 直接返回校验是否通过 */ - public static boolean checkJLPlatPointV2Param(String os1, String imei, String idfa, String idfaMD5){ + public static boolean checkJLPlatPointV2Param(String os1, String imei, String idfa, String idfaMD5, String mac){ //安卓:0 //IOS:1 @@ -101,16 +100,14 @@ public class CheckPlatPointParamsUtil { // IOS if (os == 1 && (StrUtil.equals(SpecialCheckParmConstant.ZERO_JL_IDFA, idfa) || - StrUtil.equals(SpecialCheckParmConstant.ZERO_JL_IMEI_MD5, idfaMD5) || - StrUtil.isBlank(idfa) || - StrUtil.isBlank(idfaMD5)) - + StrUtil.equals(SpecialCheckParmConstant.ZERO_JL_IDFA_MD5, idfaMD5) || + ( StrUtil.isBlank(idfa) && StrUtil.isBlank(idfaMD5))) ){ return Boolean.FALSE; } // 其他 - if (os == 3 && (StrUtil.isBlank(imei) || StrUtil.isBlank(idfa) || StrUtil.isBlank(idfaMD5))){ + if (os == 3 && (StrUtil.isBlank(imei) && StrUtil.isBlank(idfa) && StrUtil.isBlank(idfaMD5) && StrUtil.isBlank(mac))){ return Boolean.FALSE; }