diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java
index e141cc1b62..4220d88dfc 100644
--- a/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java
+++ b/backend/src/main/java/io/dataease/auth/service/impl/ExtAuthServiceImpl.java
@@ -2,7 +2,6 @@ package io.dataease.auth.service.impl;
import io.dataease.auth.service.ExtAuthService;
import io.dataease.base.domain.SysAuth;
-import io.dataease.base.domain.SysAuthExample;
import io.dataease.base.mapper.SysAuthMapper;
import io.dataease.base.mapper.ext.ExtAuthMapper;
import io.dataease.commons.model.AuthURD;
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 68c20a92f2..8ebf604a00 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
@@ -45,6 +45,8 @@ public class ShiroServiceImpl implements ShiroService {
//验证链接
filterChainDefinitionMap.put("/api/link/validate**", ANON);
filterChainDefinitionMap.put("/api/map/areaEntitys/**", ANON);
+ //未读消息数量
+ filterChainDefinitionMap.put("/api/sys_msg/unReadCount", ANON);
filterChainDefinitionMap.put("/**/*.json", ANON);
filterChainDefinitionMap.put("/system/ui/**", ANON);
diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java
deleted file mode 100644
index 6bb998b724..0000000000
--- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package io.dataease.base.mapper.ext;
-
-public interface ExtBaseMapper {
-}
diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml
deleted file mode 100644
index 72123155c8..0000000000
--- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtBaseMapper.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
- order by
-
- ${order.name} ${order.type}
-
-
-
-
-
-
-
- like CONCAT('%', #{${object}.value},'%')
-
-
- not like CONCAT('%', #{${object}.value},'%')
-
-
- in
-
- #{v}
-
-
-
- not in
-
- #{v}
-
-
-
- between #{${object}.value[0]} and #{${object}.value[1]}
-
-
- > #{${object}.value}
-
-
- < #{${object}.value}
-
-
- >= #{${object}.value}
-
-
- <= #{${object}.value}
-
-
- = '${@io.metersphere.commons.utils.SessionUtils@getUserId()}'
-
-
- = #{${object}.value}
-
-
-
-
-
diff --git a/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java b/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java
index 4bdea0e469..7e3c5ef7aa 100644
--- a/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java
+++ b/backend/src/main/java/io/dataease/commons/utils/CodingUtil.java
@@ -7,7 +7,6 @@ import javax.crypto.*;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.MessageDigest;
-import java.util.UUID;
/**
* 加密解密工具
diff --git a/backend/src/main/java/io/dataease/commons/utils/FileUtils.java b/backend/src/main/java/io/dataease/commons/utils/FileUtils.java
deleted file mode 100644
index e76b24c687..0000000000
--- a/backend/src/main/java/io/dataease/commons/utils/FileUtils.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package io.dataease.commons.utils;
-
-import io.dataease.commons.exception.DEException;
-import io.dataease.i18n.Translator;
-import org.apache.commons.collections4.CollectionUtils;
-import org.aspectj.util.FileUtil;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.*;
-import java.util.List;
-
-public class FileUtils {
- private static final String BODY_FILE_DIR = "/opt/metersphere/data/body";
-
- public static void createBodyFiles(List bodyUploadIds, List bodyFiles) {
- if (CollectionUtils.isNotEmpty(bodyUploadIds) && CollectionUtils.isNotEmpty(bodyFiles)) {
- File testDir = new File(BODY_FILE_DIR);
- if (!testDir.exists()) {
- testDir.mkdirs();
- }
- for (int i = 0; i < bodyUploadIds.size(); i++) {
- MultipartFile item = bodyFiles.get(i);
- File file = new File(BODY_FILE_DIR + "/" + bodyUploadIds.get(i) + "_" + item.getOriginalFilename());
- try (InputStream in = item.getInputStream(); OutputStream out = new FileOutputStream(file)) {
- file.createNewFile();
- FileUtil.copyStream(in, out);
- } catch (IOException e) {
- LogUtil.error(e);
- DEException.throwException(Translator.get("upload_fail"));
- }
- }
- }
- }
-}
diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java
index 19c83d007f..70febde13c 100644
--- a/backend/src/main/java/io/dataease/controller/IndexController.java
+++ b/backend/src/main/java/io/dataease/controller/IndexController.java
@@ -2,7 +2,6 @@ package io.dataease.controller;
import io.dataease.commons.license.DefaultLicenseService;
import io.dataease.commons.license.F2CLicenseResponse;
-import io.dataease.exception.DataEaseException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
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 5b50abc369..18bfca1765 100644
--- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
+++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java
@@ -5,9 +5,7 @@ import io.dataease.base.domain.ChartViewWithBLOBs;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.controller.request.chart.ChartExtRequest;
import io.dataease.controller.request.chart.ChartViewRequest;
-import io.dataease.controller.request.dataset.DataSetTableRequest;
import io.dataease.dto.chart.ChartViewDTO;
-import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.service.chart.ChartViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
diff --git a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java
index 430fb22f1c..7009e07eba 100644
--- a/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java
+++ b/backend/src/main/java/io/dataease/controller/request/dataset/DataSetGroupRequest.java
@@ -3,7 +3,6 @@ package io.dataease.controller.request.dataset;
import io.dataease.base.domain.DatasetGroup;
import lombok.Data;
-import java.util.List;
import java.util.Set;
/**
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 1b4ce8bc8f..729edbae37 100644
--- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java
+++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java
@@ -6,6 +6,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.base.domain.SysMsgChannel;
import io.dataease.base.domain.SysMsgSetting;
import io.dataease.base.domain.SysMsgType;
+import io.dataease.commons.exception.DEException;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
@@ -21,6 +22,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
@Api(tags = "系统:消息管理")
@@ -46,6 +48,16 @@ public class MsgController {
return listPager;
}
+ @ApiOperation("查询未读数量")
+ @PostMapping("/unReadCount")
+ public Long unReadCount(@RequestBody Map request) {
+ if(null == request || null == request.get("userId")) {
+ throw new RuntimeException("缺少用户ID");
+ }
+ Long userId = request.get("userId");
+ return sysMsgService.queryCount(userId);
+ }
+
@ApiOperation("设置已读")
@PostMapping("/setReaded/{msgId}")
public void setReaded(@PathVariable Long msgId) {
diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
index daf98f1796..0a1052f787 100644
--- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
+++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
@@ -5,6 +5,7 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.auth.api.dto.CurrentUserDto;
+import io.dataease.base.domain.SysRole;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
@@ -116,4 +117,14 @@ public class SysUserController {
public List all(){
return sysRoleService.allRoles();
}
+
+
+
+ @ApiOperation("查询角色")
+ @PostMapping("/roleGrid/{goPage}/{pageSize}")
+ public Pager> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) {
+ Page