链接生成修改

master
yqy 1 year ago
parent 9074c1e8a0
commit 8a8ff4fee0

@ -0,0 +1,64 @@
package me.zhengjie.modules.dmpMonitor.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author Enzo
* @date : 2023/4/19
*/
@Getter
@AllArgsConstructor
public enum UrlLinkEnum {
/**
*
*/
JL(1, "/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__"),
/**
* BD
*/
BD(2, "/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__"),
/**
* UC
*/
UC(3, "/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}"),
/**
* 广
*/
GDT(4, "/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__"),
/**
*
*/
KS(5, "/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__&tag="),
/**
* vivo
*/
VIVO(6, "/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__"),
/**
* v2
*/
JL2(7, "/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__");
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;
}
}

@ -5,7 +5,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import me.zhengjie.annotation.Log; import me.zhengjie.annotation.Log;
import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto;
import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO;
import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds; import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds;
@ -16,8 +15,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author wujingtao * @author wujingtao
@ -32,7 +29,6 @@ public class StatisticsDmpController {
private final StatisticsDmpService statisticsDmpService; private final StatisticsDmpService statisticsDmpService;
private final HttpRequestRds httpRequestRds; private final HttpRequestRds httpRequestRds;
@Log("获取数目") @Log("获取数目")
@ -51,22 +47,15 @@ public class StatisticsDmpController {
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
/** @Log("生成链接")
* DMP
* @param tag
* @return
*/
@GetMapping("/generateDmp") @GetMapping("/generateDmp")
public ResponseEntity<Object> generateDmp(@RequestParam("tag") String tag, @RequestParam("type") Integer type){ public ResponseEntity<Object> generateDmp(@RequestParam("tag") String tag,
Map<String, String> map = httpRequestRds.generateDmp(tag, type); @RequestParam("type") Integer type,
String status = map.get("status"); @RequestParam(value = "vpoint", required = false) String vpoInt,
String data = map.get("data"); @RequestParam(value = "version", required = false) Integer version,
if ("1".equals(status)){ @RequestParam(value = "akey", required = false) String aKey) {
throw new BadRequestException(data); return new ResponseEntity<>(statisticsDmpService.createLinkUrl(tag, type, vpoInt, aKey, version), HttpStatus.OK);
} }
return new ResponseEntity<>(data,HttpStatus.OK);
}
@Log("解析数据") @Log("解析数据")

@ -2,6 +2,8 @@ package me.zhengjie.modules.dmpMonitor.service;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto;
import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO;
import me.zhengjie.modules.dmpMonitor.enums.UrlLinkEnum;
import me.zhengjie.modules.dmpMonitor.vo.CreateLinkUrlVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -22,4 +24,15 @@ public interface StatisticsDmpService {
* @return * @return
*/ */
Map<String, List> analyticalData(List<DataAnalysisRequestDTO> chartRequestList); Map<String, List> analyticalData(List<DataAnalysisRequestDTO> chartRequestList);
/**
*
*
* @param tag tag
* @param type {@link UrlLinkEnum}type
* @param vpoInt 2.0
* @param aKey aKey
* @param version
*/
List<CreateLinkUrlVO> createLinkUrl(String tag, Integer type, String vpoInt, String aKey, Integer version);
} }

@ -1,5 +1,6 @@
package me.zhengjie.modules.dmpMonitor.service.impl; package me.zhengjie.modules.dmpMonitor.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
@ -13,25 +14,23 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.zhengjie.common.json.ApiDataResponse; import me.zhengjie.common.json.ApiDataResponse;
import me.zhengjie.constant.SystemConstant; import me.zhengjie.constant.SystemConstant;
import me.zhengjie.domain.EmailConfig;
import me.zhengjie.domain.vo.EmailVo; import me.zhengjie.domain.vo.EmailVo;
import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.BadRequestException;
import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto; import me.zhengjie.modules.dmpMonitor.domian.DmpMonitorNumDto;
import me.zhengjie.modules.dmpMonitor.enums.UrlLinkEnum;
import me.zhengjie.modules.dmpMonitor.request.FtpRequest; import me.zhengjie.modules.dmpMonitor.request.FtpRequest;
import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds; import me.zhengjie.modules.dmpMonitor.request.HttpRequestRds;
import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService; import me.zhengjie.modules.dmpMonitor.service.StatisticsDmpService;
import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO; import me.zhengjie.modules.dmpMonitor.dto.DataAnalysisRequestDTO;
import me.zhengjie.modules.dmpMonitor.vo.CreateLinkUrlVO;
import me.zhengjie.modules.uploadnew.service.impl.BuildPathUtils; import me.zhengjie.modules.uploadnew.service.impl.BuildPathUtils;
import me.zhengjie.service.EmailService; import me.zhengjie.service.EmailService;
import me.zhengjie.utils.FileUtil; import me.zhengjie.utils.FileUtil;
import me.zhengjie.utils.MailUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* @author wujingtao * @author wujingtao
@ -46,6 +45,12 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService {
private final HttpRequestRds httpRequestRds; private final HttpRequestRds httpRequestRds;
private final EmailService emailService; private final EmailService emailService;
@Value("${generate.url}")
private String configurationUrl;
private final Integer[] TAG_TYPE = {1, 2, 4, 5};
private final String VPOINT_URL = "&vpoint=";
private final String TAG_URL = "&tag=";
@Override @Override
public Map<String, Object> queryNumByTags(DmpMonitorNumDto conditionDto) { public Map<String, Object> queryNumByTags(DmpMonitorNumDto conditionDto) {
return httpRequestRds.callBackNumByTags(conditionDto); return httpRequestRds.callBackNumByTags(conditionDto);
@ -126,4 +131,36 @@ public class StatisticsDmpServiceImpl implements StatisticsDmpService {
} }
return new HashMap<>(0); return new HashMap<>(0);
} }
@Override
public List<CreateLinkUrlVO> createLinkUrl(String tag, Integer type, String vpoInt, String aKey, Integer version) {
if (Arrays.asList(TAG_TYPE).contains(type) && StringUtils.isBlank(vpoInt)) {
throw new BadRequestException("请选择链接检测方式");
}
List<CreateLinkUrlVO> returnList = new ArrayList<>();
List<String> vpoIntList = new ArrayList<>();
if (StringUtils.isNotBlank(vpoInt)) vpoIntList = Arrays.asList(vpoInt.split(","));
String url = UrlLinkEnum.find(type).getUrl();
//巨量v2版本处理,获取v2的url
if (type == 1 && version != null && version == 2) {
url = UrlLinkEnum.find(7).getUrl();
tag = tag.concat("-v2");
}
//生成链接
String fullLink = configurationUrl.concat(url);
if (Arrays.asList(TAG_TYPE).contains(type) && CollUtil.isNotEmpty(vpoIntList)) {
for (String vpoIntStr : vpoIntList) {
String newUrl = fullLink.concat(VPOINT_URL).concat(vpoIntStr);
// 百度链接拼接aKey值
if (StringUtils.isNotBlank(aKey)) newUrl = newUrl.concat("&akey=").concat(aKey);
String newTag = newUrl.concat(TAG_URL).concat(tag);
returnList.add(new CreateLinkUrlVO(newTag, type, vpoIntStr));
}
} else {
String newFullLink = fullLink.concat(TAG_URL).concat(tag);
returnList.add(new CreateLinkUrlVO(newFullLink, type, ""));
}
return returnList;
}
} }

@ -0,0 +1,22 @@
package me.zhengjie.modules.dmpMonitor.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author YQY
* @Date 2023/6/2
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CreateLinkUrlVO {
private String url;
private Integer type;
private String vpoInt;
}

@ -4,7 +4,7 @@ spring:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://localhost:3306/eladmin-plat2?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false url: jdbc:log4jdbc:mysql://8.130.96.163:3306/eladmin-plat2?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: root username: root
password: y7z7noq2 password: y7z7noq2
# 初始连接数 # 初始连接数

@ -68,3 +68,6 @@ upload:
callback: callback:
url: http://127.0.0.1:9191 url: http://127.0.0.1:9191
generate:
url: https://cb.tuoz.net

Loading…
Cancel
Save