From 65794ca9cfd83661f7dfe551d8071bcb908529ec Mon Sep 17 00:00:00 2001 From: bynt <13586541001@163.com> Date: Wed, 27 Sep 2023 13:41:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adcallback/api/dto/DmpMonitorNumDto.java | 2 ++ .../TbDeliveryStatisticEntityRepository.java | 6 ++-- .../entity/TbDeliveryStatisticEntity.java | 3 ++ .../adcallback/service/DslBaseService.java | 3 +- .../service/GdtBackDateService.java | 3 +- .../service/VivoBackDateService.java | 3 +- .../service/impl/BdBackDataServiceImpl.java | 24 ++++++++++++++- .../impl/DmpMonitorNumServiceImpl.java | 4 ++- .../service/impl/DmpMonitorV2ServiceImpl.java | 26 ++++++++-------- .../service/impl/GdtBackDataServiceImpl.java | 25 +++++++++++++++- .../service/impl/JlV1BackDataServiceImpl.java | 30 +++++++++++++++---- .../service/impl/JlV2BackDataServiceImpl.java | 24 ++++++++++++++- .../service/impl/KsBackDataServiceImpl.java | 24 ++++++++++++++- .../service/impl/UcBackDataServiceImpl.java | 23 +++++++++++++- .../service/impl/VivoBackDataServiceImpl.java | 23 +++++++++++++- .../task/DeleteDeliveryDataTask.java | 3 +- .../adcallback/task/TfSourceTaskNew.java | 10 +++---- 17 files changed, 198 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/baiyee/adcallback/api/dto/DmpMonitorNumDto.java b/src/main/java/com/baiyee/adcallback/api/dto/DmpMonitorNumDto.java index f253830..87d9611 100644 --- a/src/main/java/com/baiyee/adcallback/api/dto/DmpMonitorNumDto.java +++ b/src/main/java/com/baiyee/adcallback/api/dto/DmpMonitorNumDto.java @@ -23,4 +23,6 @@ public class DmpMonitorNumDto { private Integer version; + + private Integer queryType; } diff --git a/src/main/java/com/baiyee/adcallback/repository/TbDeliveryStatisticEntityRepository.java b/src/main/java/com/baiyee/adcallback/repository/TbDeliveryStatisticEntityRepository.java index 8b456ee..84fea71 100644 --- a/src/main/java/com/baiyee/adcallback/repository/TbDeliveryStatisticEntityRepository.java +++ b/src/main/java/com/baiyee/adcallback/repository/TbDeliveryStatisticEntityRepository.java @@ -32,10 +32,12 @@ public interface TbDeliveryStatisticEntityRepository extends JpaRepository findByTag(String tagStr, int i); + @Query(value = "from TbDeliveryStatisticEntity where tag = ?1 and type = ?2 and dayNum > ?3") + List findByTag(String tagStr, Integer type, int i); } diff --git a/src/main/java/com/baiyee/adcallback/repository/entity/TbDeliveryStatisticEntity.java b/src/main/java/com/baiyee/adcallback/repository/entity/TbDeliveryStatisticEntity.java index 905f7a1..6192fc6 100644 --- a/src/main/java/com/baiyee/adcallback/repository/entity/TbDeliveryStatisticEntity.java +++ b/src/main/java/com/baiyee/adcallback/repository/entity/TbDeliveryStatisticEntity.java @@ -28,6 +28,9 @@ public class TbDeliveryStatisticEntity implements Serializable { @Column(name = "tag") private String tag; + @Column(name = "type") + private Integer type; + @Column(name = "day_num") private Integer dayNum = 3; } diff --git a/src/main/java/com/baiyee/adcallback/service/DslBaseService.java b/src/main/java/com/baiyee/adcallback/service/DslBaseService.java index da58a23..986b8f4 100644 --- a/src/main/java/com/baiyee/adcallback/service/DslBaseService.java +++ b/src/main/java/com/baiyee/adcallback/service/DslBaseService.java @@ -20,9 +20,10 @@ public interface DslBaseService { * @param endTime end time * @param tagList tag * @param flag num or link + * @param type * @return */ - List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag); + List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag, Integer type); /** * 删除数据 diff --git a/src/main/java/com/baiyee/adcallback/service/GdtBackDateService.java b/src/main/java/com/baiyee/adcallback/service/GdtBackDateService.java index 135d705..60d0c6f 100644 --- a/src/main/java/com/baiyee/adcallback/service/GdtBackDateService.java +++ b/src/main/java/com/baiyee/adcallback/service/GdtBackDateService.java @@ -18,7 +18,8 @@ public interface GdtBackDateService { * @param endTime end time * @param tagList tag * @param flag num or link + * @param type * @return */ - List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag); + List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag, Integer type); } diff --git a/src/main/java/com/baiyee/adcallback/service/VivoBackDateService.java b/src/main/java/com/baiyee/adcallback/service/VivoBackDateService.java index 8c22104..51a64a4 100644 --- a/src/main/java/com/baiyee/adcallback/service/VivoBackDateService.java +++ b/src/main/java/com/baiyee/adcallback/service/VivoBackDateService.java @@ -18,7 +18,8 @@ public interface VivoBackDateService { * @param endTime end time * @param tagList tag * @param flag num or link + * @param type * @return */ - List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag); + List queryByTagAndTimeAndFlag(Date startTime, Date endTime, List tagList, Integer flag, Integer type); } diff --git a/src/main/java/com/baiyee/adcallback/service/impl/BdBackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/BdBackDataServiceImpl.java index 2bbff33..468b7f8 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/BdBackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/BdBackDataServiceImpl.java @@ -38,7 +38,7 @@ public class BdBackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { Timestamp endTimeStamp = new Timestamp(endTime.getTime()); Timestamp startTimeStamp = new Timestamp(startTime.getTime()); return this.applyJPA(query -> { @@ -48,7 +48,22 @@ public class BdBackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (bdNewBackdata.oaid, bdNewBackdata.tag, bdNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (bdNewBackdata).where(bdNewBackdata.tag.in(tagList).and(bdNewBackdata.gmtCreate.gt(startTimeStamp)).and(bdNewBackdata.gmtCreate.lt(endTimeStamp)).and + (bdNewBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and(bdNewBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(bdNewBackdata.oaid.ne(DataConstant.IDFA_NUM))).groupBy(bdNewBackdata.oaid, bdNewBackdata.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, bdNewBackdata.oaid.count().as("num"), bdNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (bdNewBackdata).innerJoin(gmtCreate, t3).on(bdNewBackdata.oaid.eq(t3Oaid).and(bdNewBackdata.gmtCreate.eq(t3Date).and(bdNewBackdata.tag.eq(t3Tag)))).groupBy(dateExpr, bdNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (bdNewBackdata.imei, bdNewBackdata.tag, bdNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -65,6 +80,13 @@ public class BdBackDataServiceImpl extends AbstractService oaidVOList = query.select(Projections.bean + (QueryImeiVO.class, bdNewBackdata.oaid.as("imei"), bdNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(bdNewBackdata).where + (bdNewBackdata.tag.in(tagList).and(bdNewBackdata.gmtCreate.gt(startTimeStamp)).and(bdNewBackdata.gmtCreate.lt(endTimeStamp)).and(bdNewBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and + (bdNewBackdata.oaid.ne(DataConstant.IDFA_NUM)).and(bdNewBackdata.oaid.ne(DataConstant.IMEI_TAG))).groupBy(bdNewBackdata.oaid, bdNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, oaidVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, bdNewBackdata.imei, bdNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(bdNewBackdata).where (bdNewBackdata.tag.in(tagList).and(bdNewBackdata.gmtCreate.gt(startTimeStamp)).and(bdNewBackdata.gmtCreate.lt(endTimeStamp)).and(bdNewBackdata.imei.ne(CharSequenceUtil.EMPTY)).and 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 ea2b231..f35b431 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorNumServiceImpl.java @@ -311,7 +311,7 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService { // 查询数据 List tagLists = Convert.toList(DeliveryStatisticDTO.class, - tbDeliveryStatisticEntityRepository.findByTag(tagStr, 0)); + tbDeliveryStatisticEntityRepository.findByTag(tagStr, 1, 0)); Set newDataSet = Sets.newHashSet(tagLists); // 差集去除数据 @@ -330,6 +330,8 @@ public class DmpMonitorNumServiceImpl implements DmpMonitorNumService { CompletableFuture.runAsync(() -> { List deliveryStatisticEntityList = Convert.toList(TbDeliveryStatisticEntity.class, saveDataList); + + deliveryStatisticEntityList.forEach(item -> item.setType(1)); // 批量保存 tbDeliveryStatisticEntityRepository.saveAll(deliveryStatisticEntityList); }); diff --git a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorV2ServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorV2ServiceImpl.java index 6ecfc79..5fe824e 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorV2ServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/DmpMonitorV2ServiceImpl.java @@ -4,10 +4,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.text.CharSequenceUtil; import com.baiyee.adcallback.api.dto.DmpMonitorJpaDto; import com.baiyee.adcallback.api.dto.DmpMonitorNumDto; -import com.baiyee.adcallback.common.constant.DataConstant; import com.baiyee.adcallback.common.enums.DeliveryPlatformEnum; import com.baiyee.adcallback.config.pojo.DeliveryStatisticDTO; import com.baiyee.adcallback.repository.TbDeliveryStatisticEntityRepository; @@ -78,8 +76,9 @@ public class DmpMonitorV2ServiceImpl implements DmpMonitorV2Service { private List getMapData(DmpMonitorNumDto dmpMonitorNumDto, Integer flag) { Map> talbeMap = Maps.newHashMap(); List voList = Lists.newArrayList(); - Date startTime = dmpMonitorNumDto.getStartTime(); + Integer type = dmpMonitorNumDto.getQueryType(); Date endTime = dmpMonitorNumDto.getEndTime(); + Date startTime = dmpMonitorNumDto.getStartTime(); for (String tag : dmpMonitorNumDto.getTags()) { for (DeliveryPlatformEnum value : DeliveryPlatformEnum.values()) { if (tag.startsWith(value.getType().toLowerCase())) { @@ -101,37 +100,37 @@ public class DmpMonitorV2ServiceImpl implements DmpMonitorV2Service { List tagList = entry.getValue(); switch (index) { case 1: - voList.addAll(jlV1BackDataService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(jlV1BackDataService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 7: // v2 - voList.addAll(jlV2BackDataService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(jlV2BackDataService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 2: // 快手 - voList.addAll(ksBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(ksBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 3: // UC - voList.addAll(ucBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(ucBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 4: // VIVO - voList.addAll(vivoBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(vivoBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 5: //百度 - voList.addAll(bdBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(bdBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; case 6: //广点通 - voList.addAll(gdtBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag)); + voList.addAll(gdtBackDateService.queryByTagAndTimeAndFlag(startTime, endTime, tagList, flag, type)); break; default: break; } } - return flag == 1 ? voList : this.getDmpMonitorJpaDto(voList); + return flag == 1 ? voList : this.getDmpMonitorJpaDto(voList, type); } @@ -163,7 +162,7 @@ public class DmpMonitorV2ServiceImpl implements DmpMonitorV2Service { } - private List getDmpMonitorJpaDto(List list) { + private List getDmpMonitorJpaDto(List list, Integer type) { List tradeList = new ArrayList<>(); Map> stringCollectionMap = list.stream().collect(Collectors.groupingBy(DmpMonitorJpaDto::getTag)); @@ -177,7 +176,7 @@ public class DmpMonitorV2ServiceImpl implements DmpMonitorV2Service { // 转换set Set rawDataSet = Convert.toSet(DeliveryStatisticDTO.class, dmpMonitorJpaDtoSet); // 查询数据 - List tagLists = Convert.toList(DeliveryStatisticDTO.class, tbDeliveryStatisticEntityRepository.findByTag(tagStr, 0)); + List tagLists = Convert.toList(DeliveryStatisticDTO.class, tbDeliveryStatisticEntityRepository.findByTag(tagStr , type, 0)); Set newDataSet = Sets.newHashSet(tagLists); // 差集去除数据 @@ -194,6 +193,7 @@ public class DmpMonitorV2ServiceImpl implements DmpMonitorV2Service { CompletableFuture.runAsync(() -> { List deliveryStatisticEntityList = Convert.toList(TbDeliveryStatisticEntity.class, saveDataList); // 批量保存 + deliveryStatisticEntityList.forEach(item -> item.setType(type)); tbDeliveryStatisticEntityRepository.saveAll(deliveryStatisticEntityList); }); } diff --git a/src/main/java/com/baiyee/adcallback/service/impl/GdtBackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/GdtBackDataServiceImpl.java index 9b1bb7c..6ad5d8a 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/GdtBackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/GdtBackDataServiceImpl.java @@ -36,7 +36,7 @@ public class GdtBackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { return this.applyJPA(query -> { StringPath t3 = Expressions.stringPath("t3"); @@ -46,7 +46,23 @@ public class GdtBackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + + + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (gdtNewBackdata.oaid, gdtNewBackdata.tag,gdtNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (gdtNewBackdata).where(gdtNewBackdata.tag.in(tagList).and(gdtNewBackdata.oaid.ne(CharSequenceUtil.EMPTY).and + (gdtNewBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(gdtNewBackdata.oaid.ne(DataConstant.IMEI_TAG)))).groupBy(gdtNewBackdata.oaid,gdtNewBackdata.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, gdtNewBackdata.oaid.count().as("num"), gdtNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (gdtNewBackdata).innerJoin(gmtCreate, t3).on(gdtNewBackdata.oaid.eq(t3Oaid).and(gdtNewBackdata.gmtCreate.eq(t3Date).and(gdtNewBackdata.tag.eq(t3Tag)))).groupBy(dateExpr, gdtNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (gdtNewBackdata.imei, gdtNewBackdata.tag,gdtNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -63,6 +79,13 @@ public class GdtBackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, gdtNewBackdata.oaid.as("imei"), gdtNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(gdtNewBackdata).where + (gdtNewBackdata.tag.in(tagList).and(gdtNewBackdata.oaid.ne(CharSequenceUtil.EMPTY).and(gdtNewBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(gdtNewBackdata.oaid.ne + (DataConstant.IDFA_NUM)))).groupBy(gdtNewBackdata.oaid,gdtNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, gdtNewBackdata.imei, gdtNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(gdtNewBackdata).where (gdtNewBackdata.tag.in(tagList).and(gdtNewBackdata.imei.ne(CharSequenceUtil.EMPTY).and(gdtNewBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(gdtNewBackdata.imei.ne diff --git a/src/main/java/com/baiyee/adcallback/service/impl/JlV1BackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/JlV1BackDataServiceImpl.java index 93d1f66..ebfae37 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/JlV1BackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/JlV1BackDataServiceImpl.java @@ -21,13 +21,8 @@ import com.querydsl.core.types.dsl.StringPath; import com.querydsl.core.types.dsl.StringTemplate; import com.querydsl.sql.SQLExpressions; import lombok.RequiredArgsConstructor; -import org.springframework.data.jpa.repository.Modifying; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.Query; import java.util.Date; import java.util.List; @@ -43,7 +38,7 @@ public class JlV1BackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { return this.applyJPA(query -> { StringTemplate dateExpr; StringPath t3 = Expressions.stringPath("t3"); @@ -51,7 +46,23 @@ public class JlV1BackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (v1Entity.oaid, v1Entity.tag, v1Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (v1Entity).where(v1Entity.tag.in(tagList).and(v1Entity.gmtCreate.gt(startTime)).and(v1Entity.gmtCreate.lt(endTime)).and + (v1Entity.oaid.ne(CharSequenceUtil.EMPTY)).and(v1Entity.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.oaid.ne(DataConstant.IDFA_NUM))).groupBy(v1Entity.oaid, v1Entity.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, v1Entity.oaid.count().as("num"), v1Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (v1Entity).innerJoin(gmtCreate, t3).on(v1Entity.oaid.eq(t3Oaid).and(v1Entity.gmtCreate.eq(t3Date).and(v1Entity.tag.eq(t3Tag)))).groupBy(dateExpr, v1Entity.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } + // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (v1Entity.imei, v1Entity.tag, v1Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -67,6 +78,13 @@ public class JlV1BackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, v1Entity.oaid.as("imei"), v1Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v1Entity).where + (v1Entity.tag.in(tagList).and(v1Entity.gmtCreate.gt(startTime)).and(v1Entity.gmtCreate.lt(endTime)).and(v1Entity.oaid.ne(CharSequenceUtil.EMPTY)).and + (v1Entity.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(v1Entity.oaid.ne(DataConstant.IDFA_NUM))).groupBy(v1Entity.oaid, v1Entity.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, v1Entity.imei, v1Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v1Entity).where diff --git a/src/main/java/com/baiyee/adcallback/service/impl/JlV2BackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/JlV2BackDataServiceImpl.java index 816b609..5e8f956 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/JlV2BackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/JlV2BackDataServiceImpl.java @@ -36,7 +36,7 @@ public class JlV2BackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { return this.applyJPA(query -> { StringTemplate dateExpr; StringPath t3 = Expressions.stringPath("t3"); @@ -44,7 +44,22 @@ public class JlV2BackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + + + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (v2Entity.oaid, v2Entity.tag, v2Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (v2Entity).where(v2Entity.tag.in(tagList).and(v2Entity.gmtCreate.gt(startTime)).and(v2Entity.gmtCreate.lt(endTime)).and + (v2Entity.oaid.ne(CharSequenceUtil.EMPTY)).and(v2Entity.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.oaid.ne(DataConstant.IDFA_NUM))).groupBy(v2Entity.oaid, v2Entity.tag); + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, v2Entity.oaid.count().as("num"), v2Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (v2Entity).innerJoin(gmtCreate, t3).on(v2Entity.oaid.eq(t3Oaid).and(v2Entity.gmtCreate.eq(t3Date).and(v2Entity.tag.eq(t3Tag)))).groupBy(dateExpr, v2Entity.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (v2Entity.imei, v2Entity.tag, v2Entity.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -61,6 +76,13 @@ public class JlV2BackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, v2Entity.oaid.as("imei"), v2Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v2Entity).where + (v2Entity.tag.in(tagList).and(v2Entity.gmtCreate.gt(startTime)).and(v2Entity.gmtCreate.lt(endTime)).and(v2Entity.oaid.ne(CharSequenceUtil.EMPTY)).and + (v2Entity.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(v2Entity.oaid.ne(DataConstant.IDFA_NUM))).groupBy(v2Entity.oaid, v2Entity.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, v2Entity.imei, v2Entity.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(v2Entity).where (v2Entity.tag.in(tagList).and(v2Entity.gmtCreate.gt(startTime)).and(v2Entity.gmtCreate.lt(endTime)).and(v2Entity.imei.ne(CharSequenceUtil.EMPTY)).and diff --git a/src/main/java/com/baiyee/adcallback/service/impl/KsBackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/KsBackDataServiceImpl.java index 5779e85..1e0a174 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/KsBackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/KsBackDataServiceImpl.java @@ -38,7 +38,7 @@ public class KsBackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { Timestamp endTimeStamp = new Timestamp(endTime.getTime()); Timestamp startTimeStamp = new Timestamp(startTime.getTime()); return this.applyJPA(query -> { @@ -49,7 +49,22 @@ public class KsBackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (ksNewBackdata.oaid, ksNewBackdata.tag, ksNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (ksNewBackdata).where(ksNewBackdata.tag.in(tagList).and(ksNewBackdata.gmtCreate.gt(startTimeStamp)).and(ksNewBackdata.gmtCreate.lt(endTimeStamp)).and + (ksNewBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and(ksNewBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.oaid.ne(DataConstant.IDFA_NUM))).groupBy(ksNewBackdata.oaid, ksNewBackdata.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, ksNewBackdata.oaid.count().as("num"), ksNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (ksNewBackdata).innerJoin(gmtCreate, t3).on(ksNewBackdata.oaid.eq(t3Oaid).and(ksNewBackdata.gmtCreate.eq(t3Date).and(ksNewBackdata.tag.eq(t3Tag)))).groupBy(dateExpr, ksNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (ksNewBackdata.imei, ksNewBackdata.tag, ksNewBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -65,6 +80,13 @@ public class KsBackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, ksNewBackdata.oaid.as("imei"), ksNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ksNewBackdata).where + (ksNewBackdata.tag.in(tagList).and(ksNewBackdata.gmtCreate.gt(startTimeStamp)).and(ksNewBackdata.gmtCreate.lt(endTimeStamp)).and(ksNewBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and + (ksNewBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(ksNewBackdata.oaid.ne(DataConstant.IDFA_NUM))).groupBy(ksNewBackdata.oaid, ksNewBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, ksNewBackdata.imei, ksNewBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ksNewBackdata).where diff --git a/src/main/java/com/baiyee/adcallback/service/impl/UcBackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/UcBackDataServiceImpl.java index 3b90683..103ea05 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/UcBackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/UcBackDataServiceImpl.java @@ -38,7 +38,7 @@ public class UcBackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { return this.applyJPA(query -> { StringTemplate dateExpr; @@ -49,7 +49,21 @@ public class UcBackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (ucBackdata.oaid, ucBackdata.tag, ucBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (ucBackdata).where(ucBackdata.tag.in(tagList).and(ucBackdata.gmtCreate.gt(startTimeStamp)).and(ucBackdata.gmtCreate.lt(endTimeStamp)).and + (ucBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and(ucBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.oaid.ne(DataConstant.IDFA_NUM))).groupBy(ucBackdata.oaid, ucBackdata.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, ucBackdata.oaid.count().as("num"), ucBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (ucBackdata).innerJoin(gmtCreate, t3).on(ucBackdata.oaid.eq(t3Oaid).and(ucBackdata.gmtCreate.eq(t3Date).and(ucBackdata.tag.eq(t3Tag)))).groupBy(dateExpr, ucBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (ucBackdata.imei, ucBackdata.tag, ucBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -65,6 +79,13 @@ public class UcBackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, ucBackdata.oaid.as("imei"), ucBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ucBackdata).where + (ucBackdata.tag.in(tagList).and(ucBackdata.gmtCreate.gt(startTimeStamp)).and(ucBackdata.gmtCreate.lt(endTimeStamp)).and(ucBackdata.oaid.ne(CharSequenceUtil.EMPTY)).and + (ucBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(ucBackdata.oaid.ne(DataConstant.IDFA_NUM))).groupBy(ucBackdata.oaid, ucBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, ucBackdata.imei, ucBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(ucBackdata).where diff --git a/src/main/java/com/baiyee/adcallback/service/impl/VivoBackDataServiceImpl.java b/src/main/java/com/baiyee/adcallback/service/impl/VivoBackDataServiceImpl.java index 58d2bc8..224f137 100644 --- a/src/main/java/com/baiyee/adcallback/service/impl/VivoBackDataServiceImpl.java +++ b/src/main/java/com/baiyee/adcallback/service/impl/VivoBackDataServiceImpl.java @@ -36,7 +36,7 @@ public class VivoBackDataServiceImpl extends AbstractService queryByTagAndTimeAndFlag - (Date startTime, Date endTime, List tagList, Integer flag) { + (Date startTime, Date endTime, List tagList, Integer flag, Integer type) { return this.applyJPA(query -> { StringPath t3 = Expressions.stringPath("t3"); @@ -46,7 +46,21 @@ public class VivoBackDataServiceImpl extends AbstractService t3Tag = Expressions.template(String.class, "t3.tag"); SimpleTemplate t3Imei = Expressions.template(String.class, "t3.imei"); + SimpleTemplate t3Oaid = Expressions.template(String.class, "t3.oaid"); SimpleTemplate t3Date = Expressions.template(Date.class, "t3.gmtCreate"); + if (type == 2){ + // 封装子查询 + SubQueryExpression gmtCreate = SQLExpressions.select + (vivoBackdata.oaid, vivoBackdata.tag,vivoBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from + (vivoBackdata).where(vivoBackdata.tag.in(tagList).and(vivoBackdata.oaid.ne(CharSequenceUtil.EMPTY).and + (vivoBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(vivoBackdata.oaid.ne(DataConstant.IDFA_NUM)))).groupBy(vivoBackdata.oaid,vivoBackdata.tag); + + // 结果返回 + List voList = query.select(Projections.bean + (QueryQuantityVO.class, vivoBackdata.oaid.count().as("num"), vivoBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).from + (vivoBackdata).innerJoin(gmtCreate, t3).on(vivoBackdata.oaid.eq(t3Oaid).and(vivoBackdata.gmtCreate.eq(t3Date).and(vivoBackdata.tag.eq(t3Tag)))).groupBy(dateExpr, vivoBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, voList); + } // 封装子查询 SubQueryExpression gmtCreate = SQLExpressions.select (vivoBackdata.imei, vivoBackdata.tag,vivoBackdata.gmtCreate.max().as(SqlConstant.CREATE_TIME)).from @@ -63,6 +77,13 @@ public class VivoBackDataServiceImpl extends AbstractService imeiVOList = query.select(Projections.bean + (QueryImeiVO.class, vivoBackdata.oaid.as("imei"), vivoBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(vivoBackdata).where + (vivoBackdata.tag.in(tagList).and(vivoBackdata.oaid.ne(CharSequenceUtil.EMPTY).and(vivoBackdata.oaid.ne(DataConstant.IMEI_NULL_TAG)).and(vivoBackdata.imei.ne + (DataConstant.IDFA_NUM)))).groupBy(vivoBackdata.oaid,vivoBackdata.tag).fetch(); + return Convert.toList(DmpMonitorJpaDto.class, imeiVOList); + } List imeiVOList = query.select(Projections.bean (QueryImeiVO.class, vivoBackdata.imei, vivoBackdata.tag, dateExpr.as(SqlConstant.CREATE_TIME))).distinct().from(vivoBackdata).where (vivoBackdata.tag.in(tagList).and(vivoBackdata.imei.ne(CharSequenceUtil.EMPTY).and(vivoBackdata.imei.ne(DataConstant.IMEI_NULL_TAG)).and(vivoBackdata.imei.ne diff --git a/src/main/java/com/baiyee/adcallback/task/DeleteDeliveryDataTask.java b/src/main/java/com/baiyee/adcallback/task/DeleteDeliveryDataTask.java index ce21e8b..a06ffc1 100644 --- a/src/main/java/com/baiyee/adcallback/task/DeleteDeliveryDataTask.java +++ b/src/main/java/com/baiyee/adcallback/task/DeleteDeliveryDataTask.java @@ -37,9 +37,8 @@ public class DeleteDeliveryDataTask { /** * 凌晨五点 查询定时任务 删除记录 */ - @Scheduled(cron = "0 0 5 * * ?") + // @Scheduled(cron = "0 0 5 * * ?") @Transactional(rollbackFor = Exception.class) - public void deleteDataTask() { for (TableEnum value : TableEnum.values()) { diff --git a/src/main/java/com/baiyee/adcallback/task/TfSourceTaskNew.java b/src/main/java/com/baiyee/adcallback/task/TfSourceTaskNew.java index f00d36b..3f2bbf2 100644 --- a/src/main/java/com/baiyee/adcallback/task/TfSourceTaskNew.java +++ b/src/main/java/com/baiyee/adcallback/task/TfSourceTaskNew.java @@ -51,7 +51,7 @@ public class TfSourceTaskNew { @Value("${tf.source.path}") private String path; - @Scheduled(cron = "0 0 1 * * ? ") + // @Scheduled(cron = "0 0 1 * * ? ") @Transactional(rollbackFor = Exception.class) public void compressSourceJlV1() { log.info("++++++++++++++++++++++source jlv1 compress start time {} ++++++++++++++++", DateUtil.now()); @@ -62,7 +62,7 @@ public class TfSourceTaskNew { log.info("++++++++++++++++++++++TfSource jlv1 Sync end time {} ++++++++++++++++", DateUtil.now()); } - @Scheduled(cron = "0 0 2 * * ? ") + // @Scheduled(cron = "0 0 2 * * ? ") @Transactional(rollbackFor = Exception.class) public void compressSourceJlV2() { log.info("++++++++++++++++++++++source jlv2 compress start time {} ++++++++++++++++", DateUtil.now()); @@ -73,7 +73,7 @@ public class TfSourceTaskNew { log.info("++++++++++++++++++++++TfSource jlv2 Sync end time {} ++++++++++++++++", DateUtil.now()); } - @Scheduled(cron = "0 0 3 * * ? ") + // @Scheduled(cron = "0 0 3 * * ? ") @Transactional(rollbackFor = Exception.class) public void compressSourceGdt() { log.info("++++++++++++++++++++++source gdt compress start time {} ++++++++++++++++", DateUtil.now()); @@ -84,7 +84,7 @@ public class TfSourceTaskNew { log.info("++++++++++++++++++++++TfSource gdt Sync end time {} ++++++++++++++++", DateUtil.now()); } - @Scheduled(cron = "0 0 4 * * ? ") + // @Scheduled(cron = "0 0 4 * * ? ") @Transactional(rollbackFor = Exception.class) public void compressSourceKs() { log.info("++++++++++++++++++++++source ks compress start time {} ++++++++++++++++", DateUtil.now()); @@ -95,7 +95,7 @@ public class TfSourceTaskNew { log.info("++++++++++++++++++++++TfSource ks Sync end time {} ++++++++++++++++", DateUtil.now()); } - @Scheduled(cron = "0 0 5 * * ? ") + // @Scheduled(cron = "0 0 5 * * ? ") @Transactional(rollbackFor = Exception.class) public void compressSourceBd() { log.info("++++++++++++++++++++++source bd compress start time {} ++++++++++++++++", DateUtil.now());