diff --git a/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 1a9037c5cf..309258a8f2 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/core/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -1136,10 +1136,10 @@ public class ChartDataBuild { } else { switch (columnPermissionItem.getDesensitizationRule().getCustomBuiltInRule()) { case RetainBeforeMAndAfterN: - if (StringUtils.isEmpty(originStr) || originStr.length() <= columnPermissionItem.getDesensitizationRule().getM() + columnPermissionItem.getDesensitizationRule().getN() + 1) { + if (StringUtils.isEmpty(originStr) || originStr.length() < columnPermissionItem.getDesensitizationRule().getM() + columnPermissionItem.getDesensitizationRule().getN()) { desensitizationStr = String.join("", Collections.nCopies(columnPermissionItem.getDesensitizationRule().getM(), "X")) + "***" + String.join("", Collections.nCopies(columnPermissionItem.getDesensitizationRule().getN(), "X")); } else { - desensitizationStr = StringUtils.substring(originStr, 0, columnPermissionItem.getDesensitizationRule().getM()) + "***" + StringUtils.substring(originStr, originStr.length() - columnPermissionItem.getDesensitizationRule().getN() - 1, originStr.length()); + desensitizationStr = StringUtils.substring(originStr, 0, columnPermissionItem.getDesensitizationRule().getM()) + "***" + StringUtils.substring(originStr, originStr.length() - columnPermissionItem.getDesensitizationRule().getN(), originStr.length()); } break; case RetainMToN: diff --git a/core/backend/src/main/java/io/dataease/service/exportCenter/ExportCenterService.java b/core/backend/src/main/java/io/dataease/service/exportCenter/ExportCenterService.java index c737282731..943dd4f24f 100644 --- a/core/backend/src/main/java/io/dataease/service/exportCenter/ExportCenterService.java +++ b/core/backend/src/main/java/io/dataease/service/exportCenter/ExportCenterService.java @@ -1,6 +1,7 @@ package io.dataease.service.exportCenter; import com.google.gson.Gson; +import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.commons.constants.ParamConstants; import io.dataease.commons.constants.SysLogConstants; import io.dataease.commons.utils.*; @@ -50,6 +51,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; @@ -362,7 +364,8 @@ public class ExportCenterService { public void addTask(String exportFrom, String exportFromType, PanelViewDetailsRequest request) { ExportTask exportTask = new ExportTask(); exportTask.setId(UUID.randomUUID().toString()); - exportTask.setUserId(AuthUtils.getUser().getUserId()); + CurrentUserDto u = (CurrentUserDto) SecurityUtils.getSubject().getPrincipal(); + exportTask.setUserId(u.getUserId()); exportTask.setExportFrom(exportFrom); exportTask.setExportFromType(exportFromType); exportTask.setExportStatus("PENDING");