This is an automated email from the ASF dual-hosted git repository.
benjobs 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 283614a2a [Improve] mybatis-plus updateStrategy improvements (#3615)
283614a2a is described below
commit 283614a2a496107d55309c5bc4b6db4eb2ee3ba6
Author: VampireAchao <[email protected]>
AuthorDate: Mon Apr 1 23:32:33 2024 +0800
[Improve] mybatis-plus updateStrategy improvements (#3615)
* [improve] update global db update-strategy
* [improve] remove all @TableField(updateStrategy = FieldStrategy.IGNORED)
---
.licenserc.yaml | 2 ++
dist-material/release-docs/LICENSE | 7 ++++
.../licenses/license-cn.hutool-hutool-core.txt | 1 +
.../streampark-console-service/pom.xml | 8 +++++
.../console/base/config/MybatisConfig.java | 2 ++
.../console/core/entity/Application.java | 9 -----
.../console/core/entity/ApplicationConfig.java | 3 --
.../console/core/entity/FlinkCluster.java | 7 ----
.../streampark/console/core/entity/Project.java | 5 ---
.../streampark/console/core/entity/Setting.java | 3 --
.../streampark/console/core/entity/YarnQueue.java | 1 -
.../service/alert/impl/AlertConfigServiceImpl.java | 11 ++++++
.../impl/ApplicationActionServiceImpl.java | 18 +++++++++-
.../impl/ApplicationManageServiceImpl.java | 7 ++--
.../core/service/impl/AppBuildPipeServiceImpl.java | 11 ++++++
.../core/service/impl/ExternalLinkServiceImpl.java | 15 ++++++--
.../core/service/impl/FlinkClusterServiceImpl.java | 16 +++++++++
.../core/service/impl/FlinkEnvServiceImpl.java | 11 ++++++
.../core/service/impl/ProjectServiceImpl.java | 16 ++++++++-
.../core/service/impl/ResourceServiceImpl.java | 13 ++++++-
.../core/service/impl/SavePointServiceImpl.java | 5 ++-
.../core/service/impl/VariableServiceImpl.java | 16 ++++++++-
.../core/service/impl/YarnQueueServiceImpl.java | 12 +++++++
.../streampark/console/core/utils/BeanUtil.java | 40 ++++++++++++++++++++++
.../service/impl/AccessTokenServiceImpl.java | 17 ++++++---
.../system/service/impl/MemberServiceImpl.java | 11 ++++++
.../system/service/impl/RoleServiceImpl.java | 13 ++++++-
.../system/service/impl/TeamServiceImpl.java | 11 ++++++
.../system/service/impl/UserServiceImpl.java | 17 +++++++--
.../console/core/service/SavePointServiceTest.java | 5 +--
30 files changed, 266 insertions(+), 47 deletions(-)
diff --git a/.licenserc.yaml b/.licenserc.yaml
index 1c6652248..9313bb6e2 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -171,3 +171,5 @@ dependency:
license: Eclipse Public License 2.0
- name: org.slf4j:slf4j-api
license: MIT License
+ - name: cn.hutool:hutool-core
+ license: MulanPSL-2.0
diff --git a/dist-material/release-docs/LICENSE
b/dist-material/release-docs/LICENSE
index d8d863007..493676230 100644
--- a/dist-material/release-docs/LICENSE
+++ b/dist-material/release-docs/LICENSE
@@ -733,6 +733,13 @@ The text of each license is also included in
licenses/LICENSE-[project].txt.
https://mvnrepository.com/artifact/com.github.scribejava/scribejava-apis/7.1.1
MIT
https://mvnrepository.com/artifact/com.github.scribejava/scribejava-core/7.1.1
MIT
+========================================================================
+MulanPSL-2.0 licenses
+========================================================================
+The following components are provided under the MulanPSL-2.0 License. See
project link for details.
+The text of each license is also included in licenses/LICENSE-[project].txt.
+
+ https://mvnrepository.com/artifact/cn.hutool/hutool-core/5.8.26
MulanPSL-2.0
========================================================================
Public Domain licenses
diff --git
a/dist-material/release-docs/licenses/license-cn.hutool-hutool-core.txt
b/dist-material/release-docs/licenses/license-cn.hutool-hutool-core.txt
new file mode 100644
index 000000000..52f1fbcc3
--- /dev/null
+++ b/dist-material/release-docs/licenses/license-cn.hutool-hutool-core.txt
@@ -0,0 +1 @@
+License: {Name: MulanPSL-2.0, URL: http://license.coscl.org.cn/MulanPSL2,
Distribution: repo, Comments: , }
diff --git a/streampark-console/streampark-console-service/pom.xml
b/streampark-console/streampark-console-service/pom.xml
index f6b48a62d..694ecb1a6 100644
--- a/streampark-console/streampark-console-service/pom.xml
+++ b/streampark-console/streampark-console-service/pom.xml
@@ -44,6 +44,7 @@
<knife4j-openapi3.version>4.0.0</knife4j-openapi3.version>
<springdoc-openapi-ui.version>1.6.9</springdoc-openapi-ui.version>
<commons-compress.version>1.21</commons-compress.version>
+ <hutool.version>5.8.27</hutool.version>
<javax-mail.version>1.4.7</javax-mail.version>
<shiro.version>1.10.0</shiro.version>
<jsch.version>0.2.11</jsch.version>
@@ -258,6 +259,13 @@
<artifactId>commons-lang3</artifactId>
</dependency>
+ <!-- hutool -->
+ <dependency>
+ <groupId>cn.hutool</groupId>
+ <artifactId>hutool-core</artifactId>
+ <version>${hutool.version}</version>
+ </dependency>
+
<!-- h2 -->
<dependency>
<groupId>com.h2database</groupId>
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
index df9b4f3e7..f6c193c8b 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/config/MybatisConfig.java
@@ -22,6 +22,7 @@ import
org.apache.streampark.console.base.mybatis.interceptor.PostgreSQLQueryInt
import org.apache.ibatis.type.JdbcType;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusPropertiesCustomizer;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
@@ -85,6 +86,7 @@ public class MybatisConfig {
GlobalConfig globalConfig =
GlobalConfigUtils.getGlobalConfig(mybatisConfiguration);
GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig();
dbConfig.setIdType(IdType.AUTO);
+ dbConfig.setUpdateStrategy(FieldStrategy.IGNORED);
// close mybatis-plus banner
globalConfig.setBanner(false);
properties.setGlobalConfig(globalConfig);
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
index 198cfe1dc..2349fc0af 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
@@ -40,7 +40,6 @@ import
org.apache.streampark.flink.packer.maven.DependencyInfo;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -80,14 +79,11 @@ public class Application implements Serializable {
/** The name of the frontend and program displayed in yarn */
private String jobName;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String appId;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String jobId;
/** The address of the jobmanager, that is, the direct access address of the
Flink web UI */
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String jobManagerUrl;
/** flink version */
@@ -128,7 +124,6 @@ public class Application implements Serializable {
private Boolean build;
/** max restart retries after job failed */
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer restartSize;
/** has restart count */
@@ -137,7 +132,6 @@ public class Application implements Serializable {
private Integer optionState;
/** alert id */
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Long alertId;
private String args;
@@ -146,7 +140,6 @@ public class Application implements Serializable {
private String options;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String hotParams;
private Integer resolveOrder;
@@ -169,7 +162,6 @@ public class Application implements Serializable {
private Date startTime;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Date endTime;
private Long duration;
@@ -197,7 +189,6 @@ public class Application implements Serializable {
private Integer totalTask;
/** the cluster id bound to the task in remote mode */
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Long flinkClusterId;
private String description;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/ApplicationConfig.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/ApplicationConfig.java
index 5a096fbde..58fc0cab4 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/ApplicationConfig.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/ApplicationConfig.java
@@ -24,9 +24,7 @@ import
org.apache.streampark.console.core.enums.ConfigFileTypeEnum;
import org.apache.commons.collections.MapUtils;
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -59,7 +57,6 @@ public class ApplicationConfig {
/** default version: 1 */
private Integer version = 1;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String content;
private Date createTime;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
index 67637440b..d2a80b3cc 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
@@ -31,9 +31,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.flink.configuration.CoreOptions;
import org.apache.hc.client5.http.config.RequestConfig;
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
@@ -59,10 +57,8 @@ public class FlinkCluster implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String address;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String jobManagerUrl;
private String clusterId;
@@ -98,7 +94,6 @@ public class FlinkCluster implements Serializable {
private Integer resolveOrder;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String exception;
private Integer clusterState;
@@ -107,10 +102,8 @@ public class FlinkCluster implements Serializable {
private Date startTime;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Date endTime;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private Long alertId;
private transient Integer allJobs = 0;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
index 40439be42..d9218309b 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
@@ -30,9 +30,7 @@ import
org.apache.streampark.console.core.enums.GitAuthorizedErrorEnum;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -68,13 +66,10 @@ public class Project implements Serializable {
private Date lastBuild;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String userName;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String password;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String prvkeyPath;
/** No salt value is returned */
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Setting.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Setting.java
index edd8659d4..fb76e49c3 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Setting.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Setting.java
@@ -17,9 +17,7 @@
package org.apache.streampark.console.core.entity;
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -39,7 +37,6 @@ public class Setting implements Serializable {
@TableId(type = IdType.INPUT)
private String settingKey;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String settingValue;
private Integer type;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/YarnQueue.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/YarnQueue.java
index bb81b6684..55c85da01 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/YarnQueue.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/YarnQueue.java
@@ -41,7 +41,6 @@ public class YarnQueue implements Serializable {
/** yarn queue and label in format {queue} or {queue@label1} or
{queue@label1,label2}. */
private String queueLabel;
- @TableField(updateStrategy = FieldStrategy.IGNORED)
private String description;
private Date createTime;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/AlertConfigServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/AlertConfigServiceImpl.java
index 6d889a7ba..c25ce5e51 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/AlertConfigServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/AlertConfigServiceImpl.java
@@ -26,6 +26,7 @@ import org.apache.streampark.console.core.entity.Application;
import org.apache.streampark.console.core.mapper.AlertConfigMapper;
import org.apache.streampark.console.core.service.alert.AlertConfigService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.commons.collections.CollectionUtils;
@@ -73,6 +74,16 @@ public class AlertConfigServiceImpl extends
ServiceImpl<AlertConfigMapper, Alert
return confByName != null;
}
+ @Override
+ public boolean updateById(AlertConfig entity) {
+ AlertConfig alertConfig = baseMapper.selectById(entity.getId());
+ if (alertConfig == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, alertConfig, AlertConfig::getId,
AlertConfig::getCreateTime);
+ return super.updateById(alertConfig);
+ }
+
@Override
public boolean removeById(Long id) throws AlertException {
long count =
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationActionServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationActionServiceImpl.java
index 60047f481..0fbbb51b4 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationActionServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationActionServiceImpl.java
@@ -65,6 +65,7 @@ import
org.apache.streampark.console.core.service.VariableService;
import
org.apache.streampark.console.core.service.application.ApplicationActionService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.core.utils.FlinkK8sDataTypeConverterStub;
import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
import org.apache.streampark.console.core.watcher.FlinkClusterWatcher;
@@ -251,7 +252,7 @@ public class ApplicationActionServiceImpl extends
ServiceImpl<ApplicationMapper,
}
application.setOptionTime(new Date());
- this.baseMapper.updateById(application);
+ updateById(application);
Long userId = commonService.getUserId();
if (!application.getUserId().equals(userId)) {
@@ -848,4 +849,19 @@ public class ApplicationActionServiceImpl extends
ServiceImpl<ApplicationMapper,
flinkClusterWatcher.getClusterState(flinkCluster) ==
ClusterState.RUNNING,
"[StreamPark] The flink cluster not running, please start it");
}
+
+ @Override
+ public boolean updateById(Application application) {
+ Application app = getById(application.getId());
+ BeanUtil.copyIgnoreNull(application, app, Application::getId,
Application::getCreateTime);
+ app.setAppId(application.getAppId());
+ app.setJobId(application.getJobId());
+ app.setJobManagerUrl(application.getJobManagerUrl());
+ app.setRestartSize(application.getRestartSize());
+ app.setAlertId(application.getAlertId());
+ app.setEndTime(application.getEndTime());
+ app.setHotParams(application.getHotParams());
+ app.setFlinkClusterId(application.getFlinkClusterId());
+ return super.updateById(app);
+ }
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationManageServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationManageServiceImpl.java
index 0fce782c3..1af2784f8 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationManageServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/application/impl/ApplicationManageServiceImpl.java
@@ -54,6 +54,7 @@ import
org.apache.streampark.console.core.service.ResourceService;
import org.apache.streampark.console.core.service.SavePointService;
import org.apache.streampark.console.core.service.SettingService;
import org.apache.streampark.console.core.service.YarnQueueService;
+import
org.apache.streampark.console.core.service.application.ApplicationActionService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
import org.apache.streampark.console.core.utils.FlinkK8sDataTypeConverterStub;
import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
@@ -139,6 +140,8 @@ public class ApplicationManageServiceImpl extends
ServiceImpl<ApplicationMapper,
@Autowired private FlinkClusterService flinkClusterService;
+ @Autowired private ApplicationActionService applicationActionService;
+
@PostConstruct
public void resetOptionState() {
this.baseMapper.resetOptionState();
@@ -609,7 +612,7 @@ public class ApplicationManageServiceImpl extends
ServiceImpl<ApplicationMapper,
application.setJar(appParam.getJar());
application.setMainClass(appParam.getMainClass());
}
- this.updateById(application);
+ applicationActionService.updateById(application);
return true;
}
@@ -682,7 +685,7 @@ public class ApplicationManageServiceImpl extends
ServiceImpl<ApplicationMapper,
}
}
}
- this.updateById(application);
+ applicationActionService.updateById(application);
this.configService.update(appParam, application.isRunning());
}
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 3370e6652..ea04f7b09 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
@@ -59,6 +59,7 @@ import
org.apache.streampark.console.core.service.SettingService;
import
org.apache.streampark.console.core.service.application.ApplicationActionService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
import org.apache.streampark.flink.packer.docker.DockerConf;
import org.apache.streampark.flink.packer.maven.Artifact;
@@ -648,6 +649,16 @@ public class AppBuildPipeServiceImpl
return updateById(pipe);
}
+ @Override
+ public boolean updateById(AppBuildPipeline entity) {
+ AppBuildPipeline appBuildPipeline =
baseMapper.selectById(entity.getAppId());
+ if (appBuildPipeline == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, appBuildPipeline,
AppBuildPipeline::getAppId);
+ return super.updateById(appBuildPipeline);
+ }
+
/**
* Check if the jar exists, and upload a copy if it does not exist
*
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ExternalLinkServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ExternalLinkServiceImpl.java
index ebf979c3f..62ac4c88f 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ExternalLinkServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ExternalLinkServiceImpl.java
@@ -24,6 +24,7 @@ import
org.apache.streampark.console.core.enums.PlaceholderTypeEnum;
import org.apache.streampark.console.core.mapper.ExternalLinkMapper;
import org.apache.streampark.console.core.service.ExternalLinkService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -65,8 +66,18 @@ public class ExternalLinkServiceImpl extends
ServiceImpl<ExternalLinkMapper, Ext
if (!this.check(externalLink)) {
return;
}
- externalLink.setModifyTime(new Date());
- baseMapper.updateById(externalLink);
+ updateById(externalLink);
+ }
+
+ @Override
+ public boolean updateById(ExternalLink externalLink) {
+ ExternalLink link = baseMapper.selectById(externalLink.getId());
+ if (link == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(externalLink, link, ExternalLink::getId,
ExternalLink::getCreateTime);
+ link.setModifyTime(new Date());
+ return super.updateById(link);
}
@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 ea80ed2ff..b3af94b26 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
@@ -31,6 +31,7 @@ import
org.apache.streampark.console.core.service.FlinkClusterService;
import org.apache.streampark.console.core.service.FlinkEnvService;
import org.apache.streampark.console.core.service.YarnQueueService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.core.watcher.FlinkClusterWatcher;
import org.apache.streampark.console.core.watcher.FlinkK8sObserverStub;
import org.apache.streampark.flink.client.FlinkClient;
@@ -226,6 +227,21 @@ public class FlinkClusterServiceImpl extends
ServiceImpl<FlinkClusterMapper, Fli
updateById(flinkCluster);
}
+ @Override
+ public boolean updateById(FlinkCluster entity) {
+ FlinkCluster flinkCluster = baseMapper.selectById(entity.getId());
+ if (flinkCluster == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, flinkCluster, FlinkCluster::getId,
FlinkCluster::getCreateTime);
+ flinkCluster.setAddress(entity.getAddress());
+ flinkCluster.setJobManagerUrl(entity.getJobManagerUrl());
+ flinkCluster.setException(entity.getException());
+ flinkCluster.setEndTime(entity.getEndTime());
+ flinkCluster.setAlertId(entity.getAlertId());
+ return super.updateById(flinkCluster);
+ }
+
private void updateFlinkClusterForNonRemoteModes(
FlinkCluster paramOfCluster, FlinkCluster flinkCluster) {
flinkCluster.setClusterId(paramOfCluster.getClusterId());
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
index 17f41f5a5..dcb3c8071 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkEnvServiceImpl.java
@@ -24,6 +24,7 @@ import
org.apache.streampark.console.core.mapper.FlinkEnvMapper;
import org.apache.streampark.console.core.service.FlinkClusterService;
import org.apache.streampark.console.core.service.FlinkEnvService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -154,6 +155,16 @@ public class FlinkEnvServiceImpl extends
ServiceImpl<FlinkEnvMapper, FlinkEnv>
checkOrElseAlert(flinkEnv);
}
+ @Override
+ public boolean updateById(FlinkEnv entity) {
+ FlinkEnv flinkEnv = baseMapper.selectById(entity.getId());
+ if (flinkEnv == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, flinkEnv, FlinkEnv::getId,
FlinkEnv::getCreateTime);
+ return super.updateById(flinkEnv);
+ }
+
private void checkOrElseAlert(FlinkEnv flinkEnv) {
// 1.check exists
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 13f5a137b..bb721d0af 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
@@ -43,6 +43,7 @@ import
org.apache.streampark.console.core.mapper.ProjectMapper;
import org.apache.streampark.console.core.service.ProjectService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
import org.apache.streampark.console.core.task.ProjectBuildTask;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
import org.apache.commons.lang3.StringUtils;
@@ -172,10 +173,23 @@ public class ProjectServiceImpl extends
ServiceImpl<ProjectMapper, Project>
});
}
}
- baseMapper.updateById(project);
+ updateById(project);
return true;
}
+ @Override
+ public boolean updateById(Project entity) {
+ Project project = baseMapper.selectById(entity.getId());
+ if (project == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, project, Project::getId,
Project::getCreateTime);
+ project.setUserName(entity.getUserName());
+ project.setPassword(entity.getPassword());
+ project.setPrvkeyPath(entity.getPrvkeyPath());
+ return super.updateById(project);
+ }
+
private static void updateInternal(Project projectParam, Project project) {
project.setName(projectParam.getName());
project.setUrl(projectParam.getUrl());
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
index f2f2ef3ec..4fc732420 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ResourceServiceImpl.java
@@ -41,6 +41,7 @@ import
org.apache.streampark.console.core.service.CommonService;
import org.apache.streampark.console.core.service.FlinkSqlService;
import org.apache.streampark.console.core.service.ResourceService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.flink.packer.maven.Artifact;
import org.apache.streampark.flink.packer.maven.MavenTool;
@@ -209,7 +210,17 @@ public class ResourceServiceImpl extends
ServiceImpl<ResourceMapper, Resource>
}
findResource.setDescription(resource.getDescription());
- baseMapper.updateById(findResource);
+ updateById(findResource);
+ }
+
+ @Override
+ public boolean updateById(Resource entity) {
+ Resource resource = baseMapper.selectById(entity.getId());
+ if (resource == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, resource, Resource::getId,
Resource::getCreateTime);
+ return super.updateById(resource);
}
@Override
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SavePointServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SavePointServiceImpl.java
index c973be1f4..9aba293a0 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SavePointServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SavePointServiceImpl.java
@@ -40,6 +40,7 @@ import
org.apache.streampark.console.core.service.ApplicationLogService;
import org.apache.streampark.console.core.service.FlinkClusterService;
import org.apache.streampark.console.core.service.FlinkEnvService;
import org.apache.streampark.console.core.service.SavePointService;
+import
org.apache.streampark.console.core.service.application.ApplicationActionService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
import org.apache.streampark.console.core.watcher.FlinkAppHttpWatcher;
import org.apache.streampark.flink.client.FlinkClient;
@@ -93,6 +94,8 @@ public class SavePointServiceImpl extends
ServiceImpl<SavePointMapper, SavePoint
@Autowired private ApplicationManageService applicationManageService;
+ @Autowired private ApplicationActionService applicationActionService;
+
@Autowired private ApplicationConfigService configService;
@Autowired private FlinkClusterService flinkClusterService;
@@ -167,7 +170,7 @@ public class SavePointServiceImpl extends
ServiceImpl<SavePointMapper, SavePoint
application.setOptionState(OptionStateEnum.SAVEPOINTING.getValue());
application.setOptionTime(new Date());
- this.applicationManageService.updateById(application);
+ this.applicationActionService.updateById(application);
flinkAppHttpWatcher.init();
FlinkEnv flinkEnv = flinkEnvService.getById(application.getVersionId());
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 928f79fa5..eb9b8eb46 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
@@ -30,6 +30,7 @@ import
org.apache.streampark.console.core.service.CommonService;
import org.apache.streampark.console.core.service.FlinkSqlService;
import org.apache.streampark.console.core.service.VariableService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -125,7 +126,7 @@ public class VariableServiceImpl extends
ServiceImpl<VariableMapper, Variable>
ApiAlertException.throwIfFalse(
findVariable.getVariableCode().equals(variable.getVariableCode()),
"Sorry, the variable code cannot be updated.");
- this.baseMapper.updateById(variable);
+ updateById(variable);
// endregion
// set Application's field release to NEED_RESTART
@@ -260,4 +261,17 @@ public class VariableServiceImpl extends
ServiceImpl<VariableMapper, Variable>
public boolean existsByTeamId(Long teamId) {
return this.baseMapper.existsByTeamId(teamId);
}
+
+ @Override
+ public boolean updateById(Variable entity) {
+ Variable variable = this.baseMapper.selectById(entity.getId());
+ if (variable == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, variable, Variable::getId,
Variable::getCreateTime);
+ variable.setCreatorId(entity.getCreatorId());
+ variable.setTeamId(entity.getTeamId());
+ variable.setDesensitization(entity.getDesensitization());
+ return super.updateById(variable);
+ }
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
index 66235eab6..3dd0bcfd4 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/YarnQueueServiceImpl.java
@@ -31,6 +31,7 @@ import
org.apache.streampark.console.core.mapper.YarnQueueMapper;
import org.apache.streampark.console.core.service.FlinkClusterService;
import org.apache.streampark.console.core.service.YarnQueueService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -157,6 +158,17 @@ public class YarnQueueServiceImpl extends
ServiceImpl<YarnQueueMapper, YarnQueue
updateById(queueFromDB);
}
+ @Override
+ public boolean updateById(YarnQueue entity) {
+ YarnQueue yarnQueue = baseMapper.selectById(entity.getId());
+ if (yarnQueue == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, yarnQueue, YarnQueue::getId,
YarnQueue::getCreateTime);
+ yarnQueue.setDescription(entity.getDescription());
+ return super.updateById(yarnQueue);
+ }
+
@Override
public void remove(YarnQueue yarnQueue) {
YarnQueue queueFromDB = getYarnQueueByIdWithPreconditions(yarnQueue);
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/utils/BeanUtil.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/utils/BeanUtil.java
new file mode 100644
index 000000000..23ba8fec0
--- /dev/null
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/utils/BeanUtil.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.streampark.console.core.utils;
+
+import cn.hutool.core.bean.copier.CopyOptions;
+import cn.hutool.core.lang.func.Func1;
+
+/** Util class for bean */
+public class BeanUtil {
+
+ /**
+ * bean copy ignore null field
+ *
+ * @param source the source object for copy
+ * @param target the target object for copy
+ */
+ @SafeVarargs
+ public static <P, R> void copyIgnoreNull(
+ Object source, Object target, Func1<P, R>... ignoreProperties) {
+ cn.hutool.core.bean.BeanUtil.copyProperties(
+ source,
+ target,
+
CopyOptions.create().ignoreNullValue().setIgnoreProperties(ignoreProperties));
+ }
+}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/AccessTokenServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/AccessTokenServiceImpl.java
index 3b982281e..d7846d35c 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/AccessTokenServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/AccessTokenServiceImpl.java
@@ -23,6 +23,7 @@ import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.base.domain.RestResponse;
import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
import org.apache.streampark.console.base.util.WebUtils;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.system.authentication.JWTToken;
import org.apache.streampark.console.system.authentication.JWTUtil;
import org.apache.streampark.console.system.entity.AccessToken;
@@ -116,14 +117,22 @@ public class AccessTokenServiceImpl extends
ServiceImpl<AccessTokenMapper, Acces
? AccessToken.STATUS_DISABLE
: AccessToken.STATUS_ENABLE;
- AccessToken updateObj = new AccessToken();
- updateObj.setStatus(status);
- updateObj.setId(tokenId);
- return RestResponse.success(this.updateById(updateObj));
+ tokenInfo.setStatus(status);
+ return RestResponse.success(this.updateById(tokenInfo));
}
@Override
public AccessToken getByUserId(Long userId) {
return baseMapper.selectByUserId(userId);
}
+
+ @Override
+ public boolean updateById(AccessToken entity) {
+ AccessToken accessToken = baseMapper.selectById(entity.getId());
+ if (accessToken == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, accessToken, AccessToken::getId,
AccessToken::getCreateTime);
+ return super.updateById(accessToken);
+ }
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
index a03c74e61..d1830cd4e 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
@@ -21,6 +21,7 @@ import org.apache.streampark.common.util.AssertUtils;
import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.base.exception.ApiAlertException;
import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.system.entity.Member;
import org.apache.streampark.console.system.entity.Team;
import org.apache.streampark.console.system.entity.User;
@@ -161,4 +162,14 @@ public class MemberServiceImpl extends
ServiceImpl<MemberMapper, Member> impleme
oldMember.setRoleId(member.getRoleId());
updateById(oldMember);
}
+
+ @Override
+ public boolean updateById(Member entity) {
+ Member member = baseMapper.selectById(entity.getId());
+ if (member == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, member, Member::getId,
Member::getCreateTime);
+ return super.updateById(member);
+ }
}
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
index ed272fbc3..ae6e808e9 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/RoleServiceImpl.java
@@ -21,6 +21,7 @@ import org.apache.streampark.console.base.domain.Constant;
import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.base.exception.ApiAlertException;
import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.system.entity.Role;
import org.apache.streampark.console.system.entity.RoleMenu;
import org.apache.streampark.console.system.mapper.RoleMapper;
@@ -102,7 +103,7 @@ public class RoleServiceImpl extends
ServiceImpl<RoleMapper, Role> implements Ro
@Override
public void updateRole(Role role) {
role.setModifyTime(new Date());
- baseMapper.updateById(role);
+ updateById(role);
LambdaQueryWrapper<RoleMenu> queryWrapper =
new LambdaQueryWrapper<RoleMenu>().eq(RoleMenu::getRoleId,
role.getRoleId());
roleMenuMapper.delete(queryWrapper);
@@ -126,4 +127,14 @@ public class RoleServiceImpl extends
ServiceImpl<RoleMapper, Role> implements Ro
this.roleMenuMapper.insert(rm);
});
}
+
+ @Override
+ public boolean updateById(Role entity) {
+ Role role = baseMapper.selectById(entity.getRoleId());
+ if (role == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, role, Role::getRoleId,
Role::getCreateTime);
+ return super.updateById(role);
+ }
}
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 fea8bb8af..5cc27fb83 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
@@ -25,6 +25,7 @@ import
org.apache.streampark.console.core.service.CommonService;
import org.apache.streampark.console.core.service.ProjectService;
import org.apache.streampark.console.core.service.VariableService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.system.entity.Team;
import org.apache.streampark.console.system.entity.User;
import org.apache.streampark.console.system.mapper.TeamMapper;
@@ -134,6 +135,16 @@ public class TeamServiceImpl extends
ServiceImpl<TeamMapper, Team> implements Te
updateById(oldTeam);
}
+ @Override
+ public boolean updateById(Team entity) {
+ Team team = baseMapper.selectById(entity.getId());
+ if (team == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, team, Team::getId, Team::getCreateTime);
+ return super.updateById(team);
+ }
+
@Override
public List<Team> listByUserId(Long userId) {
User user =
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
index 8ce251619..c63b109eb 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
@@ -31,6 +31,7 @@ import org.apache.streampark.console.core.enums.LoginTypeEnum;
import org.apache.streampark.console.core.service.ResourceService;
import
org.apache.streampark.console.core.service.application.ApplicationInfoService;
import
org.apache.streampark.console.core.service.application.ApplicationManageService;
+import org.apache.streampark.console.core.utils.BeanUtil;
import org.apache.streampark.console.system.authentication.JWTToken;
import org.apache.streampark.console.system.authentication.JWTUtil;
import org.apache.streampark.console.system.entity.Team;
@@ -136,6 +137,16 @@ public class UserServiceImpl extends
ServiceImpl<UserMapper, User> implements Us
return RestResponse.success();
}
+ @Override
+ public boolean updateById(User entity) {
+ User user = getById(entity.getUserId());
+ if (user == null) {
+ return false;
+ }
+ BeanUtil.copyIgnoreNull(entity, user, User::getUserId,
User::getCreateTime);
+ return super.updateById(user);
+ }
+
private boolean needTransferResource(User existsUser, User user) {
if (User.STATUS_LOCK.equals(existsUser.getStatus())
|| User.STATUS_VALID.equals(user.getStatus())) {
@@ -162,7 +173,7 @@ public class UserServiceImpl extends
ServiceImpl<UserMapper, User> implements Us
String password = ShaHashUtils.encrypt(salt, userParam.getPassword());
user.setSalt(salt);
user.setPassword(password);
- this.baseMapper.updateById(user);
+ updateById(user);
}
@Override
@@ -199,7 +210,7 @@ public class UserServiceImpl extends
ServiceImpl<UserMapper, User> implements Us
User user = getById(userId);
AssertUtils.notNull(user);
user.setLastTeamId(teamId);
- this.baseMapper.updateById(user);
+ updateById(user);
}
@Override
@@ -229,7 +240,7 @@ public class UserServiceImpl extends
ServiceImpl<UserMapper, User> implements Us
if (teams.size() == 1) {
Team team = teams.get(0);
user.setLastTeamId(team.getId());
- this.baseMapper.updateById(user);
+ updateById(user);
}
}
}
diff --git
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SavePointServiceTest.java
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SavePointServiceTest.java
index e2851c419..ec6abbff0 100644
---
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SavePointServiceTest.java
+++
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/SavePointServiceTest.java
@@ -90,7 +90,7 @@ class SavePointServiceTest extends SpringUnitTestBase {
SavePointServiceImpl savePointServiceImpl = (SavePointServiceImpl)
savePointService;
Application app = new Application();
Long appId = 1L;
- Long appCfgId = 1L;
+ Long appConfigId = 1L;
app.setId(appId);
// Test for non-(StreamPark job Or FlinkSQL job)
@@ -109,12 +109,13 @@ class SavePointServiceTest extends SpringUnitTestBase {
// Test for (StreamPark job Or FlinkSQL job) with application config just
disabled checkpoint.
ApplicationConfig appCfg = new ApplicationConfig();
- appCfg.setId(appCfgId);
+ appCfg.setId(appConfigId);
appCfg.setAppId(appId);
appCfg.setContent("state.savepoints.dir=hdfs:///test");
appCfg.setFormat(ConfigFileTypeEnum.PROPERTIES.getValue());
configService.save(appCfg);
assertThat(savePointServiceImpl.getSavepointFromConfig(app)).isNull();
+ appCfg = configService.getById(appConfigId);
// Test for (StreamPark job or FlinkSQL job) with application config and
enabled checkpoint and
// configured value.