增加相关代码

master
bynt 2 years ago
parent 5ac92ecd0e
commit cf129786a5

@ -1,7 +1,29 @@
package com.baiyee.adcallback.repository; 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 com.baiyee.adcallback.repository.entity.TbBdBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository; 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> { 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; 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 com.baiyee.adcallback.repository.entity.TbGdtBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository; 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> { 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; 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 com.baiyee.adcallback.repository.entity.TbKsBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository; 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> { 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; 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 com.baiyee.adcallback.repository.entity.TbUcBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository; 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> { 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; 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 com.baiyee.adcallback.repository.entity.TbVivoBackdataEntity;
import org.springframework.data.jpa.repository.JpaRepository; 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> { 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 * @author Enzo
* @date : 2022/10/14 * @date : 2022/10/14
*/ */
public interface JlBackDataEntityService { public interface BackDataEntityService {
/** /**
* imei * imei
*
* @param imeiFirst * @param imeiFirst
* @param imeiSecond * @param imeiSecond
* @param date * @param date
* @param offsetMinute * @param offsetMinute
* @param tagStr * @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.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baiyee.adcallback.api.dto.PlateFormDTO; import com.baiyee.adcallback.api.dto.PlateFormDTO;
import com.baiyee.adcallback.api.dto.RepeatFormDTO; 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.config.pojo.PlatformTransmitDTO;
import com.baiyee.adcallback.repository.entity.TbPlatformCompanyEntity; import com.baiyee.adcallback.repository.entity.TbPlatformCompanyEntity;
import com.baiyee.adcallback.repository.entity.TbPlatformDeliveryEntity; import com.baiyee.adcallback.repository.entity.TbPlatformDeliveryEntity;
import com.baiyee.adcallback.service.AdPlatformDeliveryService; import com.baiyee.adcallback.service.AdPlatformDeliveryService;
import com.baiyee.adcallback.service.AdPlatformService; 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.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -52,7 +54,7 @@ public class PlatFormRecordTask {
private final AdPlatformService adPlatformService; private final AdPlatformService adPlatformService;
private final JlBackDataEntityService jlBackDataEntityService; private final BackDataEntityService backDataEntityService;
private final AdPlatformDeliveryService adPlatformDeliveryService; private final AdPlatformDeliveryService adPlatformDeliveryService;
@ -67,14 +69,17 @@ public class PlatFormRecordTask {
if (CollUtil.isNotEmpty(platforms)) { if (CollUtil.isNotEmpty(platforms)) {
for (TbPlatformCompanyEntity platform : platforms) { for (TbPlatformCompanyEntity platform : platforms) {
DateTime date = DateUtil.date(); 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) ? DateTime offsetMinute = ObjectUtil.isNull(beginTime) ?
DateUtil.offsetMinute(date, -10) : DateUtil.offsetMinute(date, -10) :
DateUtil.offsetMinute(beginTime, -10); DateUtil.offsetMinute(beginTime, -10);
beginTime = offsetMinute; beginTime = offsetMinute;
log.info("================ the begin time as {} end time as {} ================", offsetMinute, date); log.info("================ the begin time as {} end time as {} ================", offsetMinute, date);
List<PlateFormDTO> dtoList = jlBackDataEntityService.queryPlateFormDTO List<PlateFormDTO> dtoList = backDataEntityService.queryPlateFormDTO
(CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr()); (CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr(), value);
log.info("================ the dto list as {} ================", dtoList.size()); log.info("================ the dto list as {} ================", dtoList.size());
if (CollUtil.isNotEmpty(dtoList)) { if (CollUtil.isNotEmpty(dtoList)) {
// tag进行分组 // tag进行分组
@ -142,7 +147,7 @@ public class PlatFormRecordTask {
@Scheduled(cron = "0 30 23 * * ? ") @Scheduled(cron = "0 30 23 * * ? ")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void autoDeal() { public void autoDeal() {
log.info("++++++++++++++++++++++change plate form sync start time {} ++++++++++++++++", DateUtil.now()); log.info("++++++++++++++++++++++ change plate form sync start time {} ++++++++++++++++", DateUtil.now());
//删除剩余天数为0的数据 //删除剩余天数为0的数据
adPlatformDeliveryService.deleteAllByDayNum(0); adPlatformDeliveryService.deleteAllByDayNum(0);
@ -150,7 +155,7 @@ public class PlatFormRecordTask {
//所有的数据剩余天数-1 //所有的数据剩余天数-1
adPlatformDeliveryService.updateAllByDayNum(); adPlatformDeliveryService.updateAllByDayNum();
log.info("++++++++++++++++++++++change plate form Sync end time {} ++++++++++++++++", DateUtil.now()); log.info("++++++++++++++++++++++ change plate form Sync end time {} ++++++++++++++++", DateUtil.now());
} }
} }

@ -130,18 +130,7 @@ public class AdCallbackApplicationTests {
@Test @Test
public void sendMessage(){ 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