Browse Source

增加角色枚举类

chenw 6 years ago
parent
commit
71894ae8f7

+ 2 - 1
bi-auth/src/main/java/com/usoftchina/bi/auth/interceptor/SecurityInterceptor.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.usoftchina.bi.auth.annotation.Auth;
 import com.usoftchina.bi.core.base.RepCode;
 import com.usoftchina.bi.core.base.RepEntity;
+import com.usoftchina.bi.core.base.RoleConstant;
 import com.usoftchina.bi.core.utils.GetTokenDataUtil;
 import com.usoftchina.bi.core.utils.JsonUtils;
 import org.slf4j.Logger;
@@ -48,7 +49,7 @@ public class SecurityInterceptor implements HandlerInterceptor {
         Map<String, String> resultMap = GetTokenDataUtil.getTokenData(token);
         logger.info("authRole={},userRole={}", admin, resultMap.get("role"));
         //超级管理员跳过认证
-        if ("superAdmin".equals(resultMap.get("role"))) {
+        if (RoleConstant.SUPER_ADMIN.getRole().equals(resultMap.get("role"))) {
             return true;
         }
         if (!admin.equals(resultMap.get("role"))) {

+ 33 - 0
bi-core/src/main/java/com/usoftchina/bi/core/base/RoleConstant.java

@@ -0,0 +1,33 @@
+package com.usoftchina.bi.core.base;
+
+/**
+ * 角色枚举类
+ * @Author chenwei
+ * @Date 2019-05-15
+ */
+public enum RoleConstant {
+
+    /**
+     * 超级管理员
+     */
+    SUPER_ADMIN("superAdmin"),
+    /**
+     * 管理员
+     */
+    ADMIN("admin"),
+    /**
+     * 普通用户
+     */
+    NORMAL("normal");
+
+    String role;
+
+    RoleConstant(String role) {
+        this.role = role;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+}

+ 3 - 0
bi-server/src/main/java/com/usoftchina/bi/server/dao/chart/ChartsConfigMapper.java

@@ -103,6 +103,9 @@ public interface ChartsConfigMapper {
             "    ))")
     List<ChartConfigList> getListByUser(@Param("id") int id, TestPage testPage);
 
+    @Select("")
+    List<ChartConfigList> getListWithoutLimit(@Param("id") int id, TestPage testPage);
+
     /*
     通过Id查找表名
     */

+ 7 - 12
bi-server/src/main/java/com/usoftchina/bi/server/service/chart/ChartsConfigService.java

@@ -1,9 +1,6 @@
 package com.usoftchina.bi.server.service.chart;
 
-import com.usoftchina.bi.core.base.BaseContextHolder;
-import com.usoftchina.bi.core.base.RepCode;
-import com.usoftchina.bi.core.base.RepEntity;
-import com.usoftchina.bi.core.base.TestPage;
+import com.usoftchina.bi.core.base.*;
 import com.usoftchina.bi.core.exception.MyException;
 import com.usoftchina.bi.core.utils.GetTokenDataUtil;
 import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
@@ -47,9 +44,8 @@ public class ChartsConfigService {
     保存表设置
      */
     public RepEntity setChartsConfig(ChartConfigInfo chartConfigInfo, String token){
-        Map<String, String> resMap = GetTokenDataUtil.getTokenData(token);
-        int userId = Integer.parseInt(resMap.get("id"));
-        String userName = resMap.get("name");
+        int userId = BaseContextHolder.getUserId();
+        String userName = BaseContextHolder.getUserName();
         ChartConfig chartConfig = new ChartConfig();
         BeanUtils.copyProperties(chartConfigInfo, chartConfig);
 
@@ -104,11 +100,10 @@ public class ChartsConfigService {
     更新表设置
      */
     public RepEntity updateChartsConfig(ChartConfigInfo chartConfigInfo, String token){
-        Map<String, String> resMap = GetTokenDataUtil.getTokenData(token);
-        int userId = Integer.parseInt(resMap.get("id"));
-        String userName = resMap.get("name");
+        int userId = BaseContextHolder.getUserId();
+        String userName = BaseContextHolder.getUserName();
         int createID = chartsConfigMapper.getCreateId(chartConfigInfo.getChartId());
-        if (userId != createID){
+        if (userId != createID && !RoleConstant.ADMIN.getRole().equals(BaseContextHolder.getRole())){
             return new RepEntity(RepCode.NoAuthority);
         }
         ChartConfig chartConfig = new ChartConfig();
@@ -165,7 +160,7 @@ public class ChartsConfigService {
         int userId = BaseContextHolder.getUserId();
         String username = BaseContextHolder.getUserName();
         int createId = chartsConfigMapper.getCreateId(changeOrderInfo.getId());
-        if (createId != userId){
+        if (createId != userId && !RoleConstant.SUPER_ADMIN.getRole().equals(BaseContextHolder.getRole())){
             return new RepEntity(RepCode.NoAuthority);
         }
         chartsConfigMapper.changeChartOrder(username, changeOrderInfo.getUserId(), changeOrderInfo.getId());

+ 3 - 2
bi-server/src/main/java/com/usoftchina/bi/server/service/dashboard/DashBoardMenuService.java

@@ -3,6 +3,7 @@ package com.usoftchina.bi.server.service.dashboard;
 import com.usoftchina.bi.core.base.BaseContextHolder;
 import com.usoftchina.bi.core.base.RepCode;
 import com.usoftchina.bi.core.base.RepEntity;
+import com.usoftchina.bi.core.base.RoleConstant;
 import com.usoftchina.bi.core.exception.MyException;
 import com.usoftchina.bi.core.utils.GetTokenDataUtil;
 import com.usoftchina.bi.server.dao.dashboard.DashBoardMenuMapper;
@@ -34,7 +35,7 @@ public class DashBoardMenuService {
 
     private List<DashboardMenuRespDTO> getData(int userId, int id, String role){
         List<DashboardMenuRespDTO> dashboardMenuRespDTOList = new ArrayList<>();
-        if (!"superAdmin".equals(role)) {
+        if (!RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
             dashboardMenuRespDTOList = dashBoardMenuMapper.getMenuById(userId, id);
         }else {
             dashboardMenuRespDTOList = dashBoardMenuMapper.getMenuWithNoLimit(id);
@@ -74,7 +75,7 @@ public class DashBoardMenuService {
     public RepEntity getDashBoardByMenuId(String token, int menuId){
         int userId = BaseContextHolder.getUserId();
         String role = BaseContextHolder.getRole();
-        if (!"superAdmin".equals(role)) {
+        if (!RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
             return new RepEntity(RepCode.success, dashBoardMenuMapper.getDashBoardByMenuId(userId, menuId));
         }else {
             return new RepEntity(RepCode.success, dashBoardMenuMapper.getDashBoardByMenuIdWithoutLimit(menuId));

+ 4 - 7
bi-server/src/main/java/com/usoftchina/bi/server/service/dataSource/DataConnectorService.java

@@ -1,6 +1,6 @@
 package com.usoftchina.bi.server.service.dataSource;
 
-import com.usoftchina.bi.core.base.BaseContextHolder;
+import com.usoftchina.bi.core.base.*;
 import com.usoftchina.bi.core.exception.MyException;
 import com.usoftchina.bi.core.utils.GetTokenDataUtil;
 import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
@@ -15,9 +15,6 @@ import com.usoftchina.bi.server.model.bo.GroupUpdateId;
 import com.usoftchina.bi.server.model.po.BaseConfig;
 import com.usoftchina.bi.server.model.po.DataConnector;
 import com.usoftchina.bi.server.model.po.DataConnectorList;
-import com.usoftchina.bi.core.base.RepCode;
-import com.usoftchina.bi.core.base.RepEntity;
-import com.usoftchina.bi.core.base.TestPage;
 import com.usoftchina.bi.server.model.po.MessageLog;
 import com.usoftchina.bi.server.model.vo.configVo.*;
 import com.usoftchina.bi.server.model.vo.dataVo.ColumnValuesInfo;
@@ -131,7 +128,7 @@ public class DataConnectorService {
         int id = BaseContextHolder.getUserId();
         String role = BaseContextHolder.getRole();
         List<DataConnectorList> listConnector = new ArrayList<>();
-        if ("superAdmin".equals(role)) {
+        if (RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
             listConnector = dataConnectorMapper.getDataConnectorListWithoutLimit(id, testPage.enablePaging());
         }else {
             listConnector = dataConnectorMapper.getDataConnectorList(id, testPage.enablePaging());
@@ -215,7 +212,7 @@ public class DataConnectorService {
         String role = BaseContextHolder.getRole();
         String name = BaseContextHolder.getUserName();
         int createId = dataConnectorMapper.getCreateIdById(changeOrderInfo.getId());
-        if (createId != userId && !"superAdmin".equals(role)) {
+        if (createId != userId && !RoleConstant.SUPER_ADMIN.getRole().equals(role)) {
             return new RepEntity(RepCode.NoAuthority);
         }
         dataConnectorMapper.updataOrder(name, changeOrderInfo.getUserId(), changeOrderInfo.getId());
@@ -377,7 +374,7 @@ public class DataConnectorService {
         String sql = columnConfigAndSql.getSql();
         String columnConfig = columnConfigAndSql.getColumnConfig();
         columnValuesInfo.setColumnConfig(columnConfig);
-        if ("superAdmin".equals(BaseContextHolder.getRole())) {
+        if (RoleConstant.SUPER_ADMIN.getRole().equals(BaseContextHolder.getRole())) {
             id = createId;
         }
         String sqls = chartsUtilService.columnNameUtil(id, dataId, sql, true, 0, createId);