diff --git a/src/main/java/com/baiyee/adcallback/api/constants/TagTypeConstant.java b/src/main/java/com/baiyee/adcallback/api/constants/TagTypeConstant.java deleted file mode 100644 index 607138e..0000000 --- a/src/main/java/com/baiyee/adcallback/api/constants/TagTypeConstant.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.baiyee.adcallback.api.constants; - -/** - * 0:巨量 1:百度 2:快手 3:UC 4:VIVO 5:广点通 - */ -public class TagTypeConstant { - private TagTypeConstant(){ - - } - - /** - * 每个平台的数字标识 - */ - public static final int JL = 0; - - public static final int BD = 1; - - public static final int KS = 2; - - public static final int UC = 3; - - public static final int VIVO = 4; - - public static final int GDT = 5; - - /** - * 每个平台的字符串标识 - */ - - public static final String JL_V1_STR = "jl_v1"; - - public static final String JL_V2_STR = "jl_v2"; - - public static final String BD_STR = "bd"; - - public static final String KS_STR = "ks"; - - public static final String UC_STR = "uc"; - - public static final String VIVO_STR = "vivo"; - - public static final String GDT_STR = "gdt"; -} diff --git a/src/main/java/com/baiyee/adcallback/common/enums/UrlLinkEnum.java b/src/main/java/com/baiyee/adcallback/common/enums/UrlLinkEnum.java new file mode 100644 index 0000000..ee85edd --- /dev/null +++ b/src/main/java/com/baiyee/adcallback/common/enums/UrlLinkEnum.java @@ -0,0 +1,64 @@ +package com.baiyee.adcallback.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author Enzo + * @date : 2023/4/19 + */ + +@Getter +@AllArgsConstructor +public enum UrlLinkEnum { + + + /** + * 巨量 + */ + JL(0, "/api/jl/new/monitor/v1?aid=__AID__&aid_name=__AID_NAME__&cid=__CID__&cid_name=__CID_NAME__&campaign_id=__CAMPAIGN_ID__&campaign_name=__CAMPAIGN_NAME__&ctype=__CTYPE__&csite=__CSITE__&convert_id=__CONVERT_ID__&request_id=__REQUEST_ID__&track_id=__TRACK_ID__&os=__OS__&ua=__UA__&geo=__GEO__&ts=__TS__&model=__MODEL__&imei=__IMEI__&idfa=__IDFA__&idfa_md5=__IDFA_MD5__&oaid=__OAID__&oaid_md5=__OAID_MD5__&mac=__MAC__&callback_param=__CALLBACK_PARAM__&callback_url=__CALLBACK_URL__&advertiser_id=__ADVERTISER_ID__&vpoint=2&tag="), + + /** + * BD + */ + BD(1, "/api/bd/new/monitor?userId=__USER_ID__&aid=__IDEA_ID__&pid=__PLAN_ID__&uid=__UNIT_ID__&callbackUrl=__CALLBACK_URL__&extInfo=__EXT_INFO__&clickId=__CLICK_ID__&idfa=__IDFA__&imei=__IMEI__&oaidMD5=__OAID_MD5__&oaid=__OAID__&mac=__MAC__&ip=__IP__&ua=__UA__&osType=__OS_TYPE__&ts=__TS__&interactionsType=__INTERACTIONS_TYPE__&vpoint=6&tag="), + + /** + * UC + */ + UC(2, "/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}&model={MODEL1}&idfa={IDFA1}&tag="), + + /** + * 广点通 + */ + GDT(3, "/api/gdt/new/monitor?account_id=__ACCOUNT_ID__&click_id=__CLICK_ID__&click_time=__CLICK_TIME__&device_os_type=__DEVICE_OS_TYPE__&muid=__MUID__&hash_oaid=__HASH_OAID__&hash_mac=__HASH_MAC__&campaign_id=__CAMPAIGN_ID__&adgroup_id=__ADGROUP_ID__&ad_id=__AD_ID__&promoted_object_id=__PROMOTED_OBJECT_ID__&ip=__IP__&user_agent=__USER_AGENT__&callback=__CALLBACK__&promoted_object_type=__PROMOTED_OBJECT_TYPE__&vpoint=6&tag="), + + /** + * 快手 + */ + KS(4, "/api/ks/new/monitor?accountid=__ACCOUNTID__&aid=__AID__&cid=__CID__&did=__DID__&dname=__DNAME__&photoid=__PHOTOID__&oaid=__OAID2__&imei=__IMEI2__&imeiHash=__IMEI3__&idfa=__IDFA2__&idfaHash=__IDFA3__&macBak=__MAC2__&mac=__MAC3__&ts=__TS__&ua=__UA__&os=__OS__&model=__MODEL__&callback=__CALLBACK__&ip=__IP__&csite=__CSITE__&ac_creative=__AC_CREATIVE__&win_for_id=__WINFOID__&vpoint=2&tag="), + + /** + * vivo + */ + VIVO(5, "/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="), + + /** + * 巨量v2版本 + */ + JL2(6, "/api/jl/new/monitor/v2?promotion_id=__PROMOTION_ID__&project_id=__PROJECT_ID__&promotion_name=__PROMOTION_NAME__&project_name=__PROJECT_NAME__&mid1=__MID1__&mid2=__MID2__&mid3=__MID3__&mid4=__MID4__&mid5=__MID5__&mid6=__MID6__&csite=__CSITE__&convert_id=__CONVERT_ID__&request_id=__REQUEST_ID__&track_id=__TRACK_ID__&os=__OS__&ua=__UA__&geo=__GEO__&ts=__TS__&model=__MODEL__&imei=__IMEI__&idfa=__IDFA__&idfa_md5=__IDFA_MD5__&oaid=__OAID__&oaid_md5=__OAID_MD5__&mac=__MAC__&callback_param=__CALLBACK_PARAM__&callback_url=__CALLBACK_URL__&advertiser_id=__ADVERTISER_ID__&vpoint=2&tag="); + + private final int type; + + private final String url; + + public static UrlLinkEnum find(int val) { + for (UrlLinkEnum dataScopeEnum : UrlLinkEnum.values()) { + if (dataScopeEnum.getType() == val) { + return dataScopeEnum; + } + } + return null; + } + +} diff --git a/src/main/java/com/baiyee/adcallback/service/GenerateService.java b/src/main/java/com/baiyee/adcallback/service/GenerateService.java index 6dc8f69..b994cde 100644 --- a/src/main/java/com/baiyee/adcallback/service/GenerateService.java +++ b/src/main/java/com/baiyee/adcallback/service/GenerateService.java @@ -5,8 +5,6 @@ public interface GenerateService { /** * 生成DMP链接 - * @param tag - * @return */ String generateDmp(String tag, Integer type); } 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 ec3a2ca..4075a16 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/GenerateServiceImpl.java @@ -1,6 +1,6 @@ package com.baiyee.adcallback.service.impl; -import com.baiyee.adcallback.api.constants.TagTypeConstant; +import com.baiyee.adcallback.common.enums.UrlLinkEnum; import com.baiyee.adcallback.service.GenerateService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -11,46 +11,16 @@ import org.springframework.stereotype.Service; public class GenerateServiceImpl implements GenerateService { @Value("${generate.url}") - private String URL; + private String configurationUrl; /** - * * @param tag - * @param type 0:巨量 1:百度 2:快手 3:UC 4:VIVO 5:广点通 - * @return + * @param type 0:巨量 1:百度 2:快手 3:UC 4:VIVO 5:广点通 6:巨量-v2 */ @Override public String generateDmp(String tag, Integer type) { - String replaceTag = tag.replace(" ", ""); - 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}&model={MODEL1}&idfa={IDFA1}&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__&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__&model=__MODEL__&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__&idfa=__IDFA2__&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: - generateDmp = URL + JL + replaceTag; - break; - case TagTypeConstant.BD: - generateDmp = URL + BD +replaceTag; - break; - case TagTypeConstant.KS: - generateDmp = URL + KS +replaceTag; - break; - case TagTypeConstant.UC: - generateDmp = URL + UC + replaceTag; - break; - case TagTypeConstant.VIVO: - generateDmp = URL + VIVO + replaceTag; - break; - case TagTypeConstant.GDT: - generateDmp = URL + GDT + replaceTag; - break; - default: - generateDmp = null; - } - return generateDmp; + if (type < 0 || type > 6) return null; + UrlLinkEnum linkEnum = UrlLinkEnum.find(type); + return configurationUrl.concat(linkEnum.getUrl()).concat(tag); } }