From d99e5b261b5ca1082310ea6988dc0101def2f4fc Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Fri, 5 Jul 2024 11:38:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(info-query):=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E8=A1=A8=E8=B7=A8=E5=A4=A9=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/forest/service/InfoService.java | 3 +++ .../info/controller/VersionController.java | 5 ++++ .../service/info/service/VersionService.java | 24 +++++++++++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/InfoService.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/InfoService.java index 1f9b7a5..7944f0f 100644 --- a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/InfoService.java +++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/InfoService.java @@ -116,6 +116,9 @@ public interface InfoService { @Get("/info/updated_version_tables") ImmutableList updatedVersionTables(); + @Get("/info/is_version_updated") + Boolean isVersionUpdated(@Query("flink_job_id") Long flinkJobId, @Query("alias") String alias); + @Get("/info/exists_table") Boolean existsTable(@Query("flink_job_id") Long flinkJobId, @Query("alias") String alias); diff --git a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/controller/VersionController.java b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/controller/VersionController.java index 7242537..8105ae1 100644 --- a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/controller/VersionController.java +++ b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/controller/VersionController.java @@ -103,4 +103,9 @@ public class VersionController { public Long unReceiveVersionFocusTableCount(@RequestParam("version") String version) { return versionService.unReceiveVersionFocusTableCount(version); } + + @GetMapping("/is_version_updated") + public Boolean isVersionUpdated(Long flinkJobId, String alias) { + return versionService.isVersionUpdated(flinkJobId, alias); + } } diff --git a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/VersionService.java b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/VersionService.java index fcaf173..7a72585 100644 --- a/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/VersionService.java +++ b/service-info-query/src/main/java/com/lanyuanxiaoyao/service/info/service/VersionService.java @@ -66,8 +66,8 @@ public class VersionService extends BaseService { return builder .from(TbAppFlinkJobConfig._alias_, TbAppCollectTableInfo._alias_, TbAppCollectTableVersion._alias_) .whereEq(TbAppFlinkJobConfig.ID_A, Column.as(TbAppCollectTableInfo.FLINK_JOB_ID_A)) - .andEq(TbAppFlinkJobConfig.STATUS_A, "y") - .andEq(TbAppCollectTableInfo.STATUS_A, "y") + .andEq(TbAppFlinkJobConfig.STATUS_A, STATUS_Y) + .andEq(TbAppCollectTableInfo.STATUS_A, STATUS_Y) .andEq(TbAppFlinkJobConfig.ID_A, Column.as(TbAppCollectTableVersion.FLINK_JOB_ID_A)) .andEq(TbAppCollectTableInfo.ALIAS_A, Column.as(TbAppCollectTableVersion.ALIAS_A)) .andLt(TbAppCollectTableInfo.PRIORITY_A, 10000) @@ -351,4 +351,24 @@ public class VersionService extends BaseService { Long.class ); } + + @Cacheable(value = "is-version-updated", sync = true) + @Retryable(Throwable.class) + public Boolean isVersionUpdated(Long flinkJobId, String alias) { + return mysqlJdbcTemplate.queryForObject( + SqlBuilder.select("count(*) > 0") + .from(TbAppFlinkJobConfig._alias_, TbAppCollectTableInfo._alias_, TbAppCollectTableVersion._alias_) + .whereEq(TbAppFlinkJobConfig.ID_A, Column.as(TbAppCollectTableInfo.FLINK_JOB_ID_A)) + .andEq(TbAppFlinkJobConfig.STATUS_A, STATUS_Y) + .andEq(TbAppCollectTableInfo.STATUS_A, STATUS_Y) + .andEq(TbAppFlinkJobConfig.ID_A, Column.as(TbAppCollectTableVersion.FLINK_JOB_ID_A)) + .andEq(TbAppCollectTableInfo.ALIAS_A, Column.as(TbAppCollectTableVersion.ALIAS_A)) + .andEq(TbAppCollectTableInfo.FLINK_JOB_ID_A, flinkJobId) + .andEq(TbAppCollectTableInfo.ALIAS_A, alias) + .andEq(TbAppCollectTableVersion.VERSION_A, Column.as("date_format(subdate(current_date(), 1), '%Y%m%d')")) + .andEq(TbAppCollectTableVersion.SCHEDULED_A, true) + .build(), + Boolean.class + ); + } }