diff --git a/Dockerfile b/Dockerfile
index 9f63349c86..70dec5f209 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,6 +8,10 @@ RUN mkdir -p /opt/dataease/data/feature/full
ADD mapFiles/* /opt/dataease/data/feature/full/
+RUN mkdir -p /opt/dataease/drivers
+
+ADD drivers/* /opt/dataease/drivers/
+
ADD backend/target/backend-$IMAGE_TAG.jar /opt/apps
ENV JAVA_APP_JAR=/opt/apps/backend-$IMAGE_TAG.jar
diff --git a/backend/pom.xml b/backend/pom.xml
index 56c47df966..8316c908e9 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -5,11 +5,12 @@
dataease-server
io.dataease
- 1.3.0
+ 1.4.0
4.0.0
backend
+
UTF-8
@@ -200,7 +201,7 @@
io.dataease
dataease-plugin-interface
- 1.3
+ 1.4
cn.hutool
@@ -229,29 +230,19 @@
8.3.0.7-683
- c3p0
- c3p0
- 0.9.1.2
-
-
- com.oracle.database.jdbc
- ojdbc8
- 12.2.0.1
-
-
- ru.yandex.clickhouse
- clickhouse-jdbc
- 0.3.1
-
-
- com.microsoft.sqlserver
- mssql-jdbc
- 7.4.1.jre8
-
-
- org.postgresql
- postgresql
- 42.2.14
+ com.alibaba
+ druid
+ 1.2.8
+
+
+ com.alibaba
+ jconsole
+
+
+ com.alibaba
+ tools
+
+
@@ -267,14 +258,34 @@
src/main/resources
-
+
+ true
+
+ static/**/*.woff
+ static/**/*.woff2
+ static/**/*.ttf
+
+
+
+
+ src/main/resources
false
+
+ static/**/*.woff
+ static/**/*.woff2
+ static/**/*.ttf
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.1.0
+
org.springframework.boot
spring-boot-maven-plugin
@@ -370,6 +381,7 @@
maven-antrun-plugin
+
main-class-placement
generate-resources
diff --git a/backend/src/main/java/io/dataease/auth/api/AuthApi.java b/backend/src/main/java/io/dataease/auth/api/AuthApi.java
index f5e72afbb0..2af165a370 100644
--- a/backend/src/main/java/io/dataease/auth/api/AuthApi.java
+++ b/backend/src/main/java/io/dataease/auth/api/AuthApi.java
@@ -5,6 +5,9 @@ import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.auth.api.dto.LoginDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import springfox.documentation.annotations.ApiIgnore;
+
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -49,4 +52,12 @@ public interface AuthApi {
@PostMapping("/isOpenOidc")
boolean isOpenOidc();
+ @ApiIgnore
+ @PostMapping("/isPluginLoaded")
+ boolean isPluginLoaded();
+
+ @ApiIgnore
+ @GetMapping("/getPublicKey")
+ String getPublicKey();
+
}
diff --git a/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java b/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
index 62af1ce003..20bae525ef 100644
--- a/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
+++ b/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
@@ -19,6 +19,6 @@ public class LoginDto implements Serializable {
* 1:ldap登录
* 2:单点登录
*/
- @ApiModelProperty(value = "登录方式", required = true, allowableValues = "0, 1, 2")
+ @ApiModelProperty(value = "登录方式{0:普通登录, 1:ldap登录}", required = true, allowableValues = "0, 1")
private int loginType;
}
diff --git a/backend/src/main/java/io/dataease/auth/config/F2CRealm.java b/backend/src/main/java/io/dataease/auth/config/F2CRealm.java
index c7a46650b6..ca9dd2f013 100644
--- a/backend/src/main/java/io/dataease/auth/config/F2CRealm.java
+++ b/backend/src/main/java/io/dataease/auth/config/F2CRealm.java
@@ -57,6 +57,9 @@ public class F2CRealm extends AuthorizingRealm {
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken auth) throws AuthenticationException {
if (auth instanceof ASKToken) {
+ if (!authUserService.pluginLoaded()) {
+ throw new AuthenticationException("license error");
+ }
Object accessKey = auth.getPrincipal();
Object signature = auth.getCredentials();
@@ -73,7 +76,7 @@ public class F2CRealm extends AuthorizingRealm {
CacheUtils.get("lic_info", "lic");
}catch (Exception e) {
LogUtil.error(e);
- throw new AuthenticationException("lic error");
+ throw new AuthenticationException("license error");
}
TokenInfo tokenInfo = null;
diff --git a/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java b/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java
index 94a43bce52..c94900c4fc 100644
--- a/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java
+++ b/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java
@@ -39,7 +39,8 @@ public class F2CLinkFilter extends AnonymousFilter {
panelLink.setPwd("dataease");
pwd = panelLink.getPwd();
}else {
- pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, panelLink.getPwd());
+ /* pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, panelLink.getPwd()); */
+ pwd = panelLink.getPwd();
}
return JWTUtils.verifyLink(link_token, id, pwd);
}catch (Exception e) {
diff --git a/backend/src/main/java/io/dataease/auth/server/AuthServer.java b/backend/src/main/java/io/dataease/auth/server/AuthServer.java
index 96979bfda7..219a9c5a47 100644
--- a/backend/src/main/java/io/dataease/auth/server/AuthServer.java
+++ b/backend/src/main/java/io/dataease/auth/server/AuthServer.java
@@ -10,10 +10,7 @@ import io.dataease.auth.entity.TokenInfo;
import io.dataease.auth.service.AuthUserService;
import io.dataease.auth.util.JWTUtils;
import io.dataease.auth.util.RsaUtil;
-import io.dataease.commons.utils.BeanUtils;
-import io.dataease.commons.utils.CodingUtil;
-import io.dataease.commons.utils.LogUtil;
-import io.dataease.commons.utils.ServletUtils;
+import io.dataease.commons.utils.*;
import io.dataease.controller.sys.request.LdapAddRequest;
import io.dataease.exception.DataEaseException;
import io.dataease.i18n.Translator;
@@ -55,10 +52,9 @@ public class AuthServer implements AuthApi {
@Override
public Object login(@RequestBody LoginDto loginDto) throws Exception {
- String username = loginDto.getUsername();
- String password = loginDto.getPassword();
+ String username = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, loginDto.getUsername());;
+ String pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, loginDto.getPassword());
- String pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, password);
// 增加ldap登录方式
Integer loginType = loginDto.getLoginType();
boolean isSupportLdap = authUserService.supportLdap();
@@ -77,11 +73,11 @@ public class AuthServer implements AuthApi {
ldapAddRequest.setEnabled(1L);
// ldapAddRequest.setDeptId(1L);
ldapAddRequest.setRoleIds(new ArrayList(){{add(2L);}});
- sysUserService.validateExistUser(ldapUserEntity.getUserName(), ldapUserEntity.getEmail());
+ sysUserService.validateExistUser(ldapUserEntity.getUsername(), ldapUserEntity.getNickname(), ldapUserEntity.getEmail());
sysUserService.saveLdapUsers(ldapAddRequest);
}
- username = validateResult.getData().getUserName();
+ username = validateResult.getData().getUsername();
}
// 增加ldap登录方式
@@ -184,6 +180,18 @@ public class AuthServer implements AuthApi {
return authUserService.supportOidc();
}
+ @Override
+ public boolean isPluginLoaded() {
+ Boolean licValid = PluginUtils.licValid();
+ if(!licValid) return false;
+ return authUserService.pluginLoaded();
+ }
+
+
+ @Override
+ public String getPublicKey() {
+ return RsaProperties.publicKey;
+ }
/*@Override
diff --git a/backend/src/main/java/io/dataease/auth/service/AuthUserService.java b/backend/src/main/java/io/dataease/auth/service/AuthUserService.java
index a01fe2a3cc..13eee76696 100644
--- a/backend/src/main/java/io/dataease/auth/service/AuthUserService.java
+++ b/backend/src/main/java/io/dataease/auth/service/AuthUserService.java
@@ -29,6 +29,8 @@ public interface AuthUserService {
Boolean supportOidc();
+ Boolean pluginLoaded();
+
}
diff --git a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java
index ebd6febcec..9c65616c9a 100644
--- a/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java
+++ b/backend/src/main/java/io/dataease/auth/service/impl/AuthUserServiceImpl.java
@@ -8,6 +8,7 @@ import io.dataease.base.mapper.ext.AuthMapper;
import io.dataease.auth.service.AuthUserService;
import io.dataease.commons.constants.AuthConstants;
import io.dataease.commons.utils.LogUtil;
+import io.dataease.plugins.common.service.PluginCommonService;
import io.dataease.plugins.config.SpringContextUtil;
import io.dataease.plugins.xpack.ldap.service.LdapXpackService;
import io.dataease.plugins.xpack.oidc.service.OidcXpackService;
@@ -137,5 +138,16 @@ public class AuthUserServiceImpl implements AuthUserService {
return oidcXpackService.isSuuportOIDC();
}
+ @Override
+ public Boolean pluginLoaded() {
+ Map beansOfType = SpringContextUtil.getApplicationContext().getBeansOfType((PluginCommonService.class));
+ if(beansOfType.keySet().size() == 0) return false;
+ PluginCommonService pluginCommonService = SpringContextUtil.getBean(PluginCommonService.class);
+ if(ObjectUtils.isEmpty(pluginCommonService)) return false;
+ return pluginCommonService.isPluginLoaded();
+ }
+
+
+
}
diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java
index aecb307469..3546c799b5 100644
--- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java
+++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java
@@ -41,12 +41,21 @@ public class ShiroServiceImpl implements ShiroService {
filterChainDefinitionMap.put("/link/**", ANON);
filterChainDefinitionMap.put("/index.html", ANON);
filterChainDefinitionMap.put("/link.html", ANON);
+ filterChainDefinitionMap.put("/xggznb/**", ANON);
+
+
+ //获取主题信息
+ filterChainDefinitionMap.put("/plugin/theme/themes", ANON);
+ filterChainDefinitionMap.put("/plugin/theme/items/**", ANON);
//验证链接
filterChainDefinitionMap.put("/api/link/validate**", ANON);
filterChainDefinitionMap.put("/api/map/areaEntitys/**", ANON);
+ filterChainDefinitionMap.put("/dataset/field/fieldValues/**", ANON);
+ filterChainDefinitionMap.put("/linkJump/queryPanelJumpInfo/**", ANON);
+
//未读消息数量
- filterChainDefinitionMap.put("/api/sys_msg/unReadCount", ANON);
+ // filterChainDefinitionMap.put("/api/sys_msg/unReadCount/**", ANON);
filterChainDefinitionMap.put("/**/*.json", ANON);
filterChainDefinitionMap.put("/system/ui/**", ANON);
@@ -56,10 +65,12 @@ public class ShiroServiceImpl implements ShiroService {
// filterChainDefinitionMap.put("/axios.map", ANON);
filterChainDefinitionMap.put("/api/auth/login", ANON);
- // filterChainDefinitionMap.put("/api/auth/logout", ANON);
+ filterChainDefinitionMap.put("/api/auth/isPluginLoaded", ANON);
+ filterChainDefinitionMap.put("/system/requestTimeOut", ANON);
filterChainDefinitionMap.put("/api/auth/validateName", ANON);
filterChainDefinitionMap.put("/api/auth/isOpenLdap", ANON);
filterChainDefinitionMap.put("/api/auth/isOpenOidc", ANON);
+ filterChainDefinitionMap.put("/api/auth/getPublicKey", ANON);
filterChainDefinitionMap.put("/api/pluginCommon/component/*", ANON);
filterChainDefinitionMap.put("/plugin/oidc/authInfo", ANON);
filterChainDefinitionMap.put("/sso/callBack*", ANON);
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartView.java b/backend/src/main/java/io/dataease/base/domain/ChartView.java
index ed807bd4fd..69777d3f87 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartView.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartView.java
@@ -17,6 +17,12 @@ public class ChartView implements Serializable {
private String tableId;
@ApiModelProperty("图表类型")
private String type;
+ @ApiModelProperty("chart渲染方式")
+ private String render;
+ @ApiModelProperty("展示结果")
+ private Integer resultCount;
+ @ApiModelProperty("展示模式")
+ private String resultMode;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("创建人")
diff --git a/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java b/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
index 7aaf8d21e5..9def62d21e 100644
--- a/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
+++ b/backend/src/main/java/io/dataease/base/domain/ChartViewExample.java
@@ -454,6 +454,206 @@ public class ChartViewExample {
return (Criteria) this;
}
+ public Criteria andRenderIsNull() {
+ addCriterion("render is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderIsNotNull() {
+ addCriterion("render is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderEqualTo(String value) {
+ addCriterion("render =", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderNotEqualTo(String value) {
+ addCriterion("render <>", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderGreaterThan(String value) {
+ addCriterion("render >", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderGreaterThanOrEqualTo(String value) {
+ addCriterion("render >=", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderLessThan(String value) {
+ addCriterion("render <", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderLessThanOrEqualTo(String value) {
+ addCriterion("render <=", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderLike(String value) {
+ addCriterion("render like", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderNotLike(String value) {
+ addCriterion("render not like", value, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderIn(List values) {
+ addCriterion("render in", values, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderNotIn(List values) {
+ addCriterion("render not in", values, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderBetween(String value1, String value2) {
+ addCriterion("render between", value1, value2, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andRenderNotBetween(String value1, String value2) {
+ addCriterion("render not between", value1, value2, "render");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountIsNull() {
+ addCriterion("result_count is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountIsNotNull() {
+ addCriterion("result_count is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountEqualTo(Integer value) {
+ addCriterion("result_count =", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountNotEqualTo(Integer value) {
+ addCriterion("result_count <>", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountGreaterThan(Integer value) {
+ addCriterion("result_count >", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountGreaterThanOrEqualTo(Integer value) {
+ addCriterion("result_count >=", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountLessThan(Integer value) {
+ addCriterion("result_count <", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountLessThanOrEqualTo(Integer value) {
+ addCriterion("result_count <=", value, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountIn(List values) {
+ addCriterion("result_count in", values, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountNotIn(List values) {
+ addCriterion("result_count not in", values, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountBetween(Integer value1, Integer value2) {
+ addCriterion("result_count between", value1, value2, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultCountNotBetween(Integer value1, Integer value2) {
+ addCriterion("result_count not between", value1, value2, "resultCount");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeIsNull() {
+ addCriterion("result_mode is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeIsNotNull() {
+ addCriterion("result_mode is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeEqualTo(String value) {
+ addCriterion("result_mode =", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeNotEqualTo(String value) {
+ addCriterion("result_mode <>", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeGreaterThan(String value) {
+ addCriterion("result_mode >", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeGreaterThanOrEqualTo(String value) {
+ addCriterion("result_mode >=", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeLessThan(String value) {
+ addCriterion("result_mode <", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeLessThanOrEqualTo(String value) {
+ addCriterion("result_mode <=", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeLike(String value) {
+ addCriterion("result_mode like", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeNotLike(String value) {
+ addCriterion("result_mode not like", value, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeIn(List values) {
+ addCriterion("result_mode in", values, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeNotIn(List values) {
+ addCriterion("result_mode not in", values, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeBetween(String value1, String value2) {
+ addCriterion("result_mode between", value1, value2, "resultMode");
+ return (Criteria) this;
+ }
+
+ public Criteria andResultModeNotBetween(String value1, String value2) {
+ addCriterion("result_mode not between", value1, value2, "resultMode");
+ return (Criteria) this;
+ }
+
public Criteria andTitleIsNull() {
addCriterion("title is null");
return (Criteria) this;
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLink.java b/backend/src/main/java/io/dataease/base/domain/PanelLink.java
index efe0e389fb..966a8c59c3 100644
--- a/backend/src/main/java/io/dataease/base/domain/PanelLink.java
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLink.java
@@ -13,5 +13,7 @@ public class PanelLink implements Serializable {
private String pwd;
+ private Long overTime;
+
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkExample.java
index 0dccb6d0b7..99e7fb3f91 100644
--- a/backend/src/main/java/io/dataease/base/domain/PanelLinkExample.java
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkExample.java
@@ -363,6 +363,66 @@ public class PanelLinkExample {
addCriterion("pwd not between", value1, value2, "pwd");
return (Criteria) this;
}
+
+ public Criteria andOverTimeIsNull() {
+ addCriterion("over_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeIsNotNull() {
+ addCriterion("over_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeEqualTo(Long value) {
+ addCriterion("over_time =", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeNotEqualTo(Long value) {
+ addCriterion("over_time <>", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeGreaterThan(Long value) {
+ addCriterion("over_time >", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeGreaterThanOrEqualTo(Long value) {
+ addCriterion("over_time >=", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeLessThan(Long value) {
+ addCriterion("over_time <", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeLessThanOrEqualTo(Long value) {
+ addCriterion("over_time <=", value, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeIn(List values) {
+ addCriterion("over_time in", values, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeNotIn(List values) {
+ addCriterion("over_time not in", values, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeBetween(Long value1, Long value2) {
+ addCriterion("over_time between", value1, value2, "overTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andOverTimeNotBetween(Long value1, Long value2) {
+ addCriterion("over_time not between", value1, value2, "overTime");
+ return (Criteria) this;
+ }
}
public static class Criteria extends GeneratedCriteria {
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java
new file mode 100644
index 0000000000..3f4f5d1a81
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJump.java
@@ -0,0 +1,19 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+public class PanelLinkJump implements Serializable {
+ private String id;
+
+ private String sourcePanelId;
+
+ private String sourceViewId;
+
+ private String linkJumpInfo;
+
+ private Boolean checked;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java
new file mode 100644
index 0000000000..5997faedfd
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpExample.java
@@ -0,0 +1,540 @@
+package io.dataease.base.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PanelLinkJumpExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public PanelLinkJumpExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(String value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(String value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(String value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(String value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(String value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(String value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLike(String value) {
+ addCriterion("id like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotLike(String value) {
+ addCriterion("id not like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(String value1, String value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(String value1, String value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdIsNull() {
+ addCriterion("source_panel_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdIsNotNull() {
+ addCriterion("source_panel_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdEqualTo(String value) {
+ addCriterion("source_panel_id =", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdNotEqualTo(String value) {
+ addCriterion("source_panel_id <>", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdGreaterThan(String value) {
+ addCriterion("source_panel_id >", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdGreaterThanOrEqualTo(String value) {
+ addCriterion("source_panel_id >=", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdLessThan(String value) {
+ addCriterion("source_panel_id <", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdLessThanOrEqualTo(String value) {
+ addCriterion("source_panel_id <=", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdLike(String value) {
+ addCriterion("source_panel_id like", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdNotLike(String value) {
+ addCriterion("source_panel_id not like", value, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdIn(List values) {
+ addCriterion("source_panel_id in", values, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdNotIn(List values) {
+ addCriterion("source_panel_id not in", values, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdBetween(String value1, String value2) {
+ addCriterion("source_panel_id between", value1, value2, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourcePanelIdNotBetween(String value1, String value2) {
+ addCriterion("source_panel_id not between", value1, value2, "sourcePanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdIsNull() {
+ addCriterion("source_view_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdIsNotNull() {
+ addCriterion("source_view_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdEqualTo(String value) {
+ addCriterion("source_view_id =", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdNotEqualTo(String value) {
+ addCriterion("source_view_id <>", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdGreaterThan(String value) {
+ addCriterion("source_view_id >", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdGreaterThanOrEqualTo(String value) {
+ addCriterion("source_view_id >=", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdLessThan(String value) {
+ addCriterion("source_view_id <", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdLessThanOrEqualTo(String value) {
+ addCriterion("source_view_id <=", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdLike(String value) {
+ addCriterion("source_view_id like", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdNotLike(String value) {
+ addCriterion("source_view_id not like", value, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdIn(List values) {
+ addCriterion("source_view_id in", values, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdNotIn(List values) {
+ addCriterion("source_view_id not in", values, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdBetween(String value1, String value2) {
+ addCriterion("source_view_id between", value1, value2, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceViewIdNotBetween(String value1, String value2) {
+ addCriterion("source_view_id not between", value1, value2, "sourceViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIsNull() {
+ addCriterion("link_jump_info is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIsNotNull() {
+ addCriterion("link_jump_info is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoEqualTo(String value) {
+ addCriterion("link_jump_info =", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoNotEqualTo(String value) {
+ addCriterion("link_jump_info <>", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoGreaterThan(String value) {
+ addCriterion("link_jump_info >", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoGreaterThanOrEqualTo(String value) {
+ addCriterion("link_jump_info >=", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoLessThan(String value) {
+ addCriterion("link_jump_info <", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoLessThanOrEqualTo(String value) {
+ addCriterion("link_jump_info <=", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoLike(String value) {
+ addCriterion("link_jump_info like", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoNotLike(String value) {
+ addCriterion("link_jump_info not like", value, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIn(List values) {
+ addCriterion("link_jump_info in", values, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoNotIn(List values) {
+ addCriterion("link_jump_info not in", values, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoBetween(String value1, String value2) {
+ addCriterion("link_jump_info between", value1, value2, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoNotBetween(String value1, String value2) {
+ addCriterion("link_jump_info not between", value1, value2, "linkJumpInfo");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIsNull() {
+ addCriterion("`checked` is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIsNotNull() {
+ addCriterion("`checked` is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedEqualTo(Boolean value) {
+ addCriterion("`checked` =", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotEqualTo(Boolean value) {
+ addCriterion("`checked` <>", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedGreaterThan(Boolean value) {
+ addCriterion("`checked` >", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedGreaterThanOrEqualTo(Boolean value) {
+ addCriterion("`checked` >=", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedLessThan(Boolean value) {
+ addCriterion("`checked` <", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedLessThanOrEqualTo(Boolean value) {
+ addCriterion("`checked` <=", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIn(List values) {
+ addCriterion("`checked` in", values, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotIn(List values) {
+ addCriterion("`checked` not in", values, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedBetween(Boolean value1, Boolean value2) {
+ addCriterion("`checked` between", value1, value2, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotBetween(Boolean value1, Boolean value2) {
+ addCriterion("`checked` not between", value1, value2, "checked");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java
new file mode 100644
index 0000000000..1db904bf41
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfo.java
@@ -0,0 +1,25 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+public class PanelLinkJumpInfo implements Serializable {
+ private String id;
+
+ private String linkJumpId;
+
+ private String linkType;
+
+ private String jumpType;
+
+ private String targetPanelId;
+
+ private String sourceFieldId;
+
+ private String content;
+
+ private Boolean checked;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java
new file mode 100644
index 0000000000..3687170a43
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpInfoExample.java
@@ -0,0 +1,750 @@
+package io.dataease.base.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PanelLinkJumpInfoExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public PanelLinkJumpInfoExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(String value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(String value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(String value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(String value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(String value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(String value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLike(String value) {
+ addCriterion("id like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotLike(String value) {
+ addCriterion("id not like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(String value1, String value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(String value1, String value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdIsNull() {
+ addCriterion("link_jump_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdIsNotNull() {
+ addCriterion("link_jump_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdEqualTo(String value) {
+ addCriterion("link_jump_id =", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdNotEqualTo(String value) {
+ addCriterion("link_jump_id <>", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdGreaterThan(String value) {
+ addCriterion("link_jump_id >", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdGreaterThanOrEqualTo(String value) {
+ addCriterion("link_jump_id >=", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdLessThan(String value) {
+ addCriterion("link_jump_id <", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdLessThanOrEqualTo(String value) {
+ addCriterion("link_jump_id <=", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdLike(String value) {
+ addCriterion("link_jump_id like", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdNotLike(String value) {
+ addCriterion("link_jump_id not like", value, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdIn(List values) {
+ addCriterion("link_jump_id in", values, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdNotIn(List values) {
+ addCriterion("link_jump_id not in", values, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdBetween(String value1, String value2) {
+ addCriterion("link_jump_id between", value1, value2, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpIdNotBetween(String value1, String value2) {
+ addCriterion("link_jump_id not between", value1, value2, "linkJumpId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeIsNull() {
+ addCriterion("link_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeIsNotNull() {
+ addCriterion("link_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeEqualTo(String value) {
+ addCriterion("link_type =", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeNotEqualTo(String value) {
+ addCriterion("link_type <>", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeGreaterThan(String value) {
+ addCriterion("link_type >", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("link_type >=", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeLessThan(String value) {
+ addCriterion("link_type <", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeLessThanOrEqualTo(String value) {
+ addCriterion("link_type <=", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeLike(String value) {
+ addCriterion("link_type like", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeNotLike(String value) {
+ addCriterion("link_type not like", value, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeIn(List values) {
+ addCriterion("link_type in", values, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeNotIn(List values) {
+ addCriterion("link_type not in", values, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeBetween(String value1, String value2) {
+ addCriterion("link_type between", value1, value2, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkTypeNotBetween(String value1, String value2) {
+ addCriterion("link_type not between", value1, value2, "linkType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeIsNull() {
+ addCriterion("jump_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeIsNotNull() {
+ addCriterion("jump_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeEqualTo(String value) {
+ addCriterion("jump_type =", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeNotEqualTo(String value) {
+ addCriterion("jump_type <>", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeGreaterThan(String value) {
+ addCriterion("jump_type >", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("jump_type >=", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeLessThan(String value) {
+ addCriterion("jump_type <", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeLessThanOrEqualTo(String value) {
+ addCriterion("jump_type <=", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeLike(String value) {
+ addCriterion("jump_type like", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeNotLike(String value) {
+ addCriterion("jump_type not like", value, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeIn(List values) {
+ addCriterion("jump_type in", values, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeNotIn(List values) {
+ addCriterion("jump_type not in", values, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeBetween(String value1, String value2) {
+ addCriterion("jump_type between", value1, value2, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andJumpTypeNotBetween(String value1, String value2) {
+ addCriterion("jump_type not between", value1, value2, "jumpType");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdIsNull() {
+ addCriterion("target_panel_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdIsNotNull() {
+ addCriterion("target_panel_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdEqualTo(String value) {
+ addCriterion("target_panel_id =", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdNotEqualTo(String value) {
+ addCriterion("target_panel_id <>", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdGreaterThan(String value) {
+ addCriterion("target_panel_id >", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdGreaterThanOrEqualTo(String value) {
+ addCriterion("target_panel_id >=", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdLessThan(String value) {
+ addCriterion("target_panel_id <", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdLessThanOrEqualTo(String value) {
+ addCriterion("target_panel_id <=", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdLike(String value) {
+ addCriterion("target_panel_id like", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdNotLike(String value) {
+ addCriterion("target_panel_id not like", value, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdIn(List values) {
+ addCriterion("target_panel_id in", values, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdNotIn(List values) {
+ addCriterion("target_panel_id not in", values, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdBetween(String value1, String value2) {
+ addCriterion("target_panel_id between", value1, value2, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetPanelIdNotBetween(String value1, String value2) {
+ addCriterion("target_panel_id not between", value1, value2, "targetPanelId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdIsNull() {
+ addCriterion("source_field_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdIsNotNull() {
+ addCriterion("source_field_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdEqualTo(String value) {
+ addCriterion("source_field_id =", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdNotEqualTo(String value) {
+ addCriterion("source_field_id <>", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdGreaterThan(String value) {
+ addCriterion("source_field_id >", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdGreaterThanOrEqualTo(String value) {
+ addCriterion("source_field_id >=", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdLessThan(String value) {
+ addCriterion("source_field_id <", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdLessThanOrEqualTo(String value) {
+ addCriterion("source_field_id <=", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdLike(String value) {
+ addCriterion("source_field_id like", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdNotLike(String value) {
+ addCriterion("source_field_id not like", value, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdIn(List values) {
+ addCriterion("source_field_id in", values, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdNotIn(List values) {
+ addCriterion("source_field_id not in", values, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdBetween(String value1, String value2) {
+ addCriterion("source_field_id between", value1, value2, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andSourceFieldIdNotBetween(String value1, String value2) {
+ addCriterion("source_field_id not between", value1, value2, "sourceFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentIsNull() {
+ addCriterion("content is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentIsNotNull() {
+ addCriterion("content is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentEqualTo(String value) {
+ addCriterion("content =", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentNotEqualTo(String value) {
+ addCriterion("content <>", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentGreaterThan(String value) {
+ addCriterion("content >", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentGreaterThanOrEqualTo(String value) {
+ addCriterion("content >=", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentLessThan(String value) {
+ addCriterion("content <", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentLessThanOrEqualTo(String value) {
+ addCriterion("content <=", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentLike(String value) {
+ addCriterion("content like", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentNotLike(String value) {
+ addCriterion("content not like", value, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentIn(List values) {
+ addCriterion("content in", values, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentNotIn(List values) {
+ addCriterion("content not in", values, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentBetween(String value1, String value2) {
+ addCriterion("content between", value1, value2, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andContentNotBetween(String value1, String value2) {
+ addCriterion("content not between", value1, value2, "content");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIsNull() {
+ addCriterion("`checked` is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIsNotNull() {
+ addCriterion("`checked` is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedEqualTo(Boolean value) {
+ addCriterion("`checked` =", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotEqualTo(Boolean value) {
+ addCriterion("`checked` <>", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedGreaterThan(Boolean value) {
+ addCriterion("`checked` >", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedGreaterThanOrEqualTo(Boolean value) {
+ addCriterion("`checked` >=", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedLessThan(Boolean value) {
+ addCriterion("`checked` <", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedLessThanOrEqualTo(Boolean value) {
+ addCriterion("`checked` <=", value, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedIn(List values) {
+ addCriterion("`checked` in", values, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotIn(List values) {
+ addCriterion("`checked` not in", values, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedBetween(Boolean value1, Boolean value2) {
+ addCriterion("`checked` between", value1, value2, "checked");
+ return (Criteria) this;
+ }
+
+ public Criteria andCheckedNotBetween(Boolean value1, Boolean value2) {
+ addCriterion("`checked` not between", value1, value2, "checked");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java
new file mode 100644
index 0000000000..81c7a1cef3
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfo.java
@@ -0,0 +1,17 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+public class PanelLinkJumpTargetViewInfo implements Serializable {
+ private String targetId;
+
+ private String linkJumpInfoId;
+
+ private String targetViewId;
+
+ private String targetFieldId;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java
new file mode 100644
index 0000000000..7f0ea708d7
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkJumpTargetViewInfoExample.java
@@ -0,0 +1,480 @@
+package io.dataease.base.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PanelLinkJumpTargetViewInfoExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public PanelLinkJumpTargetViewInfoExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andTargetIdIsNull() {
+ addCriterion("target_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdIsNotNull() {
+ addCriterion("target_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdEqualTo(String value) {
+ addCriterion("target_id =", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdNotEqualTo(String value) {
+ addCriterion("target_id <>", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdGreaterThan(String value) {
+ addCriterion("target_id >", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdGreaterThanOrEqualTo(String value) {
+ addCriterion("target_id >=", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdLessThan(String value) {
+ addCriterion("target_id <", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdLessThanOrEqualTo(String value) {
+ addCriterion("target_id <=", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdLike(String value) {
+ addCriterion("target_id like", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdNotLike(String value) {
+ addCriterion("target_id not like", value, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdIn(List values) {
+ addCriterion("target_id in", values, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdNotIn(List values) {
+ addCriterion("target_id not in", values, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdBetween(String value1, String value2) {
+ addCriterion("target_id between", value1, value2, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetIdNotBetween(String value1, String value2) {
+ addCriterion("target_id not between", value1, value2, "targetId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdIsNull() {
+ addCriterion("link_jump_info_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdIsNotNull() {
+ addCriterion("link_jump_info_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdEqualTo(String value) {
+ addCriterion("link_jump_info_id =", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdNotEqualTo(String value) {
+ addCriterion("link_jump_info_id <>", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdGreaterThan(String value) {
+ addCriterion("link_jump_info_id >", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdGreaterThanOrEqualTo(String value) {
+ addCriterion("link_jump_info_id >=", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdLessThan(String value) {
+ addCriterion("link_jump_info_id <", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdLessThanOrEqualTo(String value) {
+ addCriterion("link_jump_info_id <=", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdLike(String value) {
+ addCriterion("link_jump_info_id like", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdNotLike(String value) {
+ addCriterion("link_jump_info_id not like", value, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdIn(List values) {
+ addCriterion("link_jump_info_id in", values, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdNotIn(List values) {
+ addCriterion("link_jump_info_id not in", values, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdBetween(String value1, String value2) {
+ addCriterion("link_jump_info_id between", value1, value2, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andLinkJumpInfoIdNotBetween(String value1, String value2) {
+ addCriterion("link_jump_info_id not between", value1, value2, "linkJumpInfoId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdIsNull() {
+ addCriterion("target_view_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdIsNotNull() {
+ addCriterion("target_view_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdEqualTo(String value) {
+ addCriterion("target_view_id =", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdNotEqualTo(String value) {
+ addCriterion("target_view_id <>", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdGreaterThan(String value) {
+ addCriterion("target_view_id >", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdGreaterThanOrEqualTo(String value) {
+ addCriterion("target_view_id >=", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdLessThan(String value) {
+ addCriterion("target_view_id <", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdLessThanOrEqualTo(String value) {
+ addCriterion("target_view_id <=", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdLike(String value) {
+ addCriterion("target_view_id like", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdNotLike(String value) {
+ addCriterion("target_view_id not like", value, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdIn(List values) {
+ addCriterion("target_view_id in", values, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdNotIn(List values) {
+ addCriterion("target_view_id not in", values, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdBetween(String value1, String value2) {
+ addCriterion("target_view_id between", value1, value2, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetViewIdNotBetween(String value1, String value2) {
+ addCriterion("target_view_id not between", value1, value2, "targetViewId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdIsNull() {
+ addCriterion("target_field_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdIsNotNull() {
+ addCriterion("target_field_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdEqualTo(String value) {
+ addCriterion("target_field_id =", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdNotEqualTo(String value) {
+ addCriterion("target_field_id <>", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdGreaterThan(String value) {
+ addCriterion("target_field_id >", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdGreaterThanOrEqualTo(String value) {
+ addCriterion("target_field_id >=", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdLessThan(String value) {
+ addCriterion("target_field_id <", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdLessThanOrEqualTo(String value) {
+ addCriterion("target_field_id <=", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdLike(String value) {
+ addCriterion("target_field_id like", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdNotLike(String value) {
+ addCriterion("target_field_id not like", value, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdIn(List values) {
+ addCriterion("target_field_id in", values, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdNotIn(List values) {
+ addCriterion("target_field_id not in", values, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdBetween(String value1, String value2) {
+ addCriterion("target_field_id between", value1, value2, "targetFieldId");
+ return (Criteria) this;
+ }
+
+ public Criteria andTargetFieldIdNotBetween(String value1, String value2) {
+ addCriterion("target_field_id not between", value1, value2, "targetFieldId");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkMapping.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkMapping.java
new file mode 100644
index 0000000000..8af3488aa4
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkMapping.java
@@ -0,0 +1,13 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+public class PanelLinkMapping implements Serializable {
+ private Long id;
+
+ private String resourceId;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/PanelLinkMappingExample.java b/backend/src/main/java/io/dataease/base/domain/PanelLinkMappingExample.java
new file mode 100644
index 0000000000..da9e2da4ca
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/PanelLinkMappingExample.java
@@ -0,0 +1,330 @@
+package io.dataease.base.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PanelLinkMappingExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public PanelLinkMappingExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdIsNull() {
+ addCriterion("resource_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdIsNotNull() {
+ addCriterion("resource_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdEqualTo(String value) {
+ addCriterion("resource_id =", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdNotEqualTo(String value) {
+ addCriterion("resource_id <>", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdGreaterThan(String value) {
+ addCriterion("resource_id >", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdGreaterThanOrEqualTo(String value) {
+ addCriterion("resource_id >=", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdLessThan(String value) {
+ addCriterion("resource_id <", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdLessThanOrEqualTo(String value) {
+ addCriterion("resource_id <=", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdLike(String value) {
+ addCriterion("resource_id like", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdNotLike(String value) {
+ addCriterion("resource_id not like", value, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdIn(List values) {
+ addCriterion("resource_id in", values, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdNotIn(List values) {
+ addCriterion("resource_id not in", values, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdBetween(String value1, String value2) {
+ addCriterion("resource_id between", value1, value2, "resourceId");
+ return (Criteria) this;
+ }
+
+ public Criteria andResourceIdNotBetween(String value1, String value2) {
+ addCriterion("resource_id not between", value1, value2, "resourceId");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java b/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java
index 2bae1b3142..4febdde0fb 100644
--- a/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java
+++ b/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java
@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
+@ApiModel("消息渠道")
public class SysMsgChannel implements Serializable {
@ApiModelProperty("消息渠道ID")
diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java b/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java
index 49862f077e..13780af7d8 100644
--- a/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java
+++ b/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java
@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
+@ApiModel("订阅信息")
public class SysMsgSetting implements Serializable {
@ApiModelProperty(hidden = true)
private Long msgSettingId;
diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgType.java b/backend/src/main/java/io/dataease/base/domain/SysMsgType.java
index 97262451b5..63d1e7db8a 100644
--- a/backend/src/main/java/io/dataease/base/domain/SysMsgType.java
+++ b/backend/src/main/java/io/dataease/base/domain/SysMsgType.java
@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
+@ApiModel("消息类型")
public class SysMsgType implements Serializable {
@ApiModelProperty("消息类型ID")
@@ -17,10 +19,10 @@ public class SysMsgType implements Serializable {
@ApiModelProperty("消息类型名称")
private String typeName;
- @ApiModelProperty(hidden = true)
+ @ApiModelProperty("回调路由")
private String router;
- @ApiModelProperty(hidden = true)
+ @ApiModelProperty("回调函数")
private String callback;
private static final long serialVersionUID = 1L;
diff --git a/backend/src/main/java/io/dataease/base/domain/SysUser.java b/backend/src/main/java/io/dataease/base/domain/SysUser.java
index 8867cc75c4..19b0ad8da8 100644
--- a/backend/src/main/java/io/dataease/base/domain/SysUser.java
+++ b/backend/src/main/java/io/dataease/base/domain/SysUser.java
@@ -1,44 +1,64 @@
package io.dataease.base.domain;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SysUser implements Serializable {
+ @ApiModelProperty("ID")
private Long userId;
+ @ApiModelProperty("组织ID")
private Long deptId;
+ @ApiModelProperty("账号")
private String username;
+ @ApiModelProperty("姓名")
private String nickName;
+ @ApiModelProperty("性别")
private String gender;
+ @ApiModelProperty("电话")
private String phone;
+ @ApiModelProperty("邮箱")
private String email;
+ @ApiModelProperty(hidden = true)
private String password;
+ @ApiModelProperty("是否管理员")
private Boolean isAdmin;
+ @ApiModelProperty("状态")
private Long enabled;
+ @ApiModelProperty("创建人")
private String createBy;
+ @ApiModelProperty("修改人")
private String updateBy;
+ @ApiModelProperty("密码重置时间")
private Long pwdResetTime;
+ @ApiModelProperty("创建时间")
private Long createTime;
+ @ApiModelProperty("修改时间")
private Long updateTime;
+ @ApiModelProperty("语言")
private String language;
+ @ApiModelProperty("用户来源")
private Integer from;
+ @ApiModelProperty(hidden = true)
private String sub;
private static final long serialVersionUID = 1L;
diff --git a/backend/src/main/java/io/dataease/base/domain/VAuthModel.java b/backend/src/main/java/io/dataease/base/domain/VAuthModel.java
new file mode 100644
index 0000000000..7205966be8
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/VAuthModel.java
@@ -0,0 +1,23 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+
+@Data
+public class VAuthModel implements Serializable {
+ private String id;
+
+ private String pid;
+
+ private String nodeType;
+
+ private String modelType;
+
+ private String modelInnerType;
+
+ private String authType;
+
+ private String createBy;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java b/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java
new file mode 100644
index 0000000000..5948918233
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/VAuthModelExample.java
@@ -0,0 +1,690 @@
+package io.dataease.base.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class VAuthModelExample {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ public VAuthModelExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(String value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(String value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(String value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(String value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(String value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(String value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLike(String value) {
+ addCriterion("id like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotLike(String value) {
+ addCriterion("id not like", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(String value1, String value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(String value1, String value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidIsNull() {
+ addCriterion("pid is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidIsNotNull() {
+ addCriterion("pid is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidEqualTo(String value) {
+ addCriterion("pid =", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidNotEqualTo(String value) {
+ addCriterion("pid <>", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidGreaterThan(String value) {
+ addCriterion("pid >", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidGreaterThanOrEqualTo(String value) {
+ addCriterion("pid >=", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidLessThan(String value) {
+ addCriterion("pid <", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidLessThanOrEqualTo(String value) {
+ addCriterion("pid <=", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidLike(String value) {
+ addCriterion("pid like", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidNotLike(String value) {
+ addCriterion("pid not like", value, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidIn(List values) {
+ addCriterion("pid in", values, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidNotIn(List values) {
+ addCriterion("pid not in", values, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidBetween(String value1, String value2) {
+ addCriterion("pid between", value1, value2, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andPidNotBetween(String value1, String value2) {
+ addCriterion("pid not between", value1, value2, "pid");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeIsNull() {
+ addCriterion("node_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeIsNotNull() {
+ addCriterion("node_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeEqualTo(String value) {
+ addCriterion("node_type =", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeNotEqualTo(String value) {
+ addCriterion("node_type <>", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeGreaterThan(String value) {
+ addCriterion("node_type >", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("node_type >=", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeLessThan(String value) {
+ addCriterion("node_type <", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeLessThanOrEqualTo(String value) {
+ addCriterion("node_type <=", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeLike(String value) {
+ addCriterion("node_type like", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeNotLike(String value) {
+ addCriterion("node_type not like", value, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeIn(List values) {
+ addCriterion("node_type in", values, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeNotIn(List values) {
+ addCriterion("node_type not in", values, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeBetween(String value1, String value2) {
+ addCriterion("node_type between", value1, value2, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andNodeTypeNotBetween(String value1, String value2) {
+ addCriterion("node_type not between", value1, value2, "nodeType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeIsNull() {
+ addCriterion("model_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeIsNotNull() {
+ addCriterion("model_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeEqualTo(String value) {
+ addCriterion("model_type =", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeNotEqualTo(String value) {
+ addCriterion("model_type <>", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeGreaterThan(String value) {
+ addCriterion("model_type >", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("model_type >=", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeLessThan(String value) {
+ addCriterion("model_type <", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeLessThanOrEqualTo(String value) {
+ addCriterion("model_type <=", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeLike(String value) {
+ addCriterion("model_type like", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeNotLike(String value) {
+ addCriterion("model_type not like", value, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeIn(List values) {
+ addCriterion("model_type in", values, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeNotIn(List values) {
+ addCriterion("model_type not in", values, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeBetween(String value1, String value2) {
+ addCriterion("model_type between", value1, value2, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelTypeNotBetween(String value1, String value2) {
+ addCriterion("model_type not between", value1, value2, "modelType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeIsNull() {
+ addCriterion("model_inner_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeIsNotNull() {
+ addCriterion("model_inner_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeEqualTo(String value) {
+ addCriterion("model_inner_type =", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeNotEqualTo(String value) {
+ addCriterion("model_inner_type <>", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeGreaterThan(String value) {
+ addCriterion("model_inner_type >", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("model_inner_type >=", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeLessThan(String value) {
+ addCriterion("model_inner_type <", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeLessThanOrEqualTo(String value) {
+ addCriterion("model_inner_type <=", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeLike(String value) {
+ addCriterion("model_inner_type like", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeNotLike(String value) {
+ addCriterion("model_inner_type not like", value, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeIn(List values) {
+ addCriterion("model_inner_type in", values, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeNotIn(List values) {
+ addCriterion("model_inner_type not in", values, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeBetween(String value1, String value2) {
+ addCriterion("model_inner_type between", value1, value2, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andModelInnerTypeNotBetween(String value1, String value2) {
+ addCriterion("model_inner_type not between", value1, value2, "modelInnerType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeIsNull() {
+ addCriterion("auth_type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeIsNotNull() {
+ addCriterion("auth_type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeEqualTo(String value) {
+ addCriterion("auth_type =", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeNotEqualTo(String value) {
+ addCriterion("auth_type <>", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeGreaterThan(String value) {
+ addCriterion("auth_type >", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeGreaterThanOrEqualTo(String value) {
+ addCriterion("auth_type >=", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeLessThan(String value) {
+ addCriterion("auth_type <", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeLessThanOrEqualTo(String value) {
+ addCriterion("auth_type <=", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeLike(String value) {
+ addCriterion("auth_type like", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeNotLike(String value) {
+ addCriterion("auth_type not like", value, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeIn(List values) {
+ addCriterion("auth_type in", values, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeNotIn(List values) {
+ addCriterion("auth_type not in", values, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeBetween(String value1, String value2) {
+ addCriterion("auth_type between", value1, value2, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andAuthTypeNotBetween(String value1, String value2) {
+ addCriterion("auth_type not between", value1, value2, "authType");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByIsNull() {
+ addCriterion("create_by is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByIsNotNull() {
+ addCriterion("create_by is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByEqualTo(String value) {
+ addCriterion("create_by =", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByNotEqualTo(String value) {
+ addCriterion("create_by <>", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByGreaterThan(String value) {
+ addCriterion("create_by >", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByGreaterThanOrEqualTo(String value) {
+ addCriterion("create_by >=", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByLessThan(String value) {
+ addCriterion("create_by <", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByLessThanOrEqualTo(String value) {
+ addCriterion("create_by <=", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByLike(String value) {
+ addCriterion("create_by like", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByNotLike(String value) {
+ addCriterion("create_by not like", value, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByIn(List values) {
+ addCriterion("create_by in", values, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByNotIn(List values) {
+ addCriterion("create_by not in", values, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByBetween(String value1, String value2) {
+ addCriterion("create_by between", value1, value2, "createBy");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateByNotBetween(String value1, String value2) {
+ addCriterion("create_by not between", value1, value2, "createBy");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/domain/VAuthModelWithBLOBs.java b/backend/src/main/java/io/dataease/base/domain/VAuthModelWithBLOBs.java
new file mode 100644
index 0000000000..e5fc73af43
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/domain/VAuthModelWithBLOBs.java
@@ -0,0 +1,17 @@
+package io.dataease.base.domain;
+
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class VAuthModelWithBLOBs extends VAuthModel implements Serializable {
+ private String name;
+
+ private String label;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
index 72b2eaaca0..1bdedbf438 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/ChartViewMapper.xml
@@ -7,6 +7,9 @@
+
+
+
@@ -84,8 +87,8 @@
- id, `name`, scene_id, table_id, `type`, title, create_by, create_time, update_time,
- style_priority
+ id, `name`, scene_id, table_id, `type`, render, result_count, result_mode, title,
+ create_by, create_time, update_time, style_priority
x_axis, y_axis, y_axis_ext, ext_stack, ext_bubble, custom_attr, custom_style, custom_filter,
@@ -141,14 +144,16 @@
insert into chart_view (id, `name`, scene_id,
- table_id, `type`, title,
+ table_id, `type`, render,
+ result_count, result_mode, title,
create_by, create_time, update_time,
style_priority, x_axis, y_axis,
y_axis_ext, ext_stack, ext_bubble,
custom_attr, custom_style, custom_filter,
drill_fields, snapshot)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{sceneId,jdbcType=VARCHAR},
- #{tableId,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
+ #{tableId,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{render,jdbcType=VARCHAR},
+ #{resultCount,jdbcType=INTEGER}, #{resultMode,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
#{stylePriority,jdbcType=VARCHAR}, #{xAxis,jdbcType=LONGVARCHAR}, #{yAxis,jdbcType=LONGVARCHAR},
#{yAxisExt,jdbcType=LONGVARCHAR}, #{extStack,jdbcType=LONGVARCHAR}, #{extBubble,jdbcType=LONGVARCHAR},
@@ -173,6 +178,15 @@
`type`,
+
+ render,
+
+
+ result_count,
+
+
+ result_mode,
+
title,
@@ -235,6 +249,15 @@
#{type,jdbcType=VARCHAR},
+
+ #{render,jdbcType=VARCHAR},
+
+
+ #{resultCount,jdbcType=INTEGER},
+
+
+ #{resultMode,jdbcType=VARCHAR},
+
#{title,jdbcType=VARCHAR},
@@ -306,6 +329,15 @@
`type` = #{record.type,jdbcType=VARCHAR},
+
+ render = #{record.render,jdbcType=VARCHAR},
+
+
+ result_count = #{record.resultCount,jdbcType=INTEGER},
+
+
+ result_mode = #{record.resultMode,jdbcType=VARCHAR},
+
title = #{record.title,jdbcType=VARCHAR},
@@ -363,6 +395,9 @@
scene_id = #{record.sceneId,jdbcType=VARCHAR},
table_id = #{record.tableId,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR},
+ render = #{record.render,jdbcType=VARCHAR},
+ result_count = #{record.resultCount,jdbcType=INTEGER},
+ result_mode = #{record.resultMode,jdbcType=VARCHAR},
title = #{record.title,jdbcType=VARCHAR},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT},
@@ -389,6 +424,9 @@
scene_id = #{record.sceneId,jdbcType=VARCHAR},
table_id = #{record.tableId,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR},
+ render = #{record.render,jdbcType=VARCHAR},
+ result_count = #{record.resultCount,jdbcType=INTEGER},
+ result_mode = #{record.resultMode,jdbcType=VARCHAR},
title = #{record.title,jdbcType=VARCHAR},
create_by = #{record.createBy,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT},
@@ -413,6 +451,15 @@
`type` = #{type,jdbcType=VARCHAR},
+
+ render = #{render,jdbcType=VARCHAR},
+
+
+ result_count = #{resultCount,jdbcType=INTEGER},
+
+
+ result_mode = #{resultMode,jdbcType=VARCHAR},
+
title = #{title,jdbcType=VARCHAR},
@@ -467,6 +514,9 @@
scene_id = #{sceneId,jdbcType=VARCHAR},
table_id = #{tableId,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
+ render = #{render,jdbcType=VARCHAR},
+ result_count = #{resultCount,jdbcType=INTEGER},
+ result_mode = #{resultMode,jdbcType=VARCHAR},
title = #{title,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT},
@@ -490,6 +540,9 @@
scene_id = #{sceneId,jdbcType=VARCHAR},
table_id = #{tableId,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
+ render = #{render,jdbcType=VARCHAR},
+ result_count = #{resultCount,jdbcType=INTEGER},
+ result_mode = #{resultMode,jdbcType=VARCHAR},
title = #{title,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT},
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.java b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.java
new file mode 100644
index 0000000000..1c7eaa67e8
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.java
@@ -0,0 +1,30 @@
+package io.dataease.base.mapper;
+
+import io.dataease.base.domain.PanelLinkJumpInfo;
+import io.dataease.base.domain.PanelLinkJumpInfoExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface PanelLinkJumpInfoMapper {
+ long countByExample(PanelLinkJumpInfoExample example);
+
+ int deleteByExample(PanelLinkJumpInfoExample example);
+
+ int deleteByPrimaryKey(String id);
+
+ int insert(PanelLinkJumpInfo record);
+
+ int insertSelective(PanelLinkJumpInfo record);
+
+ List selectByExample(PanelLinkJumpInfoExample example);
+
+ PanelLinkJumpInfo selectByPrimaryKey(String id);
+
+ int updateByExampleSelective(@Param("record") PanelLinkJumpInfo record, @Param("example") PanelLinkJumpInfoExample example);
+
+ int updateByExample(@Param("record") PanelLinkJumpInfo record, @Param("example") PanelLinkJumpInfoExample example);
+
+ int updateByPrimaryKeySelective(PanelLinkJumpInfo record);
+
+ int updateByPrimaryKey(PanelLinkJumpInfo record);
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml
new file mode 100644
index 0000000000..349f76cd7c
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpInfoMapper.xml
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ id, link_jump_id, link_type, jump_type, target_panel_id, source_field_id, content,
+ `checked`
+
+
+
+
+ delete from panel_link_jump_info
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ delete from panel_link_jump_info
+
+
+
+
+
+ insert into panel_link_jump_info (id, link_jump_id, link_type,
+ jump_type, target_panel_id, source_field_id,
+ content, `checked`)
+ values (#{id,jdbcType=VARCHAR}, #{linkJumpId,jdbcType=VARCHAR}, #{linkType,jdbcType=VARCHAR},
+ #{jumpType,jdbcType=VARCHAR}, #{targetPanelId,jdbcType=VARCHAR}, #{sourceFieldId,jdbcType=VARCHAR},
+ #{content,jdbcType=VARCHAR}, #{checked,jdbcType=BIT})
+
+
+ insert into panel_link_jump_info
+
+
+ id,
+
+
+ link_jump_id,
+
+
+ link_type,
+
+
+ jump_type,
+
+
+ target_panel_id,
+
+
+ source_field_id,
+
+
+ content,
+
+
+ `checked`,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{linkJumpId,jdbcType=VARCHAR},
+
+
+ #{linkType,jdbcType=VARCHAR},
+
+
+ #{jumpType,jdbcType=VARCHAR},
+
+
+ #{targetPanelId,jdbcType=VARCHAR},
+
+
+ #{sourceFieldId,jdbcType=VARCHAR},
+
+
+ #{content,jdbcType=VARCHAR},
+
+
+ #{checked,jdbcType=BIT},
+
+
+
+
+
+ update panel_link_jump_info
+
+
+ id = #{record.id,jdbcType=VARCHAR},
+
+
+ link_jump_id = #{record.linkJumpId,jdbcType=VARCHAR},
+
+
+ link_type = #{record.linkType,jdbcType=VARCHAR},
+
+
+ jump_type = #{record.jumpType,jdbcType=VARCHAR},
+
+
+ target_panel_id = #{record.targetPanelId,jdbcType=VARCHAR},
+
+
+ source_field_id = #{record.sourceFieldId,jdbcType=VARCHAR},
+
+
+ content = #{record.content,jdbcType=VARCHAR},
+
+
+ `checked` = #{record.checked,jdbcType=BIT},
+
+
+
+
+
+
+
+ update panel_link_jump_info
+ set id = #{record.id,jdbcType=VARCHAR},
+ link_jump_id = #{record.linkJumpId,jdbcType=VARCHAR},
+ link_type = #{record.linkType,jdbcType=VARCHAR},
+ jump_type = #{record.jumpType,jdbcType=VARCHAR},
+ target_panel_id = #{record.targetPanelId,jdbcType=VARCHAR},
+ source_field_id = #{record.sourceFieldId,jdbcType=VARCHAR},
+ content = #{record.content,jdbcType=VARCHAR},
+ `checked` = #{record.checked,jdbcType=BIT}
+
+
+
+
+
+ update panel_link_jump_info
+
+
+ link_jump_id = #{linkJumpId,jdbcType=VARCHAR},
+
+
+ link_type = #{linkType,jdbcType=VARCHAR},
+
+
+ jump_type = #{jumpType,jdbcType=VARCHAR},
+
+
+ target_panel_id = #{targetPanelId,jdbcType=VARCHAR},
+
+
+ source_field_id = #{sourceFieldId,jdbcType=VARCHAR},
+
+
+ content = #{content,jdbcType=VARCHAR},
+
+
+ `checked` = #{checked,jdbcType=BIT},
+
+
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ update panel_link_jump_info
+ set link_jump_id = #{linkJumpId,jdbcType=VARCHAR},
+ link_type = #{linkType,jdbcType=VARCHAR},
+ jump_type = #{jumpType,jdbcType=VARCHAR},
+ target_panel_id = #{targetPanelId,jdbcType=VARCHAR},
+ source_field_id = #{sourceFieldId,jdbcType=VARCHAR},
+ content = #{content,jdbcType=VARCHAR},
+ `checked` = #{checked,jdbcType=BIT}
+ where id = #{id,jdbcType=VARCHAR}
+
+
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.java b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.java
new file mode 100644
index 0000000000..8bdf2b71e1
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.java
@@ -0,0 +1,30 @@
+package io.dataease.base.mapper;
+
+import io.dataease.base.domain.PanelLinkJump;
+import io.dataease.base.domain.PanelLinkJumpExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface PanelLinkJumpMapper {
+ long countByExample(PanelLinkJumpExample example);
+
+ int deleteByExample(PanelLinkJumpExample example);
+
+ int deleteByPrimaryKey(String id);
+
+ int insert(PanelLinkJump record);
+
+ int insertSelective(PanelLinkJump record);
+
+ List selectByExample(PanelLinkJumpExample example);
+
+ PanelLinkJump selectByPrimaryKey(String id);
+
+ int updateByExampleSelective(@Param("record") PanelLinkJump record, @Param("example") PanelLinkJumpExample example);
+
+ int updateByExample(@Param("record") PanelLinkJump record, @Param("example") PanelLinkJumpExample example);
+
+ int updateByPrimaryKeySelective(PanelLinkJump record);
+
+ int updateByPrimaryKey(PanelLinkJump record);
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml
new file mode 100644
index 0000000000..8f26c736a1
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpMapper.xml
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ id, source_panel_id, source_view_id, link_jump_info, `checked`
+
+
+
+
+ delete from panel_link_jump
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ delete from panel_link_jump
+
+
+
+
+
+ insert into panel_link_jump (id, source_panel_id, source_view_id,
+ link_jump_info, `checked`)
+ values (#{id,jdbcType=VARCHAR}, #{sourcePanelId,jdbcType=VARCHAR}, #{sourceViewId,jdbcType=VARCHAR},
+ #{linkJumpInfo,jdbcType=VARCHAR}, #{checked,jdbcType=BIT})
+
+
+ insert into panel_link_jump
+
+
+ id,
+
+
+ source_panel_id,
+
+
+ source_view_id,
+
+
+ link_jump_info,
+
+
+ `checked`,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{sourcePanelId,jdbcType=VARCHAR},
+
+
+ #{sourceViewId,jdbcType=VARCHAR},
+
+
+ #{linkJumpInfo,jdbcType=VARCHAR},
+
+
+ #{checked,jdbcType=BIT},
+
+
+
+
+
+ update panel_link_jump
+
+
+ id = #{record.id,jdbcType=VARCHAR},
+
+
+ source_panel_id = #{record.sourcePanelId,jdbcType=VARCHAR},
+
+
+ source_view_id = #{record.sourceViewId,jdbcType=VARCHAR},
+
+
+ link_jump_info = #{record.linkJumpInfo,jdbcType=VARCHAR},
+
+
+ `checked` = #{record.checked,jdbcType=BIT},
+
+
+
+
+
+
+
+ update panel_link_jump
+ set id = #{record.id,jdbcType=VARCHAR},
+ source_panel_id = #{record.sourcePanelId,jdbcType=VARCHAR},
+ source_view_id = #{record.sourceViewId,jdbcType=VARCHAR},
+ link_jump_info = #{record.linkJumpInfo,jdbcType=VARCHAR},
+ `checked` = #{record.checked,jdbcType=BIT}
+
+
+
+
+
+ update panel_link_jump
+
+
+ source_panel_id = #{sourcePanelId,jdbcType=VARCHAR},
+
+
+ source_view_id = #{sourceViewId,jdbcType=VARCHAR},
+
+
+ link_jump_info = #{linkJumpInfo,jdbcType=VARCHAR},
+
+
+ `checked` = #{checked,jdbcType=BIT},
+
+
+ where id = #{id,jdbcType=VARCHAR}
+
+
+ update panel_link_jump
+ set source_panel_id = #{sourcePanelId,jdbcType=VARCHAR},
+ source_view_id = #{sourceViewId,jdbcType=VARCHAR},
+ link_jump_info = #{linkJumpInfo,jdbcType=VARCHAR},
+ `checked` = #{checked,jdbcType=BIT}
+ where id = #{id,jdbcType=VARCHAR}
+
+
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.java b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.java
new file mode 100644
index 0000000000..33c5295d33
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.java
@@ -0,0 +1,30 @@
+package io.dataease.base.mapper;
+
+import io.dataease.base.domain.PanelLinkJumpTargetViewInfo;
+import io.dataease.base.domain.PanelLinkJumpTargetViewInfoExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface PanelLinkJumpTargetViewInfoMapper {
+ long countByExample(PanelLinkJumpTargetViewInfoExample example);
+
+ int deleteByExample(PanelLinkJumpTargetViewInfoExample example);
+
+ int deleteByPrimaryKey(String targetId);
+
+ int insert(PanelLinkJumpTargetViewInfo record);
+
+ int insertSelective(PanelLinkJumpTargetViewInfo record);
+
+ List selectByExample(PanelLinkJumpTargetViewInfoExample example);
+
+ PanelLinkJumpTargetViewInfo selectByPrimaryKey(String targetId);
+
+ int updateByExampleSelective(@Param("record") PanelLinkJumpTargetViewInfo record, @Param("example") PanelLinkJumpTargetViewInfoExample example);
+
+ int updateByExample(@Param("record") PanelLinkJumpTargetViewInfo record, @Param("example") PanelLinkJumpTargetViewInfoExample example);
+
+ int updateByPrimaryKeySelective(PanelLinkJumpTargetViewInfo record);
+
+ int updateByPrimaryKey(PanelLinkJumpTargetViewInfo record);
+}
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml
new file mode 100644
index 0000000000..76270c5357
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkJumpTargetViewInfoMapper.xml
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+ target_id, link_jump_info_id, target_view_id, target_field_id
+
+
+
+
+ delete from panel_link_jump_target_view_info
+ where target_id = #{targetId,jdbcType=VARCHAR}
+
+
+ delete from panel_link_jump_target_view_info
+
+
+
+
+
+ insert into panel_link_jump_target_view_info (target_id, link_jump_info_id, target_view_id,
+ target_field_id)
+ values (#{targetId,jdbcType=VARCHAR}, #{linkJumpInfoId,jdbcType=VARCHAR}, #{targetViewId,jdbcType=VARCHAR},
+ #{targetFieldId,jdbcType=VARCHAR})
+
+
+ insert into panel_link_jump_target_view_info
+
+
+ target_id,
+
+
+ link_jump_info_id,
+
+
+ target_view_id,
+
+
+ target_field_id,
+
+
+
+
+ #{targetId,jdbcType=VARCHAR},
+
+
+ #{linkJumpInfoId,jdbcType=VARCHAR},
+
+
+ #{targetViewId,jdbcType=VARCHAR},
+
+
+ #{targetFieldId,jdbcType=VARCHAR},
+
+
+
+
+
+ update panel_link_jump_target_view_info
+
+
+ target_id = #{record.targetId,jdbcType=VARCHAR},
+
+
+ link_jump_info_id = #{record.linkJumpInfoId,jdbcType=VARCHAR},
+
+
+ target_view_id = #{record.targetViewId,jdbcType=VARCHAR},
+
+
+ target_field_id = #{record.targetFieldId,jdbcType=VARCHAR},
+
+
+
+
+
+
+
+ update panel_link_jump_target_view_info
+ set target_id = #{record.targetId,jdbcType=VARCHAR},
+ link_jump_info_id = #{record.linkJumpInfoId,jdbcType=VARCHAR},
+ target_view_id = #{record.targetViewId,jdbcType=VARCHAR},
+ target_field_id = #{record.targetFieldId,jdbcType=VARCHAR}
+
+
+
+
+
+ update panel_link_jump_target_view_info
+
+
+ link_jump_info_id = #{linkJumpInfoId,jdbcType=VARCHAR},
+
+
+ target_view_id = #{targetViewId,jdbcType=VARCHAR},
+
+
+ target_field_id = #{targetFieldId,jdbcType=VARCHAR},
+
+
+ where target_id = #{targetId,jdbcType=VARCHAR}
+
+
+ update panel_link_jump_target_view_info
+ set link_jump_info_id = #{linkJumpInfoId,jdbcType=VARCHAR},
+ target_view_id = #{targetViewId,jdbcType=VARCHAR},
+ target_field_id = #{targetFieldId,jdbcType=VARCHAR}
+ where target_id = #{targetId,jdbcType=VARCHAR}
+
+
\ No newline at end of file
diff --git a/backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml b/backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml
index 130aeb61df..eedc1062fe 100644
--- a/backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml
@@ -6,6 +6,7 @@
+
@@ -66,7 +67,7 @@
- resource_id, `valid`, enable_pwd, pwd
+ resource_id, `valid`, enable_pwd, pwd, over_time
+
+ select
+ dataset_table_field.id,
+ dataset_table_field.table_id,
+ dataset_table_field.origin_name,
+ dataset_table_field.`name`,
+ dataset_table_field.de_type
+ from dataset_table_field
+ left join chart_view on dataset_table_field.table_id= chart_view.table_id
+ where chart_view.id = #{viewId}
+
+
delete from panel_view_linkage where panel_view_linkage.panel_id = #{panelId}
diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java
index c1822724ae..72c6169423 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java
+++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.java
@@ -1,6 +1,8 @@
package io.dataease.base.mapper.ext;
+import io.dataease.dto.chart.ChartViewDTO;
import io.dataease.dto.panel.PanelViewDto;
+import io.dataease.dto.panel.PanelViewTableDTO;
import io.dataease.dto.panel.po.PanelViewInsertDTO;
import org.apache.ibatis.annotations.Param;
@@ -12,6 +14,8 @@ public interface ExtPanelViewMapper {
List views(String userId);
+ List getPanelViewDetails(@Param("panelId") String panelId);
+
void deleteWithPanelId(String panelId);
void savePanelView(@Param("panelViews") List panelViews);
diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml
index 82b22623a3..800b23bc7a 100644
--- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml
+++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml
@@ -9,7 +9,42 @@
+
+
+
+
+
+
+
+
+
+
+
+ SELECT
+ chart_view.id,
+ chart_view.`name`,
+ chart_view.scene_id,
+ chart_view.table_id,
+ chart_view.`type`,
+ chart_view.render,
+ chart_view.title,
+ chart_view.create_by,
+ chart_view.create_time,
+ chart_view.update_time,
+ chart_view.style_priority,
+ panel_view.panel_id,
+ dataset_table_field.id as 'field_id',
+ dataset_table_field.origin_name,
+ dataset_table_field.`name` as 'field_name',
+ dataset_table_field.type as 'field_type',
+ dataset_table_field.de_type
+ FROM
+ panel_view
+ LEFT JOIN chart_view ON panel_view.chart_view_id = chart_view.id
+ left join dataset_table_field on chart_view.table_id = dataset_table_field.table_id
+ where panel_view.panel_id =#{panelId}
+
select id, ifnull(pid,0) as pid, name, `type`
diff --git a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java b/backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java
similarity index 84%
rename from backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java
rename to backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java
index 93d17034fe..4e6da058e3 100644
--- a/backend/src/main/java/io/dataease/datasource/constants/DatasourceTypes.java
+++ b/backend/src/main/java/io/dataease/commons/constants/DatasourceTypes.java
@@ -1,16 +1,20 @@
-package io.dataease.datasource.constants;
+package io.dataease.commons.constants;
public enum DatasourceTypes {
excel("excel", "excel", "", "", "", "", ""),
mysql("mysql", "mysql", "com.mysql.jdbc.Driver", "`", "`", "'", "'"),
+ hive("hive", "hive", "org.apache.hive.jdbc.HiveDriver", "`", "`", "'", "'"),
mariadb("mariadb", "mariadb", "com.mysql.jdbc.Driver", "`", "`", "'", "'"),
ds_doris("ds_doris", "ds_doris", "com.mysql.jdbc.Driver", "`", "`", "'", "'"),
pg("pg", "pg", "org.postgresql.Driver", "\"", "\"", "\"", "\""),
sqlServer("sqlServer", "sqlServer", "com.microsoft.sqlserver.jdbc.SQLServerDriver", "\"", "\"", "\"", "\""),
de_doris("de_doris", "de_doris", "com.mysql.jdbc.Driver", "`", "`", "", ""),
oracle("oracle", "oracle", "oracle.jdbc.driver.OracleDriver", "\"", "\"", "\"", "\""),
+ mongo("mongo", "mongodb", "com.mongodb.jdbc.MongoDriver", "`", "`", "\"", "\""),
ck("ch", "ch", "ru.yandex.clickhouse.ClickHouseDriver", "`", "`", "'", "'"),
- es("es", "es", "", "\"", "\"", "\"", "\"");
+ es("es", "es", "", "\"", "\"", "\"", "\""),
+ redshift("redshift", "redshift", "org.postgresql.Driver", "\"", "\"", "\"", "\"");
+
private String feature;
private String desc;
diff --git a/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java b/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java
index f075b5149c..745b7e274a 100644
--- a/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java
+++ b/backend/src/main/java/io/dataease/commons/constants/ParamConstants.java
@@ -109,6 +109,18 @@ public interface ParamConstants {
}
}
+ enum BASIC implements ParamConstants {
+ FRONT_TIME_OUT("basic.frontTimeOut"),
+ MSG_TIME_OUT("basic.msgTimeOut");
+ private String value;
+ public String getValue() {
+ return this.value;
+ }
+ private BASIC(String value) {
+ this.value = value;
+ }
+ }
+
enum BASE implements ParamConstants {
URL("base.url");
diff --git a/backend/src/main/java/io/dataease/commons/model/ITreeBase.java b/backend/src/main/java/io/dataease/commons/model/ITreeBase.java
index 67e1f08c7c..006adaef85 100644
--- a/backend/src/main/java/io/dataease/commons/model/ITreeBase.java
+++ b/backend/src/main/java/io/dataease/commons/model/ITreeBase.java
@@ -9,6 +9,8 @@ import java.util.List;
*/
public interface ITreeBase {
+ String getNodeType();
+
String getId();
void setId(String id);
diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java
deleted file mode 100644
index 0f866bd233..0000000000
--- a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package io.dataease.commons.utils;
-import com.google.gson.Gson;
-import io.dataease.datasource.dto.TableFiled;
-import org.apache.poi.hssf.usermodel.HSSFCell;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.List;
-
-public class ExcelReaderUtil {
- //excel2003扩展名
- public static final String EXCEL03_EXTENSION = ".xls";
- //excel2007扩展名
- public static final String EXCEL07_EXTENSION = ".xlsx";
-
- public static void sendRows(String filePath, String sheetName, int sheetIndex, int curRow, List cellList) {
- StringBuffer oneLineSb = new StringBuffer();
- oneLineSb.append(filePath);
- oneLineSb.append("--");
- oneLineSb.append("sheet" + sheetIndex);
- oneLineSb.append("::" + sheetName);//加上sheet名
- oneLineSb.append("--");
- oneLineSb.append("row" + curRow);
- oneLineSb.append("::");
-
- // map.put(cellList.get(9),cellList.get(0)) ;
-
- for (String cell : cellList) {
- oneLineSb.append(cell.trim());
- oneLineSb.append("|");
- }
- String oneLine = oneLineSb.toString();
- if (oneLine.endsWith("|")) {
- oneLine = oneLine.substring(0, oneLine.lastIndexOf("|"));
- }// 去除最后一个分隔符
-
- System.out.println(oneLine);
- }
-
- /**
- * 读取excel文件路径
- * @param fileName 文件路径
- * @throws Exception
- */
- public static void readExcel(String fileName, InputStream inputStream) throws Exception {
- if (fileName.endsWith(EXCEL03_EXTENSION)) { //处理excel2003文件
- ExcelXlsReader excelXls=new ExcelXlsReader();
- excelXls.process(inputStream);
- System.out.println(excelXls.totalSheets.size());
- System.out.println(excelXls.totalSheets.get(0).getExcelLable());
- for (TableFiled field : excelXls.totalSheets.get(0).getFields()) {
- System.out.println(new Gson().toJson(field));
- }
- System.out.println(excelXls.totalSheets.get(0).getData().get(0));
- System.out.println(excelXls.totalSheets.get(0).getData().get(1));
- System.out.println(excelXls.totalSheets.get(0).getData().get(2));
- } else if (fileName.endsWith(EXCEL07_EXTENSION)) {//处理excel2007文件
- ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader();
- excelXlsxReader.process(inputStream);
-
- System.out.println(excelXlsxReader.totalSheets.get(0).getFields().size());
-
- for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) {
- System.out.println(new Gson().toJson(field));
- }
- System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(0));
-
- } else {
- throw new Exception("文件格式错误,fileName的扩展名只能是xls或xlsx。");
- }
- }
-
- public static void main(String[] args) throws Exception {
-
-
- String file ="各省市GDP-表格_加内容.xlsx";
- ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file));
- }
-}
diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java
index c97c8d4c4c..d2665d98f3 100644
--- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java
+++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java
@@ -1,6 +1,6 @@
package io.dataease.commons.utils;
-import io.dataease.datasource.dto.TableFiled;
+import io.dataease.dto.datasource.TableFiled;
import io.dataease.dto.dataset.ExcelSheetData;
import io.dataease.i18n.Translator;
import org.apache.poi.hssf.eventusermodel.*;
@@ -23,8 +23,6 @@ import java.util.stream.Collectors;
**/
public class ExcelXlsReader implements HSSFListener {
- public ExcelReaderUtil excelReaderUtil = new ExcelReaderUtil();
-
private int minColums = -1;
private POIFSFileSystem fs;
@@ -333,7 +331,10 @@ public class ExcelXlsReader implements HSSFListener {
totalSheets.add(excelSheetData);
}else {
List tmp = new ArrayList<>(cellList);
- totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp);
+ if(totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().size() < 100){
+ totalSheets.stream().filter(s->s.getExcelLable().equalsIgnoreCase(sheetName)).collect(Collectors.toList()).get(0).getData().add(tmp);
+ }
+
totalRows++;
}
}
diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java
index ce95f235e8..e989d795c4 100644
--- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java
+++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java
@@ -1,5 +1,5 @@
package io.dataease.commons.utils;
-import io.dataease.datasource.dto.TableFiled;
+import io.dataease.dto.datasource.TableFiled;
import io.dataease.dto.dataset.ExcelSheetData;
import io.dataease.i18n.Translator;
import org.apache.commons.collections4.CollectionUtils;
@@ -319,6 +319,7 @@ public class ExcelXlsxReader extends DefaultHandler {
nextDataType = CellDataType.NUMBER; //cellType为空,则表示该单元格类型为数字
formatIndex = -1;
formatString = null;
+ isDateFormat = false;
String cellType = attributes.getValue("t"); //单元格类型
if ("b".equals(cellType)) { //处理布尔值
nextDataType = CellDataType.BOOL;
@@ -339,13 +340,12 @@ public class ExcelXlsxReader extends DefaultHandler {
formatIndex = style.getDataFormat();
formatString = style.getDataFormatString();
short format = this.formatIndex;
- if (format == 14 || format == 31 || format == 57 ||format == 59||
- format == 58 || (176 < format && format < 178)
- || (182 <= format && format <= 196) ||
- (210 <= format && format <= 213) || (208 == format))
+ if ( (14 <= format && format <= 17) || format == 20 || format == 22 || format == 31 || format == 35 || format == 45 || format == 46 || format == 47 || (57 <= format && format <= 59)
+ || (175 < format && format < 178) || (182 <= format && format <= 196) || (210 <= format && format <= 213) || (208 == format))
{ // 日期
isDateFormat = true;
}
+
}
}
@@ -399,8 +399,12 @@ public class ExcelXlsxReader extends DefaultHandler {
thisStr = value;
}
thisStr = thisStr.replace("_", "").trim();
- if(isDateFormat){
+
+ if(isDateFormat ){
type = "DATETIME";isDateFormat = false;
+ if(formatString != null && formatString.contains("%")){
+ type = getType(thisStr);
+ }
}else {
type = getType(thisStr);
}
diff --git a/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java b/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java
index ac6e4552fc..8454df061b 100755
--- a/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java
+++ b/backend/src/main/java/io/dataease/commons/utils/HttpClientUtil.java
@@ -7,22 +7,26 @@ import org.apache.http.client.entity.EntityBuilder;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
+import org.apache.http.config.Registry;
+import org.apache.http.config.RegistryBuilder;
+import org.apache.http.conn.HttpClientConnectionManager;
+import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
-import org.apache.http.conn.ssl.TrustStrategy;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
-import org.apache.http.ssl.SSLContexts;
+import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.SSLContext;
+import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -42,11 +46,15 @@ public class HttpClientUtil {
private static CloseableHttpClient buildHttpClient(String url) {
try {
if (url.startsWith(HTTPS)) {
- // https 增加信任设置
- TrustStrategy trustStrategy = new TrustSelfSignedStrategy();
- SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(trustStrategy).build();
- HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
- return HttpClients.custom().setSSLContext(sslContext).setSSLHostnameVerifier(hostnameVerifier).build();
+ SSLContextBuilder builder = new SSLContextBuilder();
+ builder.loadTrustMaterial(null, (X509Certificate[] x509Certificates, String s) -> true);
+ SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(builder.build(), new String[]{"TLSv1.1", "TLSv1.2", "SSLv3"}, null, NoopHostnameVerifier.INSTANCE);
+ Registry registry = RegistryBuilder.create()
+ .register("http", new PlainConnectionSocketFactory())
+ .register("https", socketFactory).build();
+ HttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry);
+ CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build();
+ return httpClient;
} else {
// http
return HttpClientBuilder.create().build();
diff --git a/backend/src/main/java/io/dataease/commons/utils/TreeUtils.java b/backend/src/main/java/io/dataease/commons/utils/TreeUtils.java
index d7cfb3e13e..13796111b9 100644
--- a/backend/src/main/java/io/dataease/commons/utils/TreeUtils.java
+++ b/backend/src/main/java/io/dataease/commons/utils/TreeUtils.java
@@ -41,6 +41,7 @@ public class TreeUtils{
return result;
}
+
/**
* Description: rootPid 是根节点PID 档期那默认是0
*/
diff --git a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
index e696452ad3..ffd47c558f 100644
--- a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
+++ b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
@@ -1,9 +1,9 @@
package io.dataease.config;
import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
-import io.dataease.commons.condition.LicStatusCondition;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.*;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.*;
@@ -12,19 +12,17 @@ import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
-
-import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@EnableOpenApi
@Configuration
@Import(BeanValidatorPluginsConfiguration.class)
-public class Knife4jConfiguration {
+public class Knife4jConfiguration implements BeanPostProcessor{
private final OpenApiExtensionResolver openApiExtensionResolver;
- @Value("${app.version}")
+ @Value("${version}")
private String version;
diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java
index 075555618e..c1ecfb139d 100644
--- a/backend/src/main/java/io/dataease/controller/IndexController.java
+++ b/backend/src/main/java/io/dataease/controller/IndexController.java
@@ -2,11 +2,15 @@ package io.dataease.controller;
import io.dataease.commons.license.DefaultLicenseService;
import io.dataease.commons.license.F2CLicenseResponse;
+import io.dataease.commons.utils.ServletUtils;
+import io.dataease.service.panel.PanelLinkService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
-
import javax.annotation.Resource;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
@Controller
@RequestMapping
@@ -15,6 +19,9 @@ public class IndexController {
@Resource
private DefaultLicenseService defaultLicenseService;
+ @Resource
+ private PanelLinkService panelLinkService;
+
@GetMapping(value = "/")
public String index() {
return "index.html";
@@ -43,10 +50,18 @@ public class IndexController {
return "doc.html";
default:
// DataEaseException.throwException("Invalid License.");
- return "nolic.html";
- // return "doc.html";
+ return "nolic.html";
}
- // return "index.html";
+ }
+
+ @GetMapping("/xggznb/{index}")
+ public String xggznb(@PathVariable(value = "index", required = true) Long index) {
+ String url = panelLinkService.getUrlByIndex(index);
+ HttpServletResponse response = ServletUtils.response();
+ String param = url.substring(url.indexOf("?") + 1);
+ Cookie cookie = new Cookie("link", param);
+ response.addCookie(cookie);
+ return url;
}
diff --git a/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java b/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java
new file mode 100644
index 0000000000..b6352ffa18
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/authModel/VAuthModelController.java
@@ -0,0 +1,19 @@
+package io.dataease.controller.authModel;
+
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Author: wangjiahao
+ * Date: 2021/11/5
+ * Description:
+ */
+@Api(tags = "授权树:授权树模型")
+@ApiSupport(order = 80)
+@RestController
+@RequestMapping("authModel")
+public class VAuthModelController {
+
+}
diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
index 8ce32d17ac..13f84cc6a3 100644
--- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
+++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
@@ -3,6 +3,7 @@ package io.dataease.controller.chart;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.ChartViewWithBLOBs;
import io.dataease.commons.utils.AuthUtils;
+import io.dataease.controller.request.chart.ChartCalRequest;
import io.dataease.controller.request.chart.ChartExtRequest;
import io.dataease.controller.request.chart.ChartViewRequest;
import io.dataease.controller.response.ChartDetail;
@@ -100,4 +101,10 @@ public class ChartViewController {
public List search(@RequestBody ChartViewRequest chartViewRequest) {
return chartViewService.search(chartViewRequest);
}
+
+ @ApiOperation("计算结果")
+ @PostMapping("/calcData")
+ public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception {
+ return chartViewService.calcData(request.getView(), request.getRequestList(), false);
+ }
}
diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java
index be0d595749..9c2dcbfebc 100644
--- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java
+++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java
@@ -6,7 +6,7 @@ import io.dataease.base.domain.DatasetTableField;
import io.dataease.base.domain.DatasetTableIncrementalConfig;
import io.dataease.controller.request.dataset.DataSetTableRequest;
import io.dataease.controller.response.DataSetDetail;
-import io.dataease.datasource.dto.TableFiled;
+import io.dataease.dto.datasource.TableFiled;
import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.dto.dataset.ExcelFileData;
import io.dataease.service.dataset.DataSetTableService;
@@ -41,9 +41,9 @@ public class DataSetTableController {
@ApiOperation("更新")
@PostMapping("update")
public void save(@RequestBody DataSetTableRequest datasetTable) throws Exception {
- if(datasetTable.getType().equalsIgnoreCase("excel")){
+ if (datasetTable.getType().equalsIgnoreCase("excel")) {
dataSetTableService.saveExcel(datasetTable);
- }else {
+ } else {
dataSetTableService.save(datasetTable);
}
}
@@ -53,10 +53,10 @@ public class DataSetTableController {
public void alter(@RequestBody DataSetTableRequest request) throws Exception {
dataSetTableService.alter(request);
}
-
+
@ApiOperation("删除")
@PostMapping("delete/{id}")
- public void delete( @ApiParam(name = "id", value = "数据集ID", required = true) @PathVariable String id) throws Exception {
+ public void delete(@ApiParam(name = "id", value = "数据集ID", required = true) @PathVariable String id) throws Exception {
dataSetTableService.delete(id);
}
@@ -132,9 +132,9 @@ public class DataSetTableController {
return dataSetTableService.getDatasetDetail(id);
}
-// @ApiOperation("excel上传")
+ // @ApiOperation("excel上传")
@PostMapping("excel/upload")
- public ExcelFileData excelUpload(@RequestParam("file") MultipartFile file, @RequestParam("tableId") String tableId, @RequestParam("editType") Integer editType ) throws Exception {
+ public ExcelFileData excelUpload(@RequestParam("file") MultipartFile file, @RequestParam("tableId") String tableId, @RequestParam("editType") Integer editType) throws Exception {
return dataSetTableService.excelSaveAndParse(file, tableId, editType);
}
@@ -149,4 +149,10 @@ public class DataSetTableController {
public List search(@RequestBody DataSetTableRequest dataSetTableRequest) {
return dataSetTableService.search(dataSetTableRequest);
}
+
+ @ApiOperation("数据集同步表结构")
+ @PostMapping("syncField/{id}")
+ public DatasetTable syncDatasetTableField(@PathVariable String id) throws Exception {
+ return dataSetTableService.syncDatasetTableField(id);
+ }
}
diff --git a/backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java
similarity index 85%
rename from backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java
rename to backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java
index 6836c86526..3c489d68f4 100644
--- a/backend/src/main/java/io/dataease/datasource/controller/DatasourceController.java
+++ b/backend/src/main/java/io/dataease/controller/datasource/DatasourceController.java
@@ -1,4 +1,4 @@
-package io.dataease.datasource.controller;
+package io.dataease.controller.datasource;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@@ -10,8 +10,8 @@ import io.dataease.commons.utils.Pager;
import io.dataease.controller.ResultHolder;
import io.dataease.controller.request.DatasourceUnionRequest;
import io.dataease.controller.sys.base.BaseGridRequest;
-import io.dataease.datasource.dto.DBTableDTO;
-import io.dataease.datasource.service.DatasourceService;
+import io.dataease.dto.datasource.DBTableDTO;
+import io.dataease.service.datasource.DatasourceService;
import io.dataease.dto.DatasourceDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -20,6 +20,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.List;
+import java.util.stream.Collectors;
@Api(tags = "数据源:数据源管理")
@ApiSupport(order = 30)
@@ -32,7 +33,7 @@ public class DatasourceController {
@ApiOperation("新增数据源")
@PostMapping("/add")
- public Datasource addDatasource(@RequestBody Datasource datasource) {
+ public Datasource addDatasource(@RequestBody Datasource datasource) throws Exception{
return datasourceService.addDatasource(datasource);
}
@@ -57,6 +58,12 @@ public class DatasourceController {
return datasourceService.getDatasourceList(request);
}
+ @ApiOperation("查询当前用户数据源")
+ @GetMapping("/list/{type}")
+ public List getDatasourceListByType(@PathVariable String type) throws Exception {
+ return getDatasourceList().stream().filter(datasourceDTO -> datasourceDTO.getType().equalsIgnoreCase(type)).collect(Collectors.toList());
+ }
+
@ApiIgnore
@PostMapping("/list/{goPage}/{pageSize}")
public Pager> getDatasourceList(@RequestBody BaseGridRequest request, @PathVariable int goPage, @PathVariable int pageSize) throws Exception {
diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelLinkJumpController.java b/backend/src/main/java/io/dataease/controller/panel/PanelLinkJumpController.java
new file mode 100644
index 0000000000..c8e1f2dff0
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/panel/PanelLinkJumpController.java
@@ -0,0 +1,66 @@
+package io.dataease.controller.panel;
+
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.dataease.base.domain.DatasetTableField;
+import io.dataease.commons.model.BaseRspModel;
+import io.dataease.controller.request.panel.PanelLinkageRequest;
+import io.dataease.controller.request.panel.PanelSubjectRequest;
+import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseRequest;
+import io.dataease.dto.panel.linkJump.PanelLinkJumpBaseResponse;
+import io.dataease.dto.panel.linkJump.PanelLinkJumpDTO;
+import io.dataease.dto.panel.linkJump.PanelLinkJumpInfoDTO;
+import io.dataease.service.panel.PanelLinkJumpService;
+import io.dataease.service.panel.PanelViewLinkageService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Author: wangjiahao
+ * Date: 8/4/21
+ * Description:
+ */
+@Api(tags = "仪表板:仪表板跳转")
+@ApiSupport(order = 171)
+@RestController
+@RequestMapping("linkJump")
+public class PanelLinkJumpController {
+
+ @Resource
+ private PanelLinkJumpService panelLinkJumpService;
+
+ @ApiOperation("根据视图ID获取对应表字段信息")
+ @GetMapping("/getTableFieldWithViewId/{viewId}")
+ public List getTableFieldWithViewId(@PathVariable String viewId){
+ return panelLinkJumpService.getViewFields(viewId);
+ }
+
+
+ @ApiOperation("根据仪表板ID和视图ID获取跳转信息")
+ @GetMapping("/queryWithViewId/{panelId}/{viewId}")
+ public PanelLinkJumpDTO queryWithViewId(@PathVariable String panelId, @PathVariable String viewId){
+ return panelLinkJumpService.queryWithView(panelId,viewId);
+ }
+
+ @ApiOperation("根据仪表板ID获取跳转信息")
+ @GetMapping("/queryPanelJumpInfo/{panelId}")
+ public PanelLinkJumpBaseResponse queryPanelJumpInfo(@PathVariable String panelId){
+ return panelLinkJumpService.queryPanelJumpInfo(panelId);
+ }
+
+ @ApiOperation("更新跳转信息")
+ @PostMapping("/updateJumpSet")
+ public void updateJumpSet(@RequestBody PanelLinkJumpDTO jumpDTO){
+ panelLinkJumpService.updateJumpSet(jumpDTO);
+ }
+
+ @ApiOperation("获取仪表板目标仪表板跳转联动信息")
+ @PostMapping("/queryTargetPanelJumpInfo")
+ public PanelLinkJumpBaseResponse queryTargetPanelJumpInfo(@RequestBody PanelLinkJumpBaseRequest request){
+ return panelLinkJumpService.queryTargetPanelJumpInfo(request);
+ }
+}
diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelViewController.java b/backend/src/main/java/io/dataease/controller/panel/PanelViewController.java
new file mode 100644
index 0000000000..075224a371
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/panel/PanelViewController.java
@@ -0,0 +1,39 @@
+package io.dataease.controller.panel;
+
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.dataease.base.domain.PanelGroup;
+import io.dataease.base.domain.PanelGroupWithBLOBs;
+import io.dataease.controller.handler.annotation.I18n;
+import io.dataease.controller.request.panel.PanelGroupRequest;
+import io.dataease.dto.chart.ChartViewDTO;
+import io.dataease.dto.panel.PanelGroupDTO;
+import io.dataease.dto.panel.PanelViewTableDTO;
+import io.dataease.service.panel.PanelGroupService;
+import io.dataease.service.panel.PanelViewService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Author: wangjiahao
+ * Date: 2021-03-05
+ * Description:
+ */
+@Api(tags = "仪表板:仪表板视图")
+@ApiSupport(order = 150)
+@RestController
+@RequestMapping("panel/view")
+public class PanelViewController {
+
+ @Resource
+ private PanelViewService panelViewService;
+
+ @ApiOperation("视图详细信息")
+ @GetMapping("/detailList/{panelId}")
+ public List detailList(@PathVariable String panelId) throws Exception {
+ return panelViewService.detailList(panelId);
+ }
+}
diff --git a/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java b/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java
index b37daef68e..0a8a294fe7 100644
--- a/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java
+++ b/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java
@@ -4,9 +4,7 @@ package io.dataease.controller.panel.api;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.controller.ResultHolder;
import io.dataease.controller.request.chart.ChartExtRequest;
-import io.dataease.controller.request.panel.link.EnablePwdRequest;
-import io.dataease.controller.request.panel.link.LinkRequest;
-import io.dataease.controller.request.panel.link.PasswordRequest;
+import io.dataease.controller.request.panel.link.*;
import io.dataease.dto.panel.link.GenerateDto;
import io.dataease.dto.panel.link.ValidateDto;
import io.swagger.annotations.Api;
@@ -29,6 +27,10 @@ public interface LinkApi {
@PostMapping("/enablePwd")
void enablePwd(EnablePwdRequest request);
+ @ApiOperation("过期时间")
+ @PostMapping("/resetOverTime")
+ void resetOverTime(OverTimeRequest request);
+
@ApiOperation("启用/禁用链接分享")
@PostMapping("/switchLink")
void switchLink(LinkRequest request);
@@ -39,7 +41,7 @@ public interface LinkApi {
@ApiOperation("验证访问")
@PostMapping("/validate")
- ValidateDto validate(Map param) throws Exception;
+ ValidateDto validate(LinkValidateRequest request) throws Exception;
@ApiOperation("验证密码")
@PostMapping("/validatePwd")
@@ -55,5 +57,5 @@ public interface LinkApi {
@ApiOperation("压缩链接")
@PostMapping("/shortUrl")
- ResultHolder shortUrl(@RequestBody Map param);
+ String shortUrl(@RequestBody Map param);
}
diff --git a/backend/src/main/java/io/dataease/controller/panel/api/ShareApi.java b/backend/src/main/java/io/dataease/controller/panel/api/ShareApi.java
index a01dcd4b7e..56fcf31b51 100644
--- a/backend/src/main/java/io/dataease/controller/panel/api/ShareApi.java
+++ b/backend/src/main/java/io/dataease/controller/panel/api/ShareApi.java
@@ -3,11 +3,16 @@ package io.dataease.controller.panel.api;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.PanelShare;
import io.dataease.controller.request.panel.PanelShareFineDto;
+import io.dataease.controller.request.panel.PanelShareRemoveRequest;
import io.dataease.controller.request.panel.PanelShareRequest;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.dto.panel.PanelShareDto;
+import io.dataease.dto.panel.PanelShareOutDTO;
+import io.dataease.dto.panel.PanelSharePo;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import springfox.documentation.annotations.ApiIgnore;
@@ -22,22 +27,38 @@ import java.util.List;
@RequestMapping("/api/share")
public interface ShareApi {
- @ApiIgnore
+ /*@ApiIgnore
@PostMapping("/")
- void share(PanelShareRequest request);
+ void share(PanelShareRequest request);*/
- @ApiOperation("查询分享")
+ @ApiOperation("查询分享给我")
@PostMapping("/treeList")
List treeList(BaseGridRequest request);
+ @ApiOperation("查询我分享的")
+ @PostMapping("/shareOut")
+ List shareOut();
+
+
@ApiOperation("根据资源查询分享")
@PostMapping("/queryWithResourceId")
List queryWithResourceId(BaseGridRequest request);
+ @ApiOperation("查询分享目标")
+ @PostMapping("/queryTargets/{panelId}")
+ @ApiImplicitParam(paramType = "path", value = "仪表板ID", name = "panelId", required = true, dataType = "String")
+ List queryTargets(@PathVariable("panelId") String panelId);
+
@ApiOperation("创建分享")
@PostMapping("/fineSave")
void fineSave(PanelShareFineDto panelShareFineDto);
+
+
+ @ApiOperation("删除分享")
+ @PostMapping("/removeShares")
+ void removeShares(PanelShareRemoveRequest request);
+
}
diff --git a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java
index cd63ab3b2b..cc6cb1c332 100644
--- a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java
+++ b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java
@@ -1,15 +1,11 @@
package io.dataease.controller.panel.server;
-import com.google.gson.Gson;
import io.dataease.base.domain.PanelLink;
import io.dataease.controller.ResultHolder;
import io.dataease.controller.panel.api.LinkApi;
import io.dataease.controller.request.chart.ChartExtRequest;
-import io.dataease.controller.request.panel.link.EnablePwdRequest;
-import io.dataease.controller.request.panel.link.LinkRequest;
-import io.dataease.controller.request.panel.link.PasswordRequest;
-import io.dataease.controller.request.panel.link.ValidateRequest;
+import io.dataease.controller.request.panel.link.*;
import io.dataease.dto.panel.link.GenerateDto;
import io.dataease.dto.panel.link.ValidateDto;
import io.dataease.service.chart.ChartViewService;
@@ -46,6 +42,14 @@ public class LinkServer implements LinkApi {
panelLinkService.changeEnablePwd(request);
}
+
+
+ @Override
+ public void resetOverTime(@RequestBody OverTimeRequest request) {
+ panelLinkService.overTime(request);
+
+ }
+
@Override
public void switchLink(@RequestBody LinkRequest request) {
panelLinkService.changeValid(request);
@@ -57,14 +61,13 @@ public class LinkServer implements LinkApi {
}
@Override
- public ValidateDto validate(@RequestBody Map param) throws Exception{
- String link = param.get("link");
+ public ValidateDto validate(@RequestBody LinkValidateRequest request) throws Exception{
+ String link = request.getLink();
String json = panelLinkService.decryptParam(link);
- Gson gson = new Gson();
- ValidateRequest request = gson.fromJson(json, ValidateRequest.class);
ValidateDto dto = new ValidateDto();
- String resourceId = request.getResourceId();
+ String resourceId = json;
+ /* String resourceId = request.getResourceId(); */
PanelLink one = panelLinkService.findOne(resourceId);
dto.setResourceId(resourceId);
if (ObjectUtils.isEmpty(one)){
@@ -74,6 +77,7 @@ public class LinkServer implements LinkApi {
dto.setValid(one.getValid());
dto.setEnablePwd(one.getEnablePwd());
dto.setPassPwd(panelLinkService.validateHeads(one));
+ dto.setExpire(panelLinkService.isExpire(one));
return dto;
}
@@ -92,9 +96,15 @@ public class LinkServer implements LinkApi {
return chartViewService.getData(viewId, requestList);
}
- @Override
+ /*@Override
public ResultHolder shortUrl(Map param) {
String url = param.get("url");
return panelLinkService.getShortUrl(url);
+ }*/
+
+ @Override
+ public String shortUrl(Map param) {
+ String resourceId = param.get("resourceId");
+ return panelLinkService.getShortUrl(resourceId);
}
}
diff --git a/backend/src/main/java/io/dataease/controller/panel/server/ShareServer.java b/backend/src/main/java/io/dataease/controller/panel/server/ShareServer.java
index af2bacbd2a..abb4b521a9 100644
--- a/backend/src/main/java/io/dataease/controller/panel/server/ShareServer.java
+++ b/backend/src/main/java/io/dataease/controller/panel/server/ShareServer.java
@@ -3,10 +3,14 @@ package io.dataease.controller.panel.server;
import io.dataease.base.domain.PanelShare;
import io.dataease.controller.panel.api.ShareApi;
import io.dataease.controller.request.panel.PanelShareFineDto;
+import io.dataease.controller.request.panel.PanelShareRemoveRequest;
import io.dataease.controller.request.panel.PanelShareRequest;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.dto.panel.PanelShareDto;
+import io.dataease.dto.panel.PanelShareOutDTO;
+import io.dataease.dto.panel.PanelSharePo;
import io.dataease.service.panel.ShareService;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@@ -18,26 +22,40 @@ public class ShareServer implements ShareApi {
@Resource
private ShareService shareService;
- @Override
+ /*@Override
public void share(@RequestBody PanelShareRequest request) {
shareService.save(request);
- }
+ }*/
@Override
public List treeList(@RequestBody BaseGridRequest request) {
return shareService.queryTree(request);
}
+ @Override
+ public List shareOut() {
+ return shareService.queryShareOut();
+ }
@Override
public List queryWithResourceId(@RequestBody BaseGridRequest request) {
return shareService.queryWithResource(request);
}
+ @Override
+ public List queryTargets(@PathVariable("panelId") String panelId) {
+ return shareService.queryTargets(panelId);
+ }
+
@Override
public void fineSave(@RequestBody PanelShareFineDto panelShareFineDto) {
shareService.fineSave(panelShareFineDto);
}
+
+ @Override
+ public void removeShares(@RequestBody PanelShareRemoveRequest request) {
+ shareService.removeShares(request);
+ }
}
diff --git a/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java b/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java
new file mode 100644
index 0000000000..8dd21f144f
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java
@@ -0,0 +1,17 @@
+package io.dataease.controller.request.chart;
+
+import io.dataease.base.domain.ChartViewWithBLOBs;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author gin
+ * @Date 2021/11/10 11:27 上午
+ */
+@Data
+public class ChartCalRequest {
+ @ApiModelProperty("视图")
+ private ChartViewWithBLOBs view;
+ @ApiModelProperty("额外请求参数")
+ private ChartExtRequest requestList;
+}
diff --git a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java
index c2a774ff0b..85fae8e129 100644
--- a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java
+++ b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetTableRequest.java
@@ -1,7 +1,7 @@
package io.dataease.controller.request.dataset;
import io.dataease.base.domain.DatasetTable;
-import io.dataease.datasource.dto.TableFiled;
+import io.dataease.dto.datasource.TableFiled;
import io.dataease.dto.dataset.ExcelSheetData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
diff --git a/backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java b/backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java
similarity index 89%
rename from backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java
rename to backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java
index ebf237e3fd..c9946341c5 100644
--- a/backend/src/main/java/io/dataease/datasource/request/DatasourceRequest.java
+++ b/backend/src/main/java/io/dataease/controller/request/datasource/DatasourceRequest.java
@@ -1,4 +1,4 @@
-package io.dataease.datasource.request;
+package io.dataease.controller.request.datasource;
import io.dataease.base.domain.Datasource;
import lombok.Getter;
diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java
similarity index 90%
rename from backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java
rename to backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java
index d40f214d53..f185e9bf19 100644
--- a/backend/src/main/java/io/dataease/datasource/dto/es/EsReponse.java
+++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/EsReponse.java
@@ -1,4 +1,4 @@
-package io.dataease.datasource.dto.es;
+package io.dataease.controller.request.datasource.es;
import lombok.Data;
diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/Requst.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java
similarity index 68%
rename from backend/src/main/java/io/dataease/datasource/dto/es/Requst.java
rename to backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java
index 1e0bb8a608..f63cdc53b8 100644
--- a/backend/src/main/java/io/dataease/datasource/dto/es/Requst.java
+++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/Requst.java
@@ -1,4 +1,4 @@
-package io.dataease.datasource.dto.es;
+package io.dataease.controller.request.datasource.es;
import lombok.Data;
diff --git a/backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java b/backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java
similarity index 65%
rename from backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java
rename to backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java
index cb79c3460e..eebd503d5d 100644
--- a/backend/src/main/java/io/dataease/datasource/dto/es/RequstWithCursor.java
+++ b/backend/src/main/java/io/dataease/controller/request/datasource/es/RequstWithCursor.java
@@ -1,4 +1,4 @@
-package io.dataease.datasource.dto.es;
+package io.dataease.controller.request.datasource.es;
import lombok.Data;
diff --git a/backend/src/main/java/io/dataease/controller/request/panel/PanelShareRemoveRequest.java b/backend/src/main/java/io/dataease/controller/request/panel/PanelShareRemoveRequest.java
new file mode 100644
index 0000000000..595b194ec2
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/request/panel/PanelShareRemoveRequest.java
@@ -0,0 +1,18 @@
+package io.dataease.controller.request.panel;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("取消分享参数")
+public class PanelShareRemoveRequest implements Serializable {
+
+ @ApiModelProperty("仪表板ID")
+ private String panelId;
+
+ @ApiModelProperty("分享ID")
+ private String shareId;
+}
diff --git a/backend/src/main/java/io/dataease/controller/request/panel/link/LinkValidateRequest.java b/backend/src/main/java/io/dataease/controller/request/panel/link/LinkValidateRequest.java
new file mode 100644
index 0000000000..8ad50df34f
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/request/panel/link/LinkValidateRequest.java
@@ -0,0 +1,11 @@
+package io.dataease.controller.request.panel.link;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class LinkValidateRequest implements Serializable {
+
+ private String link;
+}
diff --git a/backend/src/main/java/io/dataease/controller/request/panel/link/OverTimeRequest.java b/backend/src/main/java/io/dataease/controller/request/panel/link/OverTimeRequest.java
new file mode 100644
index 0000000000..47545b0845
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/request/panel/link/OverTimeRequest.java
@@ -0,0 +1,19 @@
+package io.dataease.controller.request.panel.link;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+@Data
+@Getter
+@Setter
+public class OverTimeRequest {
+
+ @ApiModelProperty("资源ID")
+ private String resourceId;
+
+ @ApiModelProperty("过期时间")
+ private Long overTime;
+
+}
diff --git a/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java b/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java
new file mode 100644
index 0000000000..f8ffcc9957
--- /dev/null
+++ b/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java
@@ -0,0 +1,15 @@
+package io.dataease.controller.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+
+@ApiModel("已同步用户")
+public class ExistLdapUser {
+
+ @ApiModelProperty("账号")
+ private String username;
+
+}
diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java
index b100aea861..eddcc18bda 100644
--- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java
+++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java
@@ -23,6 +23,8 @@ import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
@Api(tags = "系统:消息管理")
@ApiSupport(order = 230)
@@ -35,6 +37,11 @@ public class MsgController {
@ApiOperation("分页查询")
@PostMapping("/list/{goPage}/{pageSize}")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
+ @ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
+ @ApiImplicitParam(name = "msgRequest", value = "查询条件", required = true)
+ })
public Pager> messages(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody MsgRequest msgRequest) {
Long userId = AuthUtils.getUser().getUserId();
List typeIds = null;
@@ -42,23 +49,26 @@ public class MsgController {
List sysMsgTypes = sysMsgService.queryMsgTypes();
typeIds = sysMsgTypes.stream().filter(sysMsgType -> msgRequest.getType() == sysMsgType.getPid()).map(SysMsgType::getMsgTypeId).collect(Collectors.toList());
}
+ Long overTime = sysMsgService.overTime();
Page