增加相关代码

master
bynt 2 years ago
parent 5ac92ecd0e
commit cf129786a5

@ -1,7 +1,29 @@
package com.baiyee.adcallback.repository;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.entity.TbBdBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TbBdBackdataEntityRepository extends JpaRepository<TbBdBackdataEntity, Long> {
/**
*
* @param imeiStrFirst
* @param imeiSecond
* @param startDate
* @param endDate
* @param tag
* @return
*/
@Query("select new com.baiyee.adcallback.api.dto.PlateFormDTO(imei as imei,tag as tag) from " +
" TbBdBackdataEntity where imei != :imeiStrFirst and imei != :imeiSecond " +
"and gmtCreate >= :startDate and gmtCreate < :endDate and tag in :tag group by imei,tag")
List<PlateFormDTO> queryPlateFormDTO(@Param("imeiStrFirst") String imeiStrFirst, @Param("imeiSecond") String imeiSecond, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("tag") List<String> tag);
}

@ -1,7 +1,29 @@
package com.baiyee.adcallback.repository;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.entity.TbGdtBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TbGdtBackdataEntityRepository extends JpaRepository<TbGdtBackdataEntity, Long> {
/**
*
* @param imeiStrFirst
* @param imeiSecond
* @param startDate
* @param endDate
* @param models
* @param tag
* @return
*/
@Query("select new com.baiyee.adcallback.api.dto.PlateFormDTO(muid as imei,tag as tag) from " +
" TbGdtBackdataEntity where muid != :imeiStrFirst and muid != :imeiSecond " +
"and gmtCreate >= :startDate and gmtCreate < :endDate and tag in :tag and deviceOsType = :models group by muid,tag")
List<PlateFormDTO> queryPlateFormDTO(@Param("imeiStrFirst") String imeiStrFirst, @Param("imeiSecond") String imeiSecond, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("tag") List<String> tag,@Param("models") String models);
}

@ -1,7 +1,28 @@
package com.baiyee.adcallback.repository;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.entity.TbKsBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TbKsBackdataEntityRepository extends JpaRepository<TbKsBackdataEntity, Long> {
/**
*
* @param imeiStrFirst
* @param imeiSecond
* @param startDate
* @param endDate
* @param tag
* @return
*/
@Query("select new com.baiyee.adcallback.api.dto.PlateFormDTO(imei as imei,tag as tag) from " +
" TbKsBackdataEntity where imei != :imeiStrFirst and imei != :imeiSecond " +
"and gmtCreate >= :startDate and gmtCreate < :endDate and tag in :tag group by imei,tag")
List<PlateFormDTO> queryPlateFormDTO(@Param("imeiStrFirst") String imeiStrFirst, @Param("imeiSecond") String imeiSecond, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("tag") List<String> tag);
}

@ -1,7 +1,28 @@
package com.baiyee.adcallback.repository;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.entity.TbUcBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TbUcBackdataEntityRepository extends JpaRepository<TbUcBackdataEntity, Long> {
/**
*
* @param imeiStrFirst
* @param imeiSecond
* @param startDate
* @param endDate
* @param tag
* @return
*/
@Query("select new com.baiyee.adcallback.api.dto.PlateFormDTO(imei as imei,tag as tag) from " +
" TbUcBackdataEntity where imei != :imeiStrFirst and imei != :imeiSecond " +
"and gmtCreate >= :startDate and gmtCreate < :endDate and tag in :tag group by imei,tag")
List<PlateFormDTO> queryPlateFormDTO(@Param("imeiStrFirst") String imeiStrFirst, @Param("imeiSecond") String imeiSecond, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("tag") List<String> tag);
}

@ -1,7 +1,28 @@
package com.baiyee.adcallback.repository;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.entity.TbVivoBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface TbVivoBackdataEntityRepository extends JpaRepository<TbVivoBackdataEntity, Long> {
/**
*
* @param imeiStrFirst
* @param imeiSecond
* @param startDate
* @param endDate
* @param tag
* @return
*/
@Query("select new com.baiyee.adcallback.api.dto.PlateFormDTO(imei as imei,tag as tag) from " +
" TbVivoBackdataEntity where imei != :imeiStrFirst and imei != :imeiSecond " +
"and gmtCreate >= :startDate and gmtCreate < :endDate and tag in :tag group by imei,tag")
List<PlateFormDTO> queryPlateFormDTO(@Param("imeiStrFirst") String imeiStrFirst, @Param("imeiSecond") String imeiSecond, @Param("startDate") DateTime startDate, @Param("endDate") DateTime endDate, @Param("tag") List<String> tag);
}

