diff --git a/backend/src/main/java/io/dataease/ext/ExtSysMsgMapper.java b/backend/src/main/java/io/dataease/ext/ExtSysMsgMapper.java
index 45e48f0f66..efc5ad7b23 100644
--- a/backend/src/main/java/io/dataease/ext/ExtSysMsgMapper.java
+++ b/backend/src/main/java/io/dataease/ext/ExtSysMsgMapper.java
@@ -19,9 +19,10 @@ public interface ExtSysMsgMapper {
"",
" #{msgId}",
"",
+ " and user_id = #{uid}",
""
})
- int batchStatus(@Param("msgIds") List msgIds, @Param("time") Long time);
+ int batchStatus(@Param("msgIds") List msgIds, @Param("time") Long time, @Param("uid") Long uid);
@Delete({
""
})
- int batchDelete(@Param("msgIds") List msgIds);
+ int batchDelete(@Param("msgIds") List msgIds, @Param("uid") Long uid);
int batchInsert(@Param("settings") List settings);
diff --git a/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java b/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java
index 3f38ea5a4f..ba3447052f 100644
--- a/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java
+++ b/backend/src/main/java/io/dataease/plugins/server/XEmailTaskServer.java
@@ -18,6 +18,7 @@ import io.dataease.plugins.common.entity.XpackConditionEntity;
import io.dataease.plugins.common.entity.XpackGridRequest;
import io.dataease.plugins.config.SpringContextUtil;
import io.dataease.plugins.xpack.email.dto.request.*;
+import io.dataease.plugins.xpack.email.dto.response.XpackTaskEntity;
import io.dataease.plugins.xpack.email.dto.response.XpackTaskGridDTO;
import io.dataease.plugins.xpack.email.dto.response.XpackTaskInstanceDTO;
import io.dataease.plugins.xpack.email.service.EmailXpackService;
@@ -35,6 +36,9 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.util.HtmlUtils;
import springfox.documentation.annotations.ApiIgnore;
+import javax.annotation.Resource;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
@@ -43,10 +47,6 @@ import java.util.List;
import java.util.concurrent.Future;
import java.util.stream.Collectors;
-import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-
@ApiIgnore
@RequestMapping("/plugin/task")
@RestController
@@ -108,8 +108,8 @@ public class XEmailTaskServer {
@PostMapping("/fireNow/{taskId}")
public void fireNow(@PathVariable("taskId") Long taskId) throws Exception {
EmailXpackService emailXpackService = SpringContextUtil.getBean(EmailXpackService.class);
- XpackEmailTaskRequest request = emailXpackService.taskForm(taskId);
- GlobalTaskEntity globalTaskEntity = BeanUtils.copyBean(new GlobalTaskEntity(), request);
+ XpackTaskEntity xpackTaskEntity = emailXpackService.taskDetail(taskId);
+ GlobalTaskEntity globalTaskEntity = BeanUtils.copyBean(new GlobalTaskEntity(), xpackTaskEntity);
Boolean invalid = false;
if (CronUtils.taskExpire(globalTaskEntity.getEndTime())) {
globalTaskEntity.setEndTime(null);
diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java
index 2aea2a0317..2581ceb3d9 100644
--- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java
+++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java
@@ -657,8 +657,8 @@ public class JdbcProvider extends DefaultJdbcProvider {
if (StringUtils.isEmpty(oracleConfiguration.getSchema())) {
throw new Exception(Translator.get("i18n_schema_is_empty"));
}
- return "select table_name, owner, comments from all_tab_comments where owner='OWNER' AND table_type = 'TABLE' AND table_name in (select table_name from all_tables where owner='OWNER')".replaceAll("OWNER", oracleConfiguration.getSchema());
- case pg:
+ return "select table_name, owner, comments from all_tab_comments where owner='" + oracleConfiguration.getSchema() + "' AND table_type = 'TABLE'";
+ case pg:
PgConfiguration pgConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), PgConfiguration.class);
if (StringUtils.isEmpty(pgConfiguration.getSchema())) {
throw new Exception(Translator.get("i18n_schema_is_empty"));
diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java
index 0d6dadd22a..381c3d1e17 100644
--- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java
+++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java
@@ -1,16 +1,16 @@
package io.dataease.service.message;
-import io.dataease.commons.utils.LogUtil;
-import io.dataease.ext.ExtSysMsgMapper;
import io.dataease.commons.constants.SysMsgConstants;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.CommonBeanFactory;
+import io.dataease.commons.utils.LogUtil;
import io.dataease.controller.sys.request.BatchSettingRequest;
import io.dataease.controller.sys.request.MsgRequest;
import io.dataease.controller.sys.request.MsgSettingRequest;
import io.dataease.controller.sys.response.MsgGridDto;
import io.dataease.controller.sys.response.SettingTreeNode;
import io.dataease.controller.sys.response.SubscribeNode;
+import io.dataease.ext.ExtSysMsgMapper;
import io.dataease.plugins.common.base.domain.*;
import io.dataease.plugins.common.base.mapper.SysMsgChannelMapper;
import io.dataease.plugins.common.base.mapper.SysMsgMapper;
@@ -105,11 +105,11 @@ public class SysMsgService {
}
public void setBatchRead(List msgIds) {
- extSysMsgMapper.batchStatus(msgIds, System.currentTimeMillis());
+ extSysMsgMapper.batchStatus(msgIds, System.currentTimeMillis(), AuthUtils.getUser().getUserId());
}
public void batchDelete(List msgIds) {
- extSysMsgMapper.batchDelete(msgIds);
+ extSysMsgMapper.batchDelete(msgIds, AuthUtils.getUser().getUserId());
}
public void save(SysMsg sysMsg) {
diff --git a/frontend/src/components/canvas/components/editor/SettingMenu.vue b/frontend/src/components/canvas/components/editor/SettingMenu.vue
index c8d946f59a..2df0ee17ee 100644
--- a/frontend/src/components/canvas/components/editor/SettingMenu.vue
+++ b/frontend/src/components/canvas/components/editor/SettingMenu.vue
@@ -193,7 +193,8 @@ export default {
'text',
'label',
'word-cloud',
- 'flow-map'
+ 'flow-map',
+ 'bidirectional-bar'
],
linkageExcludeViewType: [
'richTextView',
@@ -202,7 +203,8 @@ export default {
'text',
'label',
'word-cloud',
- 'flow-map'
+ 'flow-map',
+ 'bidirectional-bar'
],
copyData: null,
hyperlinksSetVisible: false,
diff --git a/frontend/src/views/chart/chart/bar/bar_antv.js b/frontend/src/views/chart/chart/bar/bar_antv.js
index ddd0e33509..e5fdeeddf6 100644
--- a/frontend/src/views/chart/chart/bar/bar_antv.js
+++ b/frontend/src/views/chart/chart/bar/bar_antv.js
@@ -251,6 +251,8 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i
const legend = getLegend(chart)
const xAxis = getXAxis(chart)
const yAxis = getYAxis(chart)
+ // 处理横轴标题方向不对
+ yAxis?.title && (yAxis.title.autoRotate = false)
// data
const data = _.cloneDeep(chart.data.data)
// options
@@ -280,12 +282,6 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i
start: [{ trigger: 'legend-item:click', action: ['list-unchecked:toggle', 'data-filter:filter', 'element-active:reset', 'element-highlight:reset'] }]
}
},
- {
- type: 'tooltip', cfg: {
- start: [{ trigger: 'interval:mousemove', action: 'tooltip:show' }],
- end: [{ trigger: 'interval:mouseleave', action: 'tooltip:hide' }]
- }
- },
{
type: 'active-region', cfg: {
start: [{ trigger: 'interval:mousemove', action: 'active-region:show' }],
@@ -307,19 +303,6 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i
}
}
}
- // group
- if (isGroup) {
- options.isGroup = true
- } else {
- delete options.isGroup
- }
- // stack
- if (isStack) {
- options.isStack = true
- } else {
- delete options.isStack
- }
- options.isPercent = chart.type.includes('percentage')
// custom color
options.color = antVCustomColor(chart)
if (customAttr.color.gradient) {
diff --git a/frontend/src/views/chart/chart/common/common_antv.js b/frontend/src/views/chart/chart/common/common_antv.js
index e0c1c8da8e..b8f34903dc 100644
--- a/frontend/src/views/chart/chart/common/common_antv.js
+++ b/frontend/src/views/chart/chart/common/common_antv.js
@@ -712,8 +712,8 @@ export function getYAxis(chart) {
const axisValue = a.axisValue
if (!chart.type.includes('horizontal')) {
if (axisValue && !axisValue.auto) {
- axisValue.min && (axis.minLimit = parseFloat(axisValue.min))
- axisValue.max && (axis.maxLimit = parseFloat(axisValue.max))
+ axisValue.min && (axis.minLimit = axis.min = parseFloat(axisValue.min))
+ axisValue.max && (axis.maxLimit = axis.max = parseFloat(axisValue.max))
axisValue.splitCount && (axis.tickCount = parseFloat(axisValue.splitCount))
}
}