diff --git a/README.md b/README.md
index 88e71059b3..23b8992d1b 100644
--- a/README.md
+++ b/README.md
@@ -90,7 +90,7 @@ curl -sSL https://dataease.oss-cn-hangzhou.aliyuncs.com/quick_start.sh | sh
**加入微信交流群**
-
+
## DataEase 的技术栈
diff --git a/backend/pom.xml b/backend/pom.xml
index 26483f8851..a4dfbe8c94 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -185,7 +185,7 @@
org.testng
testng
- 6.8
+ 7.7.0
test
diff --git a/backend/src/main/java/io/dataease/auth/aop/SqlInjectAop.java b/backend/src/main/java/io/dataease/auth/aop/SqlInjectAop.java
index 56f92e2633..add12ab202 100644
--- a/backend/src/main/java/io/dataease/auth/aop/SqlInjectAop.java
+++ b/backend/src/main/java/io/dataease/auth/aop/SqlInjectAop.java
@@ -46,7 +46,7 @@ public class SqlInjectAop {
String[] value = annotation.value();
boolean illegal = isIllegal(value, request.getOrders());
if (illegal) {
- DEException.throwException("Illegal order exp");
+ DEException.throwException("Illegal sort exp");
}
return point.proceed(args);
} catch (Throwable e) {
diff --git a/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java
index 3e5ac7f497..a06787bd9e 100644
--- a/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java
+++ b/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java
@@ -1,15 +1,15 @@
package io.dataease.controller.sys.request;
+import io.dataease.controller.sys.base.BaseGridRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
-import java.util.List;
@Data
@ApiModel("消息条件")
-public class MsgRequest implements Serializable {
+public class MsgRequest extends BaseGridRequest implements Serializable {
private static final long serialVersionUID = 1920091635946508658L;
@@ -19,6 +19,4 @@ public class MsgRequest implements Serializable {
@ApiModelProperty("是否订阅")
private Boolean status;
- @ApiModelProperty("排序描述")
- private List orders;
}
diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
index 259169b614..cd9ff9f1b8 100644
--- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
+++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java
@@ -4,9 +4,12 @@ import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource;
import io.dataease.commons.utils.TableUtils;
import io.dataease.provider.DDLProviderImpl;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
+import java.util.Arrays;
import java.util.List;
+import java.util.UUID;
/**
* @Author gin
@@ -25,6 +28,30 @@ public class MysqlDDLProvider extends DDLProviderImpl {
return "CREATE or replace view " + name + " AS (" + viewSQL + ")";
}
+ @Override
+ public String insertSql(String name, List dataList, int page, int pageNumber) {
+ String insertSql = "INSERT INTO TABLE_NAME VALUES ".replace("TABLE_NAME", name);
+ StringBuffer values = new StringBuffer();
+
+ Integer realSize = page * pageNumber < dataList.size() ? page * pageNumber : dataList.size();
+ for (String[] strings : dataList.subList((page - 1) * pageNumber, realSize)) {
+ String[] strings1 = new String[strings.length];
+ for (int i = 0; i < strings.length; i++) {
+ if (StringUtils.isEmpty(strings[i])) {
+ strings1[i] = null;
+ } else {
+ strings1[i] = strings[i].replace("'", "\\'");
+ }
+ }
+ values.append("('").append(UUID.randomUUID())
+ .append("','").append(String.join("','", Arrays.asList(strings1)))
+ .append("'),");
+ }
+ return (insertSql + values.substring(0, values.length() - 1)).replaceAll(",'null'", ",null");
+ }
+
+
+
@Override
public String dropTable(String name) {
return "DROP TABLE IF EXISTS " + name;
@@ -67,7 +94,7 @@ public class MysqlDDLProvider extends DDLProviderImpl {
}
break;
case 2:
- Column_Fields.append("varchar(100)").append(",`");
+ Column_Fields.append("bigint(20)").append(",`");
break;
case 3:
Column_Fields.append("varchar(100)").append(",`");
diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
index e56116cbad..70da2f8f21 100644
--- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
+++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java
@@ -882,7 +882,7 @@ public class ChartViewService {
Map dimValMap = head.getDimensionList().stream().collect(Collectors.toMap(ChartDimensionDTO::getId, ChartDimensionDTO::getValue));
Map fieldMap = Stream.of(xAxisBase, xAxisExt, extStack).
flatMap(Collection::stream).
- collect(Collectors.toMap(ChartViewFieldDTO::getId, o -> o));
+ collect(Collectors.toMap(ChartViewFieldDTO::getId, o -> o, ((p, n) -> p)));
for (int i = 0; i < drillRequestList.size(); i++) {
ChartDrillRequest request = drillRequestList.get(i);
ChartViewFieldDTO chartViewFieldDTO = drill.get(i);
@@ -893,6 +893,7 @@ public class ChartViewService {
fieldsToFilter.add(chartViewFieldDTO);
dimValMap.put(requestDimension.getId(), requestDimension.getValue());
if (!checkDrillExist(xAxis, extStack, requestDimension.getId(), view)) {
+ fieldMap.put(chartViewFieldDTO.getId(), chartViewFieldDTO);
xAxis.add(chartViewFieldDTO);
}
if (i == drillRequestList.size() - 1) {
diff --git a/frontend/src/views/dataset/add/AddSQL.vue b/frontend/src/views/dataset/add/AddSQL.vue
index a5860f5e15..3bdb286885 100644
--- a/frontend/src/views/dataset/add/AddSQL.vue
+++ b/frontend/src/views/dataset/add/AddSQL.vue
@@ -927,7 +927,6 @@ export default {
).sql
}
this.variables = JSON.parse(table.sqlVariableDetails)
- this.getSQLPreview()
})
}
},