@ -9,14 +9,18 @@ import java.util.List;
* @author Enzo
* @date : 2022/10/14
*/
public interface JlBackDataEntityService {
public interface BackDataEntityService {
/**
* imei
*
* @param imeiFirst
* @param imeiSecond
* @param date
* @param offsetMinute
* @param tagStr
* @param value
* @return
*/
List<PlateFormDTO> queryPlateFormDTO(String imeiFirst, String imeiSecond, DateTime date, DateTime offsetMinute, List<String> tagStr);
List<PlateFormDTO> queryPlateFormDTO(String imeiFirst, String imeiSecond, DateTime date, DateTime offsetMinute, List<String> tagStr, Integer value);
}

@ -0,0 +1,71 @@
package com.baiyee.adcallback.service.impl;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.*;
import com.baiyee.adcallback.service.BackDataEntityService;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Enzo
* @date : 2022/10/14
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class BackDataEntityServiceImpl implements BackDataEntityService {
private final TbJlBackdataEntityRepository tbJlBackdataEntityRepository;
private final TbKsBackdataEntityRepository tbKsBackdataEntityRepository;
private final TbUcBackdataEntityRepository tbUcBackdataEntityRepository;
private final TbBdBackdataEntityRepository tbBdBackdataEntityRepository;
private final TbGdtBackdataEntityRepository tbGdtBackdataEntityRepository;
private final TbVivoBackdataEntityRepository tbVivoBackdataEntityRepository;
@Override
public List<PlateFormDTO> queryPlateFormDTO
(String imeiFirst, String imeiSecond, DateTime date, DateTime offsetMinute, List<String> tagStr, Integer value) {
List<PlateFormDTO> formDTOList = Lists.newArrayList();
switch (value) {
case 1:
// 巨量
formDTOList = tbJlBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
break;
case 2:
// 快手
formDTOList = tbKsBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
break;
case 3:
// UC
formDTOList = tbUcBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
break;
case 4:
// VIVO
formDTOList = tbVivoBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
break;
case 5:
// 百度
formDTOList = tbBdBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
break;
case 6:
// 广点通
formDTOList = tbGdtBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr,"android");
break;
default:
}
return formDTOList;
}
}

@ -1,28 +0,0 @@
package com.baiyee.adcallback.service.impl;
import cn.hutool.core.date.DateTime;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.repository.TbJlBackdataEntityRepository;
import com.baiyee.adcallback.service.JlBackDataEntityService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Enzo
* @date : 2022/10/14
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class JlBackDataEntityServiceImpl implements JlBackDataEntityService {
private final TbJlBackdataEntityRepository tbJlBackdataEntityRepository;
@Override
public List<PlateFormDTO> queryPlateFormDTO(String imeiFirst, String imeiSecond, DateTime date, DateTime offsetMinute, List<String> tagStr) {
return tbJlBackdataEntityRepository.queryPlateFormDTO(imeiFirst, imeiSecond, date, offsetMinute, tagStr);
}
}

@ -5,18 +5,20 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.api.dto.RepeatFormDTO;
import com.baiyee.adcallback.common.enums.DeliveryPlatformEnum;
import com.baiyee.adcallback.config.pojo.PlatformTransmitDTO;
import com.baiyee.adcallback.repository.entity.TbPlatformCompanyEntity;
import com.baiyee.adcallback.repository.entity.TbPlatformDeliveryEntity;
import com.baiyee.adcallback.service.AdPlatformDeliveryService;
import com.baiyee.adcallback.service.AdPlatformService;
import com.baiyee.adcallback.service.JlBackDataEntityService;
import com.baiyee.adcallback.service.BackDataEntityService;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import lombok.RequiredArgsConstructor;
@ -52,7 +54,7 @@ public class PlatFormRecordTask {
private final AdPlatformService adPlatformService;
private final JlBackDataEntityService jlBackDataEntityService;
private final BackDataEntityService backDataEntityService;
private final AdPlatformDeliveryService adPlatformDeliveryService;
@ -67,14 +69,17 @@ public class PlatFormRecordTask {
if (CollUtil.isNotEmpty(platforms)) {
for (TbPlatformCompanyEntity platform : platforms) {
DateTime date = DateUtil.date();
String tagStr = platform.getTagStr().get(0);
Integer value = DeliveryPlatformEnum.getValue
(tagStr.substring(0, tagStr.indexOf(StrPool.DASHED)));
// 偏移十分钟
DateTime offsetMinute = ObjectUtil.isNull(beginTime) ?
DateUtil.offsetMinute(date, -10) :
DateUtil.offsetMinute(beginTime, -10);
beginTime = offsetMinute;
log.info("================ the begin time as {} end time as {} ================", offsetMinute, date);
List<PlateFormDTO> dtoList = jlBackDataEntityService.queryPlateFormDTO
(CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr());
List<PlateFormDTO> dtoList = backDataEntityService.queryPlateFormDTO
(CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr(), value);
log.info("================ the dto list as {} ================", dtoList.size());
if (CollUtil.isNotEmpty(dtoList)) {
// tag进行分组

@ -130,18 +130,7 @@ public class AdCallbackApplicationTests {
@Test
public void sendMessage(){
List<PlateFormDTO> list = Lists.newArrayList();
PlateFormDTO formDTO = new PlateFormDTO();
formDTO.setImei("imei");
formDTO.setTag("tag");
list.add(formDTO);
PlatformTransmitDTO dto = new PlatformTransmitDTO();
dto.setList(list);
dto.setAuthToken("nqJpVSf3UcrEcVIH");
dto.setUserId(20L);
dto.setTaskId(31L);
String post = HttpUtil.post("https://baiyee.vip/api/taskImei/callback/add", JSONUtil.toJsonStr(dto));
log.info("");
}
}

Loading…
Cancel
Save