You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by kr...@apache.org on 2022/11/11 02:35:54 UTC
[incubator-streampark] branch dev updated: [Improve] sql Improvement (#2002)
This is an automated email from the ASF dual-hosted git repository.
kriszu pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new ca42e7fe8 [Improve] sql Improvement (#2002)
ca42e7fe8 is described below
commit ca42e7fe8d3a0102ffce23ff4833ee0ff7b666ae
Author: benjobs <be...@apache.org>
AuthorDate: Fri Nov 11 10:35:50 2022 +0800
[Improve] sql Improvement (#2002)
---
.../src/assembly/script/data/mysql-data.sql | 2 +-
.../src/assembly/script/data/pgsql-data.sql | 2 +-
.../core/mapper/ApplicationConfigMapper.java | 5 ++
.../console/core/mapper/ApplicationMapper.java | 7 ++
.../console/core/mapper/FlinkClusterMapper.java | 5 ++
.../console/core/mapper/ProjectMapper.java | 8 +-
.../console/core/mapper/VariableMapper.java | 3 +
.../console/core/service/ApplicationService.java | 2 +-
.../console/core/service/FlinkClusterService.java | 4 +
.../console/core/service/ProjectService.java | 2 +-
.../console/core/service/VariableService.java | 3 +-
.../core/service/impl/AppBuildPipeServiceImpl.java | 2 +-
.../service/impl/ApplicationConfigServiceImpl.java | 9 +--
.../core/service/impl/ApplicationServiceImpl.java | 36 ++++-----
.../core/service/impl/FlinkClusterServiceImpl.java | 29 +++----
.../core/service/impl/ProjectServiceImpl.java | 15 +---
.../core/service/impl/VariableServiceImpl.java | 7 +-
.../console/core/task/ProjectBuildTask.java | 9 ++-
.../console/system/authentication/ShiroConfig.java | 22 ++++++
.../system/service/impl/TeamServiceImpl.java | 6 +-
.../src/main/resources/application.yml | 19 -----
.../src/main/resources/db/data-h2.sql | 2 +-
.../resources/mapper/core/AlertConfigMapper.xml | 7 +-
.../mapper/core/ApplicationConfigMapper.xml | 13 ++++
.../resources/mapper/core/ApplicationMapper.xml | 88 +++++++++++++---------
.../resources/mapper/core/FlinkClusterMapper.xml | 20 +++++
.../main/resources/mapper/core/FlinkSqlMapper.xml | 3 +-
.../main/resources/mapper/core/ProjectMapper.xml | 36 +++++----
.../main/resources/mapper/core/VariableMapper.xml | 14 +++-
29 files changed, 235 insertions(+), 145 deletions(-)
diff --git a/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql b/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
index 884603ec0..a263e424e 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
@@ -40,7 +40,7 @@ insert into `t_flink_effective` values (100000, 100000, 2, 100000, now());
-- ----------------------------
-- Records of t_flink_project
-- ----------------------------
-insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', 1, now(), now());
+insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
-- ----------------------------
-- Records of t_flink_sql
diff --git a/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql b/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
index 1269a05fc..65f42d17e 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
@@ -35,7 +35,7 @@ insert into "public"."t_flink_effective" values (100000, 100000, 2, 100000, now(
-- ----------------------------
-- Records of t_flink_project
-- ----------------------------
-insert into "public"."t_flink_project" values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', 1, now(), now());
+insert into "public"."t_flink_project" values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
-- ----------------------------
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationConfigMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationConfigMapper.java
index 80459224e..62c3ff3b7 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationConfigMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationConfigMapper.java
@@ -20,6 +20,8 @@ package org.apache.streampark.console.core.mapper;
import org.apache.streampark.console.core.entity.ApplicationConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
public interface ApplicationConfigMapper extends BaseMapper<ApplicationConfig> {
@@ -28,4 +30,7 @@ public interface ApplicationConfigMapper extends BaseMapper<ApplicationConfig> {
ApplicationConfig getEffective(@Param("appId") Long appId);
+ ApplicationConfig getLatest(@Param("appId") Long appId);
+
+ IPage<ApplicationConfig> pageByAppId(Page<ApplicationConfig> page, @Param("appId") Long appId);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationMapper.java
index 61bddd771..88472e956 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ApplicationMapper.java
@@ -50,4 +50,11 @@ public interface ApplicationMapper extends BaseMapper<Application> {
List<String> getRecentK8sTmPodTemplate(@Param("limitSize") int limit);
+ void resetOptionState();
+
+ Boolean existsByTeamId(@Param("teamId") Long teamId);
+
+ Boolean existsByJobName(@Param("jobName") String jobName);
+
+ List<Application> getByProjectId(@Param("projectId") Long id);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
index b2cb088bd..428aa8e99 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/FlinkClusterMapper.java
@@ -20,7 +20,12 @@ package org.apache.streampark.console.core.mapper;
import org.apache.streampark.console.core.entity.FlinkCluster;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
public interface FlinkClusterMapper extends BaseMapper<FlinkCluster> {
+ Boolean existsByClusterId(@Param("clusterId") String clusterId);
+
+ Boolean existsByClusterName(@Param("clusterName") String clusterName, @Param("id") Long id);
+
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
index c5ce5db8f..db0d1d61b 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/ProjectMapper.java
@@ -20,14 +20,16 @@ package org.apache.streampark.console.core.mapper;
import org.apache.streampark.console.core.entity.Project;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
public interface ProjectMapper extends BaseMapper<Project> {
- void updateFailureBuildById(@Param("project") Project project);
+ void updateBuildState(@Param("id") Long id, @Param("state") Integer buildState);
- void updateSuccessBuildById(@Param("project") Project project);
+ IPage<Project> page(Page<Project> page, @Param("project") Project project);
- void updateStartBuildById(@Param("project") Project project);
+ Boolean existsByTeamId(@Param("teamId") Long teamId);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
index db3b84917..79fd65eed 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
@@ -31,4 +31,7 @@ public interface VariableMapper extends BaseMapper<Variable> {
IPage<Variable> page(Page<Variable> page, @Param("variable") Variable variable);
List<Variable> selectByTeamId(@Param("teamId") Long teamId, @Param("keyword") String keyword);
+
+ Boolean existsByTeamId(@Param("teamId") Long teamId);
+
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ApplicationService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ApplicationService.java
index 3c091c35e..c3dfc493a 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ApplicationService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ApplicationService.java
@@ -35,7 +35,7 @@ public interface ApplicationService extends IService<Application> {
IPage<Application> page(Application app, RestRequest request);
- long countByTeamId(Long teamId);
+ boolean existsByTeamId(Long teamId);
boolean create(Application app) throws IOException;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/FlinkClusterService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/FlinkClusterService.java
index 879b7fa48..a2c525441 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/FlinkClusterService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/FlinkClusterService.java
@@ -35,4 +35,8 @@ public interface FlinkClusterService extends IService<FlinkCluster> {
ResponseResult start(FlinkCluster flinkCluster);
ResponseResult shutdown(FlinkCluster flinkCluster);
+
+ Boolean existsByClusterId(String clusterId);
+
+ Boolean existsByClusterName(String clusterName, Long id);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
index dfc45c9f3..ff3c986ed 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/ProjectService.java
@@ -38,7 +38,7 @@ public interface ProjectService extends IService<Project> {
IPage<Project> page(Project project, RestRequest restRequest);
- long countByTeamId(Long teamId);
+ Boolean existsByTeamId(Long teamId);
void build(Long id) throws Exception;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
index ec7b51701..4c27980b9 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
@@ -52,7 +52,7 @@ public interface VariableService extends IService<Variable> {
*/
List<Variable> findByTeamId(Long teamId, String keyword);
- long countByTeamId(Long teamId);
+ boolean existsByTeamId(Long teamId);
/**
* create variable
@@ -68,4 +68,5 @@ public interface VariableService extends IService<Variable> {
String replaceVariable(Long teamId, String mixed);
IPage<Application> dependAppsPage(Variable variable, RestRequest request);
+
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
index 866b4c40b..96597b52e 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
@@ -445,7 +445,7 @@ public class AppBuildPipeServiceImpl
return Maps.newHashMap();
}
LambdaQueryWrapper<AppBuildPipeline> queryWrapper = new LambdaQueryWrapper<AppBuildPipeline>()
- .select(AppBuildPipeline::getAppId, AppBuildPipeline::getPipeStatus)
+ .select(AppBuildPipeline::getAppId, AppBuildPipeline::getPipeStatusCode)
.in(AppBuildPipeline::getAppId, appIds);
List<Map<String, Object>> rMaps = baseMapper.selectMaps(queryWrapper);
if (CollectionUtils.isEmpty(rMaps)) {
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationConfigServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationConfigServiceImpl.java
index 9b1001456..dc23e192a 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationConfigServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationConfigServiceImpl.java
@@ -180,10 +180,7 @@ public class ApplicationConfigServiceImpl
@Override
public ApplicationConfig getLatest(Long appId) {
- LambdaQueryWrapper<ApplicationConfig> queryWrapper = new LambdaQueryWrapper<ApplicationConfig>()
- .eq(ApplicationConfig::getAppId, appId)
- .eq(ApplicationConfig::getLatest, true);
- return this.getOne(queryWrapper);
+ return baseMapper.getLatest(appId);
}
@Override
@@ -206,9 +203,7 @@ public class ApplicationConfigServiceImpl
@Override
public IPage<ApplicationConfig> page(ApplicationConfig config, RestRequest request) {
Page<ApplicationConfig> page = new MybatisPager<ApplicationConfig>().getPage(request, "version", Constant.ORDER_DESC);
- LambdaQueryWrapper<ApplicationConfig> queryWrapper = new LambdaQueryWrapper<ApplicationConfig>()
- .eq(ApplicationConfig::getAppId, config.getAppId());
- return this.page(page, queryWrapper);
+ return this.baseMapper.pageByAppId(page, config.getAppId());
}
@Override
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
index e9b6e95e3..777de6488 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
@@ -94,7 +94,6 @@ import org.apache.streampark.flink.submit.bean.KubernetesSubmitParam;
import org.apache.streampark.flink.submit.bean.SubmitRequest;
import org.apache.streampark.flink.submit.bean.SubmitResponse;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -212,9 +211,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
@PostConstruct
public void resetOptionState() {
- Application application = new Application();
- application.setOptionState(0);
- this.update(application);
+ this.baseMapper.resetOptionState();
}
private final Map<Long, CompletableFuture<SubmitResponse>> startFutureMap = new ConcurrentHashMap<>();
@@ -516,10 +513,8 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
}
@Override
- public long countByTeamId(Long teamId) {
- LambdaQueryWrapper<Application> queryWrapper = new LambdaQueryWrapper<Application>()
- .eq(Application::getTeamId, teamId);
- return this.count(queryWrapper);
+ public boolean existsByTeamId(Long teamId) {
+ return baseMapper.existsByTeamId(teamId);
}
@Override
@@ -539,9 +534,8 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
if (!checkJobName(appParam.getJobName())) {
return AppExistsState.INVALID;
}
- LambdaQueryWrapper<Application> queryWrapper = new LambdaQueryWrapper<Application>()
- .eq(Application::getJobName, appParam.getJobName());
- boolean inDB = this.baseMapper.selectCount(queryWrapper) > 0;
+
+ boolean existsByJobName = this.existsByJobName(appParam.getJobName());
if (appParam.getId() != null) {
Application app = getById(appParam.getId());
@@ -549,7 +543,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
return AppExistsState.NO;
}
- if (inDB) {
+ if (existsByJobName) {
return AppExistsState.IN_DB;
}
@@ -573,7 +567,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
}
}
} else {
- if (inDB) {
+ if (existsByJobName) {
return AppExistsState.IN_DB;
}
@@ -623,19 +617,21 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
return false;
}
+ private boolean existsByJobName(String jobName) {
+ return this.baseMapper.existsByJobName(jobName);
+ }
+
@SuppressWarnings("checkstyle:WhitespaceAround")
@Override
@SneakyThrows
@Transactional(rollbackFor = {Exception.class})
public Long copy(Application appParam) {
- LambdaQueryWrapper<Application> queryWrapper = new LambdaQueryWrapper<Application>()
- .eq(Application::getJobName, appParam.getJobName());
- long count = this.baseMapper.selectCount(queryWrapper);
- if (count > 0) {
+ boolean existsByJobName = this.existsByJobName(appParam.getJobName());
+ if (existsByJobName) {
throw new IllegalArgumentException("[StreamPark] Application names cannot be repeated");
}
- Application oldApp = getById(appParam.getId());
+ Application oldApp = getById(appParam.getId());
Application newApp = new Application();
String jobName = appParam.getJobName();
@@ -882,9 +878,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
@Override
public List<Application> getByProjectId(Long id) {
- LambdaQueryWrapper<Application> queryWrapper = new LambdaQueryWrapper<Application>()
- .eq(Application::getProjectId, id);
- return this.list(queryWrapper);
+ return baseMapper.getByProjectId(id);
}
@Override
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
index b2cc47bdc..f1161d639 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
@@ -39,7 +39,6 @@ import org.apache.streampark.flink.submit.bean.KubernetesDeployParam;
import org.apache.streampark.flink.submit.bean.ShutDownRequest;
import org.apache.streampark.flink.submit.bean.ShutDownResponse;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -91,15 +90,11 @@ public class FlinkClusterServiceImpl extends ServiceImpl<FlinkClusterMapper, Fli
return "error";
}
//1) Check if name is duplicate, if it already exists
- LambdaQueryWrapper<FlinkCluster> queryWrapper = new LambdaQueryWrapper<FlinkCluster>()
- .eq(FlinkCluster::getClusterName, cluster.getClusterName());
- FlinkCluster flinkCluster = this.getOne(queryWrapper);
- if (flinkCluster != null) {
- boolean isExists = cluster.getId() == null || (cluster.getId() != null && !flinkCluster.getId().equals(cluster.getId()));
- if (isExists) {
- return "exists";
- }
+ Boolean existsByClusterName = this.existsByClusterName(cluster.getClusterName(), cluster.getId());
+ if (existsByClusterName) {
+ return "exists";
}
+
if (ExecutionMode.REMOTE.equals(cluster.getExecutionModeEnum())) {
//2) Check if the connection can be made to
return cluster.verifyConnection() ? "success" : "fail";
@@ -117,10 +112,8 @@ public class FlinkClusterServiceImpl extends ServiceImpl<FlinkClusterMapper, Fli
}
String clusterId = flinkCluster.getClusterId();
if (StringUtils.isNoneBlank(clusterId)) {
- LambdaQueryWrapper<FlinkCluster> queryWrapper = new LambdaQueryWrapper<FlinkCluster>()
- .eq(FlinkCluster::getClusterId, clusterId);
- FlinkCluster inDb = this.getOne(queryWrapper);
- if (inDb != null) {
+ Boolean existsByClusterId = this.existsByClusterId(clusterId);
+ if (existsByClusterId) {
result.setMsg("the clusterId" + clusterId + "is already exists,please check!");
result.setStatus(0);
return result;
@@ -290,6 +283,16 @@ public class FlinkClusterServiceImpl extends ServiceImpl<FlinkClusterMapper, Fli
}
}
+ @Override
+ public Boolean existsByClusterId(String clusterId) {
+ return this.baseMapper.existsByClusterId(clusterId);
+ }
+
+ @Override
+ public Boolean existsByClusterName(String clusterName, Long id) {
+ return this.baseMapper.existsByClusterName(clusterName, id);
+ }
+
@Override
public ResponseResult delete(FlinkCluster flinkCluster) {
ResponseResult result = new ResponseResult();
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
index 73fbf7f1e..1e4d9b9f9 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
@@ -45,7 +45,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -166,24 +165,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
@Override
public IPage<Project> page(Project project, RestRequest request) {
Page<Project> page = new MybatisPager<Project>().getDefaultPage(request);
- LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<Project>()
- .eq(Project::getTeamId, project.getTeamId())
- .like(StringUtils.isNotBlank(project.getName()), Project::getName, project.getName())
- .eq(project.getBuildState() != null, Project::getBuildState, project.getBuildState());
- return this.page(page, queryWrapper);
+ return this.baseMapper.page(page, project);
}
@Override
- public long countByTeamId(Long teamId) {
- LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<Project>()
- .eq(Project::getTeamId, teamId);
- return this.count(queryWrapper);
+ public Boolean existsByTeamId(Long teamId) {
+ return this.baseMapper.existsByTeamId(teamId);
}
@Override
public void build(Long id) throws Exception {
Project project = getById(id);
- this.baseMapper.updateStartBuildById(project);
+ this.baseMapper.updateBuildState(project.getId(), BuildState.BUILDING.get());
ProjectBuildTask projectBuildTask = new ProjectBuildTask(getBuildLogPath(id), project, baseMapper, applicationService);
CompletableFuture<Void> buildTask = CompletableFuture.runAsync(projectBuildTask, executorService);
// TODO May need to define parameters to set the build timeout in the future.
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
index 62ed98c92..2bd1bf2fe 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
@@ -230,9 +230,8 @@ public class VariableServiceImpl extends ServiceImpl<VariableMapper, Variable> i
}
@Override
- public long countByTeamId(Long teamId) {
- LambdaQueryWrapper<Variable> queryWrapper = new LambdaQueryWrapper<Variable>()
- .eq(Variable::getTeamId, teamId);
- return this.count(queryWrapper);
+ public boolean existsByTeamId(Long teamId) {
+ return this.baseMapper.existsByTeamId(teamId);
}
+
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
index 3410ab256..f731dc25d 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
@@ -22,6 +22,7 @@ import org.apache.streampark.common.util.Utils;
import org.apache.streampark.console.base.util.CommonUtils;
import org.apache.streampark.console.core.entity.Application;
import org.apache.streampark.console.core.entity.Project;
+import org.apache.streampark.console.core.enums.BuildState;
import org.apache.streampark.console.core.enums.LaunchState;
import org.apache.streampark.console.core.mapper.ProjectMapper;
import org.apache.streampark.console.core.service.ApplicationService;
@@ -64,16 +65,16 @@ public class ProjectBuildTask extends AbstractLogFileTask {
boolean cloneSuccess = cloneSourceCode(project);
if (!cloneSuccess) {
fileLogger.error("[StreamPark] clone or pull error.");
- this.baseMapper.updateFailureBuildById(project);
+ this.baseMapper.updateBuildState(project.getId(), BuildState.FAILED.get());
return;
}
boolean build = projectBuild(project);
if (!build) {
- this.baseMapper.updateFailureBuildById(project);
+ this.baseMapper.updateBuildState(project.getId(), BuildState.FAILED.get());
fileLogger.error("build error, project name: {} ", project.getName());
return;
}
- this.baseMapper.updateSuccessBuildById(project);
+ this.baseMapper.updateBuildState(project.getId(), BuildState.SUCCESSFUL.get());
this.deploy(project);
List<Application> applications = this.applicationService.getByProjectId(project.getId());
// Update the deploy state
@@ -87,7 +88,7 @@ public class ProjectBuildTask extends AbstractLogFileTask {
@Override
protected void processException(Throwable t) {
- this.baseMapper.updateFailureBuildById(project);
+ this.baseMapper.updateBuildState(project.getId(), BuildState.FAILED.get());
fileLogger.error("Build error, project name: {}", project.getName(), t);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/authentication/ShiroConfig.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/authentication/ShiroConfig.java
index 367a8837e..8fa0ef897 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/authentication/ShiroConfig.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/authentication/ShiroConfig.java
@@ -42,6 +42,7 @@ public class ShiroConfig {
LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
filterChainDefinitionMap.put("/actuator/**", "anon");
+
filterChainDefinitionMap.put("/doc.html", "anon");
filterChainDefinitionMap.put("/swagger-ui/**", "anon");
filterChainDefinitionMap.put("/swagger-resources", "anon");
@@ -49,6 +50,27 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/swagger-resources/configuration/ui", "anon");
filterChainDefinitionMap.put("/v3/api-docs", "anon");
filterChainDefinitionMap.put("/webjars/**", "anon");
+
+ filterChainDefinitionMap.put("/passport/**", "anon");
+ filterChainDefinitionMap.put("/systemName", "anon");
+ filterChainDefinitionMap.put("/member/teams", "anon");
+ filterChainDefinitionMap.put("/user/check/**", "anon");
+ filterChainDefinitionMap.put("/user/initTeam", "anon");
+ filterChainDefinitionMap.put("/websocket/**", "anon");
+ filterChainDefinitionMap.put("/metrics/**", "anon");
+
+ filterChainDefinitionMap.put("/index.html", "anon");
+ filterChainDefinitionMap.put("/assets/**", "anon");
+ filterChainDefinitionMap.put("/css/**", "anon");
+ filterChainDefinitionMap.put("/fonts/**", "anon");
+ filterChainDefinitionMap.put("/img/**", "anon");
+ filterChainDefinitionMap.put("/js/**", "anon");
+ filterChainDefinitionMap.put("/loading/**", "anon");
+ filterChainDefinitionMap.put("/*.js", "anon");
+ filterChainDefinitionMap.put("/*.png", "anon");
+ filterChainDefinitionMap.put("/*.jpg", "anon");
+ filterChainDefinitionMap.put("/*.less", "anon");
+ filterChainDefinitionMap.put("/", "anon");
filterChainDefinitionMap.put("/**", "jwt");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
index 59fe76a5c..1b83c88ec 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/TeamServiceImpl.java
@@ -104,13 +104,13 @@ public class TeamServiceImpl extends ServiceImpl<TeamMapper, Team> implements Te
if (team == null) {
throw new ApiAlertException(String.format("The team[Id=%s] doesn't exists.", teamId));
}
- if (applicationService.countByTeamId(teamId) > 0) {
+ if (applicationService.existsByTeamId(teamId)) {
throw new ApiAlertException(String.format("Please delete the applications under the team[name=%s] first!", team.getTeamName()));
}
- if (projectService.countByTeamId(teamId) > 0) {
+ if (projectService.existsByTeamId(teamId)) {
throw new ApiAlertException(String.format("Please delete the projects under the team[name=%s] first!", team.getTeamName()));
}
- if (variableService.countByTeamId(teamId) > 0) {
+ if (variableService.existsByTeamId(teamId)) {
throw new ApiAlertException(String.format("Please delete the variables under the team[name=%s] first!", team.getTeamName()));
}
diff --git a/streampark-console/streampark-console-service/src/main/resources/application.yml b/streampark-console/streampark-console-service/src/main/resources/application.yml
index 33bab5c75..a7560a715 100644
--- a/streampark-console/streampark-console-service/src/main/resources/application.yml
+++ b/streampark-console/streampark-console-service/src/main/resources/application.yml
@@ -129,25 +129,6 @@ streampark:
jwtTimeOut: 86400
# backend authentication-free resources url
anonUrl: >
- /passport/**,
- /systemName,
- /member/teams,
- /user/check/**,
- /user/initTeam,
- /websocket/**,
- /metrics/**,
- /index.html,
- /assets/**,
- /css/**,
- /fonts/**,
- /img/**,
- /js/**,
- /loading/**,
- /*.js,
- /*.png,
- /*.jpg,
- /*.less,
- /
ldap:
## AD server IP, default port 389
diff --git a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
index 9e2d666e2..89d0893fe 100644
--- a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
+++ b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
@@ -35,7 +35,7 @@ insert into `t_flink_effective` values (100000, 100000, 2, 100000, now());
-- ----------------------------
-- Records of t_flink_project
-- ----------------------------
-insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', 1, now(), now());
+insert into `t_flink_project` values (100000, 100000, 'streampark-quickstart', 'https://github.com/streamxhub/streampark-quickstart.git', 'main', null, null, null, null, 1, 1, null, 'streampark-quickstart', -1, now(), now());
-- ----------------------------
-- Records of t_flink_sql
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/AlertConfigMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/AlertConfigMapper.xml
index 4eae46e65..15b5b55bf 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/AlertConfigMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/AlertConfigMapper.xml
@@ -34,8 +34,9 @@
</resultMap>
<select id="getAlertConfByName" resultType="org.apache.streampark.console.core.entity.AlertConfig" parameterType="org.apache.streampark.console.core.entity.AlertConfig">
- SELECT id
- FROM t_alert_config t
- where t.alert_name = #{alertConfig.alertName} limit 1;
+ select id
+ from t_alert_config t
+ where t.alert_name = #{alertConfig.alertName}
+ limit 1
</select>
</mapper>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationConfigMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationConfigMapper.xml
index e606a3cd4..9644a23bc 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationConfigMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationConfigMapper.xml
@@ -30,6 +30,13 @@
<result column="create_time" jdbcType="DATE" property="createTime"/>
</resultMap>
+ <select id="getLatest" resultType="org.apache.streampark.console.core.entity.ApplicationConfig" parameterType="java.lang.Long">
+ select *
+ from t_flink_config
+ where app_id=#{appId}
+ and latest=true
+ </select>
+
<select id="getLastVersion" resultType="java.lang.Integer" parameterType="java.lang.Long">
select max(`version`) as lastVersion
from t_flink_config
@@ -44,4 +51,10 @@
where e.app_id = #{appId}
and e.target_type = 1
</select>
+
+ <select id="pageByAppId" resultType="org.apache.streampark.console.core.entity.ApplicationConfig" parameterType="java.lang.Long">
+ select * from t_flink_config
+ where app_id=#{appId}
+ </select>
+
</mapper>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
index 117d57bfe..27b95048d 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
@@ -79,15 +79,40 @@
<result column="tags" jdbcType="VARCHAR" property="tags"/>
</resultMap>
+ <update id="resetOptionState">
+ update t_flink_app
+ set option_state = 0
+ </update>
+
+ <select id="existsByTeamId" resultType="java.lang.Boolean" parameterType="java.lang.Long">
+ select count(1)
+ from t_flink_app
+ where team_id = #{teamId}
+ limit 1
+ </select>
+
+ <select id="existsByJobName" resultType="java.lang.Boolean" parameterType="java.lang.String">
+ select count(1)
+ from t_flink_app
+ where job_name = #{jobName}
+ limit 1
+ </select>
+
+ <select id="getByProjectId" resultType="org.apache.streampark.console.core.entity.Application" parameterType="java.lang.Long">
+ select * from t_flink_app where project_id=#{projectId}
+ </select>
+
<select id="page" resultType="org.apache.streampark.console.core.entity.Application" parameterType="org.apache.streampark.console.core.entity.Application">
- select t.*,
- p.name as projectName,
- u.username,
- case when trim(u.nick_name) = ''
+ select
+ t.*,
+ p.name as projectName,
+ u.username,
+ case
+ when trim(u.nick_name) = ''
then u.username
- else u.nick_name
- end as nickname,
- v.version as flinkVersion
+ else u.nick_name
+ end as nickname,
+ v.version as flinkVersion
from t_flink_app t
inner join t_user u
on t.user_id = u.user_id
@@ -194,7 +219,14 @@
</update>
<select id="getByTeamId" resultType="org.apache.streampark.console.core.entity.Application" parameterType="java.lang.Long">
- select t.*, u.username, case when trim(u.nick_name) = '' then u.username else u.nick_name end as nick_name
+ select
+ t.*,
+ u.username,
+ case
+ when trim(u.nick_name) = ''
+ then u.username
+ else u.nick_name
+ end as nick_name
from t_flink_app t
inner join t_user u
on t.user_id = u.user_id
@@ -219,9 +251,7 @@
<select id="getRecentK8sNamespace" resultType="java.lang.String" parameterType="java.lang.Integer">
select k8s_namespace
from (
- select
- k8s_namespace,
- max(create_time) as ct
+ select k8s_namespace, max(create_time) as ct
from t_flink_app
where k8s_namespace is not null
group by k8s_namespace
@@ -233,12 +263,10 @@
<select id="getRecentK8sClusterId" resultType="java.lang.String" parameterType="java.util.Map">
select cluster_id
from (
- select
- cluster_id,
- max(create_time) as ct
+ select cluster_id, max(create_time) as ct
from t_flink_app
where cluster_id is not null
- and execution_mode = #{executionMode}
+ and execution_mode = #{executionMode}
group by cluster_id
order by ct desc
) as ci
@@ -248,12 +276,10 @@
<select id="getRecentFlinkBaseImage" resultType="java.lang.String" parameterType="java.lang.Integer">
select flink_image
from (
- select
- flink_image,
- max(create_time) as ct
+ select flink_image, max(create_time) as ct
from t_flink_app
where flink_image is not null
- and execution_mode = 6
+ and execution_mode = 6
group by flink_image
order by ct desc
) as fi
@@ -263,13 +289,11 @@
<select id="getRecentK8sPodTemplate" resultType="java.lang.String" parameterType="java.lang.Integer">
select k8s_pod_template
from (
- select
- k8s_pod_template,
- max(create_time) as ct
+ select k8s_pod_template, max(create_time) as ct
from t_flink_app
where k8s_pod_template is not null
- and k8s_pod_template !=''
- and execution_mode = 6
+ and k8s_pod_template !=''
+ and execution_mode = 6
group by k8s_pod_template
order by ct desc
) as pt
@@ -279,13 +303,11 @@
<select id="getRecentK8sJmPodTemplate" resultType="java.lang.String" parameterType="java.lang.Integer">
select k8s_jm_pod_template
from (
- select
- k8s_jm_pod_template,
- max(create_time) as ct
+ select k8s_jm_pod_template, max(create_time) as ct
from t_flink_app
where k8s_jm_pod_template is not null
- and k8s_jm_pod_template != ''
- and execution_mode = 6
+ and k8s_jm_pod_template != ''
+ and execution_mode = 6
group by k8s_jm_pod_template
order by ct desc
) as pt
@@ -295,13 +317,11 @@
<select id="getRecentK8sTmPodTemplate" resultType="java.lang.String" parameterType="java.lang.Integer">
select k8s_tm_pod_template
from (
- select
- k8s_tm_pod_template,
- max(create_time) as ct
+ select k8s_tm_pod_template, max(create_time) as ct
from t_flink_app
where k8s_tm_pod_template is not null
- and k8s_tm_pod_template != ''
- and execution_mode = 6
+ and k8s_tm_pod_template != ''
+ and execution_mode = 6
group by k8s_tm_pod_template
order by ct desc
) as pt
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
index 2e073a39f..5e4d48769 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
@@ -43,4 +43,24 @@
<result column="cluster_state" jdbcType="TINYINT" property="clusterState"/>
<result column="create_time" jdbcType="DATE" property="createTime"/>
</resultMap>
+
+ <select id="existsByClusterId" resultType="java.lang.Boolean" parameterType="java.lang.String">
+ select count(1)
+ from t_flink_cluster
+ where cluster_id=#{clusterId}
+ limit 1
+ </select>
+
+ <select id="existsByClusterName" resultType="java.lang.Boolean" parameterType="java.util.Map">
+ select count(1)
+ from t_flink_cluster
+ <where>
+ cluster_name=#{clusterName}
+ <if test="id != null">
+ and id <> #{id}
+ </if>
+ </where>
+ limit 1
+ </select>
+
</mapper>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkSqlMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkSqlMapper.xml
index ba658907b..a0b8fbd41 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkSqlMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkSqlMapper.xml
@@ -45,7 +45,8 @@
<select id="getByTeamId" resultType="org.apache.streampark.console.core.entity.FlinkSql" parameterType="java.lang.Long">
select s.*
- from t_flink_sql s, t_flink_app a
+ from t_flink_sql s
+ inner join t_flink_app a
where s.app_id = a.id
and a.team_id = #{teamId}
</select>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
index 520a0b31d..65e70f6c8 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ProjectMapper.xml
@@ -39,21 +39,31 @@
<result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime"/>
</resultMap>
- <update id="updateFailureBuildById" parameterType="org.apache.streampark.console.core.entity.Project">
- update t_flink_project
- set BUILD_STATE=2
- where id=#{project.id}
- </update>
+ <select id="existsByTeamId" resultType="java.lang.Boolean" parameterType="java.lang.Long">
+ select count(1)
+ from t_flink_project
+ where team_id = #{teamId}
+ limit 1
+ </select>
- <update id="updateSuccessBuildById" parameterType="org.apache.streampark.console.core.entity.Project">
+ <update id="updateBuildState" parameterType="java.util.Map">
update t_flink_project
- set LAST_BUILD=now(), BUILD_STATE=1
- where id=#{project.id}
+ set build_state = #{state}
+ where id = #{id}
</update>
- <update id="updateStartBuildById" parameterType="org.apache.streampark.console.core.entity.Project">
- update t_flink_project
- set BUILD_STATE=0
- where id=#{project.id}
- </update>
+ <select id="page" resultType="org.apache.streampark.console.core.entity.Project" parameterType="org.apache.streampark.console.core.entity.Project">
+ select *
+ from t_flink_project t
+ <where>
+ t.team_id = #{project.teamId}
+ <if test="project.name != null and project.name != ''">
+ and t.name like '%${project.name}%'
+ </if>
+ <if test="project.buildState != null">
+ and t.build_state = #{project.buildState}
+ </if>
+ </where>
+ </select>
+
</mapper>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
index fa6f640b6..789e250f5 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
@@ -32,8 +32,11 @@
</resultMap>
<select id="page" resultType="org.apache.streampark.console.core.entity.Variable" parameterType="org.apache.streampark.console.core.entity.Variable">
- select v.*, u.username as creatorName
- from t_variable v, t_user u
+ select
+ v.*,
+ u.username as creatorName
+ from t_variable v
+ inner join t_user u
<where>
v.creator_id = u.user_id
and v.team_id = ${variable.teamId}
@@ -46,6 +49,13 @@
</where>
</select>
+ <select id="existsByTeamId" resultType="java.lang.Boolean" parameterType="java.lang.Long">
+ select count(1)
+ from t_variable
+ where team_id = #{teamId}
+ limit 1
+ </select>
+
<select id="selectByTeamId" resultType="org.apache.streampark.console.core.entity.Variable">
select *
from t_variable