diff --git a/pom.xml b/pom.xml index 74308ca..c23e6ca 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ urbanops-module-workorder urbanops-module-bpm - + urbanops-module-report urbanops-module-api diff --git a/urbanops-module-report/src/main/java/com/zteits/urbanops/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java b/urbanops-module-report/src/main/java/com/zteits/urbanops/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java index f78a816..f5c7e5b 100644 --- a/urbanops-module-report/src/main/java/com/zteits/urbanops/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java +++ b/urbanops-module-report/src/main/java/com/zteits/urbanops/module/report/framework/jmreport/core/service/JmReportTokenServiceImpl.java @@ -158,4 +158,33 @@ public class JmReportTokenServiceImpl implements JmReportTokenServiceI { return StrUtil.toStringOrNull(loginUser.getTenantId()); } + @Override + public String[] getPermissions(String token) { + // 设置租户上下文 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + if (loginUser == null) { + return null; + } + TenantContextHolder.setTenantId(loginUser.getTenantId()); + + // 参见文档 https://help.jimureport.com/prodSafe/ 文档 + // 适配:如果是本系统的管理员,则返回积木报表(仪表盘/大屏设计器)的所有权限指令 + // 如果不处理,会碰到 https://t.zsxq.com/yzlkA 反馈的问题 + Long userId = SecurityFrameworkUtils.getLoginUserId(); + if (permissionApi.hasAnyRoles(userId, RoleCodeEnum.SUPER_ADMIN.getCode())) { + return new String[]{ + "drag:datasource:testConnection", // 数据库连接测试 + "drag:datasource:saveOrUpate", // 数据源保存 + "drag:datasource:delete", // 数据源删除 + "drag:analysis:sql", // SQL解析 + "drag:design:getTotalData", // 展示Online表单数据 + "drag:dataset:save", // 数据集保存 + "drag:dataset:delete", // 数据集删除 + "onl:drag:clear:recovery", // 清空回收站 + "onl:drag:page:delete" // 数据删除 + }; + } + return null; + } + } diff --git a/urbanops-server/pom.xml b/urbanops-server/pom.xml index 27dd08a..8e96d6f 100644 --- a/urbanops-server/pom.xml +++ b/urbanops-server/pom.xml @@ -58,11 +58,11 @@ - - - - - + + com.zteits.boot + urbanops-module-report + ${revision} + com.zteits.boot