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)) } }