From ccac4c86f793804faa726f26c99453f8782fc0d3 Mon Sep 17 00:00:00 2001 From: bynt Date: Mon, 5 Jun 2023 18:33:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E8=A7=A3=E5=AF=86?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/service/dto/OrganizeSaveDTO.java | 4 +- .../service/impl/OrganizeServiceImpl.java | 2 +- .../java/com/baiye/timed/UpdateImeiTask.java | 46 +++++++++++++++++++ .../main/resources/config/application-dev.yml | 2 +- .../resources/config/application-prod.yml | 2 +- 5 files changed, 51 insertions(+), 5 deletions(-) diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/dto/OrganizeSaveDTO.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/dto/OrganizeSaveDTO.java index e5040ba2..6055f7af 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/dto/OrganizeSaveDTO.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/dto/OrganizeSaveDTO.java @@ -26,9 +26,9 @@ public class OrganizeSaveDTO { @NotEmpty(message = "小组不能为空") private List organizeList; - @ApiModelProperty(value = "此次任务是否加密线索手机号 0:不加密 1:加密") + @ApiModelProperty(value = "此次任务是否加密线索手机号 0:不加密 1:加密 2:随机字符串") @NotNull(message = "请选择是否加密") - private Integer isEncryption; + private Integer encryptionType; @ApiModelProperty(value = "标签组ID") private Long labelOrganizeId; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java index 65e15259..fa9c8c2a 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java @@ -300,7 +300,7 @@ public class OrganizeServiceImpl implements OrganizeService { task.setIsDistribution(1); task.setUpdateTime(new Date()); task.setTaskName(organizeSaveDTO.getOrganizeTaskName()); - task.setEncryptionType(organizeSaveDTO.getIsEncryption()); + task.setEncryptionType(organizeSaveDTO.getEncryptionType()); //插入标签 List labelList = labelService.findLabelList(new HashSet<>(Collections.singleton(labelOrganizeId))); if (CollUtil.isNotEmpty(labelList)) { diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/UpdateImeiTask.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/UpdateImeiTask.java index 49192dab..d09168f6 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/UpdateImeiTask.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/UpdateImeiTask.java @@ -8,6 +8,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; +import java.math.BigInteger; /** * @author Enzo @@ -35,5 +41,45 @@ public class UpdateImeiTask { } + @PersistenceContext + private EntityManager entityManager; + + /** + * 凌晨五点 查询定时任务 删除记录 + */ + @Scheduled(cron = "0 0 5 * * ?") + @Transactional(rollbackFor = Exception.class) + public void deleteDataTask() { + //数据中需要删除的数据量 + long expiredCount; + // 已经删除数据量 + long totalDeleted = 0L; + String deleteStr = "DELETE FROM tb_task_imei WHERE create_time <:DATE "; + // 时间偏移六个月 + DateTime date = DateUtil.offsetMonth(DateUtil.date(), -DefaultNumberConstants.SIX_NUMBER); + do { + Query deleteTagByQuery = entityManager.createNativeQuery(deleteStr.concat(" limit 50000")); + deleteTagByQuery.setParameter("DATE", date.toDateStr()); + int executeUpdate = deleteTagByQuery.executeUpdate(); + totalDeleted += executeUpdate; + expiredCount = queryCount(date); + } while (expiredCount > 0); + log.info("======== delete table size as [{}] ========", totalDeleted); + } + + /** + * 查询数据 + * + * @param date + * @return + */ + private Long queryCount(DateTime date) { + String sql = "select count(1) FROM tb_task_imei where create_time < :date "; + Query selectQueryCount = entityManager.createNativeQuery(sql); + selectQueryCount.setParameter("date", date.toDateStr()); + BigInteger bigInteger = (BigInteger) selectQueryCount.getSingleResult(); + return bigInteger.longValue(); + } + } diff --git a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml index beb2b642..d8711676 100644 --- a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml +++ b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-dev.yml @@ -59,7 +59,7 @@ spring: # 记录慢SQL log-slow-sql: true slow-sql-millis: 1000 - merge-sql: true + merge-sql: false wall: config: multi-statement-allow: true diff --git a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml index 4f2257da..2ae581af 100644 --- a/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml +++ b/ad-platform-manage/ad-platform-management/src/main/resources/config/application-prod.yml @@ -57,7 +57,7 @@ spring: # 记录慢SQL log-slow-sql: true slow-sql-millis: 1000 - merge-sql: true + merge-sql: false wall: config: multi-statement-allow: true