diff --git a/src/main/java/com/baiyee/adcallback/common/enums/DeliveryPlatformEnum.java b/src/main/java/com/baiyee/adcallback/common/enums/DeliveryPlatformEnum.java index 3ca9b73..f5e923c 100644 --- a/src/main/java/com/baiyee/adcallback/common/enums/DeliveryPlatformEnum.java +++ b/src/main/java/com/baiyee/adcallback/common/enums/DeliveryPlatformEnum.java @@ -28,6 +28,10 @@ public enum DeliveryPlatformEnum { */ VV("VV", 4), + /** + * VIVO + */ + VI("VI", 4), /** * 百度 */ diff --git a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java index 6920130..32a125a 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java @@ -1,5 +1,6 @@ package com.baiyee.adcallback.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.text.StrPool; @@ -100,17 +101,22 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService { Date startTime = dmpMonitorNumDto.getStartTime(); Date endTime = dmpMonitorNumDto.getEndTime(); List listAll = new ArrayList<>(); - if (jlArray.size() > 0) { + if (CollUtil.isNotEmpty(jlArray)) { listAll.addAll(getImeiNumJpa(TableEnum.JL.getTableName(), startTime, endTime, jlArray, flag)); - } else if (ksArray.size() > 0) { + } + if (CollUtil.isNotEmpty(ksArray)) { listAll.addAll(getImeiNumJpa(TableEnum.KS.getTableName(), startTime, endTime, ksArray, flag)); - } else if (ucArray.size() > 0) { + } + if (CollUtil.isNotEmpty(ucArray)) { listAll.addAll(getImeiNumJpa(TableEnum.UC.getTableName(), startTime, endTime, ucArray, flag)); - } else if (vvArray.size() > 0) { + } + if (CollUtil.isNotEmpty(vvArray)) { listAll.addAll(getImeiNumJpa(TableEnum.VV.getTableName(), startTime, endTime, vvArray, flag)); - } else if (bdArray.size() > 0) { + } + if (CollUtil.isNotEmpty(bdArray)) { listAll.addAll(getImeiNumJpa(TableEnum.BD.getTableName(), startTime, endTime, bdArray, flag)); - } else if (gdArray.size() > 0) { + } + if (CollUtil.isNotEmpty(gdArray)) { listAll.addAll(getImeiNumJpa(TableEnum.GD.getTableName(), startTime, endTime, gdArray, flag)); } return listAll; @@ -167,20 +173,22 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService { private String getSqlString(String tableName, Integer flag) { StringBuilder sql = new StringBuilder(); if (1 == flag) { - sql.append(" select a.tag,a.date as date ,COUNT(*) as num FROM ( SELECT DISTINCT(tb.imei),tb.tag ,DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' ) AS date FROM ").append(tableName).append(" as tb where "); + sql.append(" select a.tag,a.date as date ,COUNT(*) as num FROM ( SELECT tb.imei,tb.tag ,substring_index(group_concat(DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) AS date FROM ").append(tableName).append(" as tb where "); sql.append(" tb.imei != :imei1 "); sql.append(" and tb.imei != :imei2 "); sql.append(" and tb.gmt_create >= :startDate "); sql.append(" and tb.gmt_create < :endDate "); sql.append(" and tb.tag in :tag "); + sql.append(" group by imei,tag"); sql.append(" ) a group by a.tag,a.date"); } else { - sql.append("select DISTINCT DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' ) as date ,tb.imei as imei ,tb.tag as tag from ").append(tableName).append(" as tb where"); + sql.append("select substring_index(group_concat( DATE_FORMAT( tb.gmt_create, '%Y-%m-%d' )),',',-1) as date ,tb.imei as imei ,tb.tag as tag from ").append(tableName).append(" as tb where"); sql.append(" tb.imei != :imei1 "); sql.append(" and tb.imei != :imei2 "); sql.append(" and tb.gmt_create >= :startDate "); sql.append(" and tb.gmt_create < :endDate "); sql.append(" and tb.tag in :tag "); + sql.append(" group by tb.imei,tb.tag"); } return sql.toString(); } diff --git a/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java index 9e8f6cf..6d07558 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java @@ -25,9 +25,9 @@ public class GenerateServiceImpl implements GenerateService { String JL = "/api/jl/monitor?aid=__AID__&cid=__CID__&ctype=__CTYPE__&csite=__CSITE__&imei=__IMEI__&idfa=__IDFA__&oaid=__OAID__&os=__OS__&mac=__MAC__&mac1=__MAC1__&ip=__IP__&geo=__GEO__&TIMESTAMP=__TS__&callback_url=__CALLBACK_URL__&model=__MODEL__&caid1=__CAID1__&tag="; String BD = "/api/bd/monitor?userid=__USER_ID__&aid=__IDEA_ID__&pid=__PLAN_ID__&uid=__UNIT_ID__&callback_url=__CALLBACK_URL__&click_id=__CLICK_ID__&idfa=__IDFA__&imei_md5=__IMEI__&oaid=__OAID__&mac=__MAC__&ip=__IP__&os=__OS__&ts=__TS__&device_info=__DEVICE_INFO__&tag="; String UC = "/api/uc/monitor?imei={IMEI_SUM1}&oaid={OAID}&time={TS}&callback={CALLBACK_URL}&androidid={ANDROIDID_SUM1}&mac={MAC_SUM2}&ip={IP}&ua={UA}&acid={ACID}&gid={GID}&aid={AID}&cid={CID}&tag="; - String GDT = "/api/gdt/monitor?click_id=__CLICK__ID__&click_time=__CLICK__TIME__&impression_time=__IMPRESSION__TIME__&campaign_id=__CAMPAIGN__ID__&adgroup_id=__ADGROUP__ID__&ad_id=__AD__ID__&ad_platform_type=__AD__PLATFORM__TYPE__&ad_type=__AD__TYPE__&account_id=__ACCOUNT__ID__&agency_id=__AGENCY__ID__&click_sku_id=__CLICK__SKU__ID__&billing_event=__BILLING__EVENT__&deeplink_url=__DEEPLINK__URL__&universal_link=__UNIVERSAL__LINK__&page_url=__PAGE__URL__&device_os_type=__DEVICE__OS__TYPE__&process_time=__PROCESS__TIME__&promoted_object_id=__PROMOTED__OBJECT__ID__&promoted_object_type=__PROMOTED__OBJECT__TYPE__&real_cost=__REAL__COST__&request_id=__REQUEST__ID__&impression_id=__IMPRESSION__ID__&muid=__MUID__&hash_android_id=__HASH__ANDROID__ID__&ip=__IP__&user_agent=__USER__AGENT__&callback=__CALLBACK__&encrypted_position_id=__ENCRYPTED__POSITION__ID__&hash_oaid=__HASH__OAID__&caid=__CAID__&adgroup_name=__ADGROUP__NAME__&site_set_name=__SITE__SET__NAME__&campaign_name=__CAMPAIGN__NAME__&ad_name=__AD__NAME__&model=__MODEL__&tag="; + String GDT = "/api/gdt/monitor?click_id=__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__&tag="; String KS = "/api/ks/monitor?&accountid=__ACCOUNTID__&aid=__AID__&cid=__CID__&did=__DID__&dname=__DNAME__&imeiMD5=__IMEI2__&oaid=__OAID__&mac=__MAC2__&androidid=__ANDROIDID2__&os=__OS__&ts=__TS__&ip=__IP__&ua=__UA__&csite=__CSITE__&model=__MODEL__&ac_creative=__AC_CREATIVE__&tag="; - String VIVO = "/api/vivo/monitor?os=__OS__&ip=__IP__&oaid=__OAID__&oaidplain=__OAIDPLAIN__&ua=__UA__&androidid=__ANDROIDID__&location=__LOCATION__&requestid=__REQUESTID__&requesttime=__REQUESTTIME__&advertiserid=__ADVERTISERID__&adname=__ADNAME__&creativeid=__CREATIVEID__&osversion=__OSVERSION__&model=__MODEL__&lang=__LANG__&resolution=__RESOLUTION__&nettype=__NETTYPE__&ts=__TS__&tag="; + String VIVO = "/api/vivo/monitor?os=__OS__&imei=__IMEI__&ip=__IP__&oaid=__OAID__&oaidPlain=__OAIDPLAIN__&ua=__UA__&androidId=__ANDROIDID__&location=__LOCATION__&requestId=__REQUESTID__&requestTime=__REQUESTTIME__&advertiserId=__ADVERTISERID__&adName=__ADNAME__&creativeId=__CREATIVEID__&osVersion=__OSVERSION__&model=__MODEL__&lang=__LANG__&resolution=__RESOLUTION__&netType=__NETTYPE__&ts=__TS__&tag="; String generateDmp; switch (type){ case TagTypeConstant.JL: