Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
1e60188a
提交
1e60188a
authored
12月 10, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(数据源): 数据集行权限
上级
94cb9b45
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
115 行增加
和
615 行删除
+115
-615
pom.xml
backend/pom.xml
+29
-29
DatasetRowPermissions.java
...n/java/io/dataease/base/domain/DatasetRowPermissions.java
+0
-24
DatasetRowPermissionsExample.java
...io/dataease/base/domain/DatasetRowPermissionsExample.java
+0
-0
DatasetRowPermissionsMapper.java
.../io/dataease/base/mapper/DatasetRowPermissionsMapper.java
+0
-31
DatasetRowPermissionsMapper.xml
...a/io/dataease/base/mapper/DatasetRowPermissionsMapper.xml
+0
-244
ExtDataSetTableMapper.java
...va/io/dataease/base/mapper/ext/ExtDataSetTableMapper.java
+0
-11
ExtDataSetTableMapper.xml
...ava/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml
+0
-57
DefaultLicenseService.java
...va/io/dataease/commons/license/DefaultLicenseService.java
+1
-1
DataSetTableRowPermissionsController.java
...troller/dataset/DataSetTableRowPermissionsController.java
+0
-60
DataSetRowPermissionsDTO.java
...ava/io/dataease/dto/dataset/DataSetRowPermissionsDTO.java
+0
-21
RowPermissionsController.java
.../io/dataease/plugins/server/RowPermissionsController.java
+39
-0
XAuthServer.java
...src/main/java/io/dataease/plugins/server/XAuthServer.java
+7
-6
DataSetTableRowPermissionsService.java
...se/service/dataset/DataSetTableRowPermissionsService.java
+0
-110
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+15
-14
en.js
frontend/src/lang/en.js
+10
-0
tw.js
frontend/src/lang/tw.js
+10
-0
zh.js
frontend/src/lang/zh.js
+3
-2
RowPermissions.vue
frontend/src/views/dataset/data/RowPermissions.vue
+0
-0
ViewTable.vue
frontend/src/views/dataset/data/ViewTable.vue
+1
-5
没有找到文件。
backend/pom.xml
浏览文件 @
1e60188a
...
...
@@ -207,7 +207,7 @@
<dependency>
<groupId>
io.dataease
</groupId>
<artifactId>
dataease-plugin-interface
</artifactId>
<version>
1.
5
</version>
<version>
1.
6
</version>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
...
...
@@ -387,34 +387,34 @@
</dependencies>
</plugin>
<plugin
>
<groupId>
org.apache.maven.plugins
</groupId
>
<artifactId>
maven-antrun-plugin
</artifactId
>
<executions
>
<execution
>
<?m2e execute onConfiguration?
>
<id>
main-class-placement
</id
>
<phase>
generate-resources
</phase
>
<configuration
>
<target
>
<move
todir=
"src/main/resources/static"
>
<fileset
dir=
"../frontend/dist"
>
<exclude
name=
"*.html"
/
>
</fileset
>
</move
>
<move
todir=
"src/main/resources/templates"
>
<fileset
dir=
"../frontend/dist"
>
<include
name=
"*.html"
/
>
</fileset
>
</move
>
</target
>
</configuration
>
<goals
>
<goal>
run
</goal
>
</goals
>
</execution
>
</executions
>
</plugin
>
<!-- <plugin>--
>
<!-- <groupId>org.apache.maven.plugins</groupId>--
>
<!-- <artifactId>maven-antrun-plugin</artifactId>--
>
<!-- <executions>--
>
<!-- <execution>--
>
<!-- <?m2e execute onConfiguration?>--
>
<!-- <id>main-class-placement</id>--
>
<!-- <phase>generate-resources</phase>--
>
<!-- <configuration>--
>
<!-- <target>--
>
<!-- <move todir="src/main/resources/static">--
>
<!-- <fileset dir="../frontend/dist">--
>
<!-- <exclude name="*.html"/>--
>
<!-- </fileset>--
>
<!-- </move>--
>
<!-- <move todir="src/main/resources/templates">--
>
<!-- <fileset dir="../frontend/dist">--
>
<!-- <include name="*.html"/>--
>
<!-- </fileset>--
>
<!-- </move>--
>
<!-- </target>--
>
<!-- </configuration>--
>
<!-- <goals>--
>
<!-- <goal>run</goal>--
>
<!-- </goals>--
>
<!-- </execution>--
>
<!-- </executions>--
>
<!-- </plugin>--
>
</plugins>
</build>
...
...
backend/src/main/java/io/dataease/base/domain/DatasetRowPermissions.java
deleted
100644 → 0
浏览文件 @
94cb9b45
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
@Data
public
class
DatasetRowPermissions
implements
Serializable
{
private
String
id
;
private
String
authTargetType
;
private
Long
authTargetId
;
private
String
datasetId
;
private
String
datasetFieldId
;
private
String
filter
;
private
Long
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/DatasetRowPermissionsExample.java
deleted
100644 → 0
浏览文件 @
94cb9b45
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/mapper/DatasetRowPermissionsMapper.java
deleted
100644 → 0
浏览文件 @
94cb9b45
package
io
.
dataease
.
base
.
mapper
;
import
io.dataease.base.domain.DatasetRowPermissions
;
import
io.dataease.base.domain.DatasetRowPermissionsExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
DatasetRowPermissionsMapper
{
long
countByExample
(
DatasetRowPermissionsExample
example
);
int
deleteByExample
(
DatasetRowPermissionsExample
example
);
int
deleteByPrimaryKey
(
String
id
);
int
insert
(
DatasetRowPermissions
record
);
int
insertSelective
(
DatasetRowPermissions
record
);
List
<
DatasetRowPermissions
>
selectByExample
(
DatasetRowPermissionsExample
example
);
DatasetRowPermissions
selectByPrimaryKey
(
String
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
DatasetRowPermissions
record
,
@Param
(
"example"
)
DatasetRowPermissionsExample
example
);
int
updateByExample
(
@Param
(
"record"
)
DatasetRowPermissions
record
,
@Param
(
"example"
)
DatasetRowPermissionsExample
example
);
int
updateByPrimaryKeySelective
(
DatasetRowPermissions
record
);
int
updateByPrimaryKey
(
DatasetRowPermissions
record
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/DatasetRowPermissionsMapper.xml
deleted
100644 → 0
浏览文件 @
94cb9b45
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"io.dataease.base.mapper.DatasetRowPermissionsMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.DatasetRowPermissions"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"auth_target_type"
jdbcType=
"VARCHAR"
property=
"authTargetType"
/>
<result
column=
"auth_target_id"
jdbcType=
"BIGINT"
property=
"authTargetId"
/>
<result
column=
"dataset_id"
jdbcType=
"VARCHAR"
property=
"datasetId"
/>
<result
column=
"dataset_field_id"
jdbcType=
"VARCHAR"
property=
"datasetFieldId"
/>
<result
column=
"filter"
jdbcType=
"VARCHAR"
property=
"filter"
/>
<result
column=
"update_time"
jdbcType=
"BIGINT"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<where>
<foreach
collection=
"oredCriteria"
item=
"criteria"
separator=
"or"
>
<if
test=
"criteria.valid"
>
<trim
prefix=
"("
prefixOverrides=
"and"
suffix=
")"
>
<foreach
collection=
"criteria.criteria"
item=
"criterion"
>
<choose>
<when
test=
"criterion.noValue"
>
and ${criterion.condition}
</when>
<when
test=
"criterion.singleValue"
>
and ${criterion.condition} #{criterion.value}
</when>
<when
test=
"criterion.betweenValue"
>
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when
test=
"criterion.listValue"
>
and ${criterion.condition}
<foreach
close=
")"
collection=
"criterion.value"
item=
"listItem"
open=
"("
separator=
","
>
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql
id=
"Update_By_Example_Where_Clause"
>
<where>
<foreach
collection=
"example.oredCriteria"
item=
"criteria"
separator=
"or"
>
<if
test=
"criteria.valid"
>
<trim
prefix=
"("
prefixOverrides=
"and"
suffix=
")"
>
<foreach
collection=
"criteria.criteria"
item=
"criterion"
>
<choose>
<when
test=
"criterion.noValue"
>
and ${criterion.condition}
</when>
<when
test=
"criterion.singleValue"
>
and ${criterion.condition} #{criterion.value}
</when>
<when
test=
"criterion.betweenValue"
>
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when
test=
"criterion.listValue"
>
and ${criterion.condition}
<foreach
close=
")"
collection=
"criterion.value"
item=
"listItem"
open=
"("
separator=
","
>
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql
id=
"Base_Column_List"
>
id, auth_target_type, auth_target_id, dataset_id, dataset_field_id, `filter`, update_time
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.DatasetRowPermissionsExample"
resultMap=
"BaseResultMap"
>
select
<if
test=
"distinct"
>
distinct
</if>
<include
refid=
"Base_Column_List"
/>
from dataset_row_permissions
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
<if
test=
"orderByClause != null"
>
order by ${orderByClause}
</if>
</select>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from dataset_row_permissions
where id = #{id,jdbcType=VARCHAR}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.String"
>
delete from dataset_row_permissions
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete
id=
"deleteByExample"
parameterType=
"io.dataease.base.domain.DatasetRowPermissionsExample"
>
delete from dataset_row_permissions
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.DatasetRowPermissions"
>
insert into dataset_row_permissions (id, auth_target_type, auth_target_id,
dataset_id, dataset_field_id, `filter`,
update_time)
values (#{id,jdbcType=VARCHAR}, #{authTargetType,jdbcType=VARCHAR}, #{authTargetId,jdbcType=BIGINT},
#{datasetId,jdbcType=VARCHAR}, #{datasetFieldId,jdbcType=VARCHAR}, #{filter,jdbcType=VARCHAR},
#{updateTime,jdbcType=BIGINT})
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.DatasetRowPermissions"
>
insert into dataset_row_permissions
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
<if
test=
"authTargetType != null"
>
auth_target_type,
</if>
<if
test=
"authTargetId != null"
>
auth_target_id,
</if>
<if
test=
"datasetId != null"
>
dataset_id,
</if>
<if
test=
"datasetFieldId != null"
>
dataset_field_id,
</if>
<if
test=
"filter != null"
>
`filter`,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=VARCHAR},
</if>
<if
test=
"authTargetType != null"
>
#{authTargetType,jdbcType=VARCHAR},
</if>
<if
test=
"authTargetId != null"
>
#{authTargetId,jdbcType=BIGINT},
</if>
<if
test=
"datasetId != null"
>
#{datasetId,jdbcType=VARCHAR},
</if>
<if
test=
"datasetFieldId != null"
>
#{datasetFieldId,jdbcType=VARCHAR},
</if>
<if
test=
"filter != null"
>
#{filter,jdbcType=VARCHAR},
</if>
<if
test=
"updateTime != null"
>
#{updateTime,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.DatasetRowPermissionsExample"
resultType=
"java.lang.Long"
>
select count(*) from dataset_row_permissions
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</select>
<update
id=
"updateByExampleSelective"
parameterType=
"map"
>
update dataset_row_permissions
<set>
<if
test=
"record.id != null"
>
id = #{record.id,jdbcType=VARCHAR},
</if>
<if
test=
"record.authTargetType != null"
>
auth_target_type = #{record.authTargetType,jdbcType=VARCHAR},
</if>
<if
test=
"record.authTargetId != null"
>
auth_target_id = #{record.authTargetId,jdbcType=BIGINT},
</if>
<if
test=
"record.datasetId != null"
>
dataset_id = #{record.datasetId,jdbcType=VARCHAR},
</if>
<if
test=
"record.datasetFieldId != null"
>
dataset_field_id = #{record.datasetFieldId,jdbcType=VARCHAR},
</if>
<if
test=
"record.filter != null"
>
`filter` = #{record.filter,jdbcType=VARCHAR},
</if>
<if
test=
"record.updateTime != null"
>
update_time = #{record.updateTime,jdbcType=BIGINT},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
<update
id=
"updateByExample"
parameterType=
"map"
>
update dataset_row_permissions
set id = #{record.id,jdbcType=VARCHAR},
auth_target_type = #{record.authTargetType,jdbcType=VARCHAR},
auth_target_id = #{record.authTargetId,jdbcType=BIGINT},
dataset_id = #{record.datasetId,jdbcType=VARCHAR},
dataset_field_id = #{record.datasetFieldId,jdbcType=VARCHAR},
`filter` = #{record.filter,jdbcType=VARCHAR},
update_time = #{record.updateTime,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"io.dataease.base.domain.DatasetRowPermissions"
>
update dataset_row_permissions
<set>
<if
test=
"authTargetType != null"
>
auth_target_type = #{authTargetType,jdbcType=VARCHAR},
</if>
<if
test=
"authTargetId != null"
>
auth_target_id = #{authTargetId,jdbcType=BIGINT},
</if>
<if
test=
"datasetId != null"
>
dataset_id = #{datasetId,jdbcType=VARCHAR},
</if>
<if
test=
"datasetFieldId != null"
>
dataset_field_id = #{datasetFieldId,jdbcType=VARCHAR},
</if>
<if
test=
"filter != null"
>
`filter` = #{filter,jdbcType=VARCHAR},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"io.dataease.base.domain.DatasetRowPermissions"
>
update dataset_row_permissions
set auth_target_type = #{authTargetType,jdbcType=VARCHAR},
auth_target_id = #{authTargetId,jdbcType=BIGINT},
dataset_id = #{datasetId,jdbcType=VARCHAR},
dataset_field_id = #{datasetFieldId,jdbcType=VARCHAR},
`filter` = #{filter,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=BIGINT}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.java
浏览文件 @
1e60188a
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.base.domain.DatasetRowPermissions
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.controller.request.dataset.DataSetTableRequest
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
io.dataease.dto.dataset.DataSetRowPermissionsDTO
;
import
io.dataease.dto.dataset.DataSetTableDTO
;
import
java.util.List
;
...
...
@@ -14,11 +10,4 @@ public interface ExtDataSetTableMapper {
DataSetTableDTO
searchOne
(
DataSetTableRequest
request
);
List
<
DataSetRowPermissionsDTO
>
searchRowPermissons
(
GridExample
example
);
List
<
RoleUserItem
>
searchAuthUsers
(
DatasetRowPermissions
example
);
List
<
RoleUserItem
>
searchAuthRoles
(
DatasetRowPermissions
example
);
List
<
RoleUserItem
>
searchAuthDepts
(
DatasetRowPermissions
example
);
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtDataSetTableMapper.xml
浏览文件 @
1e60188a
...
...
@@ -7,9 +7,6 @@
<result
column=
"privileges"
property=
"privileges"
/>
</resultMap>
<resultMap
id=
"RowPermissonsDTO"
type=
"io.dataease.dto.dataset.DataSetRowPermissionsDTO"
extends=
"io.dataease.base.mapper.DatasetRowPermissionsMapper.BaseResultMap"
>
</resultMap>
<resultMap
id=
"roleItemMap"
type=
"io.dataease.controller.sys.response.RoleUserItem"
>
<id
property=
"id"
column=
"id"
/>
...
...
@@ -103,58 +100,4 @@
ORDER BY CONVERT(`name` using gbk)
</select>
<select
id=
"searchRowPermissons"
resultMap=
"RowPermissonsDTO"
parameterType=
"io.dataease.base.mapper.ext.query.GridExample"
>
SELECT dataset_table.name as datasetName, dataset_table_field.name as fieldName, dataset_row_permissions.*
FROM dataset_row_permissions
left join dataset_table on dataset_table.id=dataset_row_permissions.dataset_id
left join dataset_table_field on dataset_table_field.id=dataset_row_permissions.dataset_field_id
<if
test=
"_parameter != null"
>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</if>
<if
test=
"orderByClause != null"
>
order by ${orderByClause}
</if>
<if
test=
"orderByClause == null"
>
order by dataset_row_permissions.update_time desc
</if>
</select>
<select
id=
"searchAuthUsers"
resultMap=
"roleItemMap"
>
SELECT sys_user.user_id as id, sys_user.username as name
FROM sys_auth
left join sys_auth_detail on sys_auth.id=sys_auth_detail.auth_id
left join sys_user on sys_user.user_id=sys_auth.auth_target
where sys_auth.auth_target_type='user'
and sys_auth.auth_source_type='dataset'
and sys_auth.auth_source=#{datasetId,jdbcType=VARCHAR}
and sys_auth_detail.privilege_type=1
and sys_auth_detail.privilege_value=1;
</select>
<select
id=
"searchAuthRoles"
resultMap=
"roleItemMap"
>
SELECT sys_role.role_id as id, sys_role.name as name
FROM sys_auth
left join sys_auth_detail on sys_auth.id=sys_auth_detail.auth_id
left join sys_role on sys_role.role_id=sys_auth.auth_target
where sys_auth.auth_target_type='role'
and sys_auth.auth_source_type='dataset'
and sys_auth.auth_source=#{datasetId,jdbcType=VARCHAR}
and sys_auth_detail.privilege_type=1
and sys_auth_detail.privilege_value=1;
</select>
<select
id=
"searchAuthDepts"
resultMap=
"roleItemMap"
>
SELECT sys_dept.dept_id as id, sys_dept.name as name
FROM sys_auth
left join sys_auth_detail on sys_auth.id=sys_auth_detail.auth_id
left join sys_dept on sys_dept.dept_id=sys_auth.auth_target
where sys_auth.auth_target_type='dept'
and sys_auth.auth_source_type='dataset'
and sys_auth.auth_source=#{datasetId,jdbcType=VARCHAR}
and sys_auth_detail.privilege_type=1
and sys_auth_detail.privilege_value=1;
</select>
</mapper>
backend/src/main/java/io/dataease/commons/license/DefaultLicenseService.java
浏览文件 @
1e60188a
...
...
@@ -19,7 +19,7 @@ public class DefaultLicenseService {
private
InnerLicenseService
innerLicenseService
;
private
static
final
String
LICENSE_ID
=
"fit2cloud_license"
;
private
static
final
String
validatorUtil
=
"/usr/bin/validator"
;
private
static
final
String
validatorUtil
=
"/usr/
local/
bin/validator"
;
private
static
final
String
product
=
"DataEase"
;
public
F2CLicenseResponse
validateLicense
(
String
product
,
String
licenseKey
)
{
...
...
backend/src/main/java/io/dataease/controller/dataset/DataSetTableRowPermissionsController.java
deleted
100644 → 0
浏览文件 @
94cb9b45
package
io
.
dataease
.
controller
.
dataset
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
io.dataease.base.domain.DatasetRowPermissions
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.dto.dataset.DataSetRowPermissionsDTO
;
import
io.dataease.service.dataset.DataSetTableRowPermissionsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
@Api
(
tags
=
"数据集:数据集行权限"
)
@ApiSupport
(
order
=
90
)
@RestController
@RequestMapping
(
"dataset/rowPermissions"
)
public
class
DataSetTableRowPermissionsController
{
@Resource
private
DataSetTableRowPermissionsService
dataSetTableRowPermissionsService
;
@ApiOperation
(
"保存"
)
@PostMapping
(
"save"
)
public
void
save
(
@RequestBody
DatasetRowPermissions
datasetRowPermissions
)
throws
Exception
{
dataSetTableRowPermissionsService
.
save
(
datasetRowPermissions
);
}
@ApiOperation
(
"分页查询"
)
@PostMapping
(
"/pageList/{datasetId}/{goPage}/{pageSize}"
)
public
Pager
<
List
<
DataSetRowPermissionsDTO
>>
rowPermissions
(
@PathVariable
String
datasetId
,
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
BaseGridRequest
request
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
dataSetTableRowPermissionsService
.
searchRowPermissions
(
request
,
datasetId
));
}
@ApiOperation
(
"有权限的对象"
)
@PostMapping
(
"/authObjs"
)
public
List
<
Object
>
authObjs
(
@RequestBody
DataSetRowPermissionsDTO
request
)
{
return
(
List
<
Object
>)
dataSetTableRowPermissionsService
.
authObjs
(
request
);
}
@ApiOperation
(
"详情"
)
@PostMapping
(
"/dataSetRowPermissionInfo"
)
public
DataSetRowPermissionsDTO
dataSetRowPermissionInfo
(
@RequestBody
DataSetRowPermissionsDTO
request
)
{
return
dataSetTableRowPermissionsService
.
dataSetRowPermissionInfo
(
request
);
}
@ApiOperation
(
"删除"
)
@PostMapping
(
"/delete/{id}"
)
public
void
dataSetRowPermissionInfo
(
@PathVariable
String
id
)
{
dataSetTableRowPermissionsService
.
delete
(
id
);
}
}
backend/src/main/java/io/dataease/dto/dataset/DataSetRowPermissionsDTO.java
deleted
100644 → 0
浏览文件 @
94cb9b45
package
io
.
dataease
.
dto
.
dataset
;
import
io.dataease.base.domain.DatasetRowPermissions
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @Author gin
* @Date 2021/3/9 3:19 下午
*/
@Getter
@Setter
public
class
DataSetRowPermissionsDTO
extends
DatasetRowPermissions
{
@ApiModelProperty
(
"数据集名称"
)
private
String
datasetName
;
@ApiModelProperty
(
"字段名称"
)
private
String
fieldName
;
@ApiModelProperty
(
"授权对象名称"
)
private
String
authTargetName
;
}
backend/src/main/java/io/dataease/plugins/server/RowPermissionsController.java
0 → 100644
浏览文件 @
1e60188a
package
io
.
dataease
.
plugins
.
server
;
import
io.dataease.plugins.config.SpringContextUtil
;
import
io.dataease.plugins.xpack.auth.dto.request.DataSetRowPermissionsDTO
;
import
io.dataease.plugins.xpack.auth.dto.request.DatasetRowPermissions
;
import
io.dataease.plugins.xpack.auth.dto.response.XpackSysAuthDetailDTO
;
import
io.dataease.plugins.xpack.auth.service.RowPermissionService
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
"plugin/dataset/rowPermissions"
)
public
class
RowPermissionsController
{
@ApiOperation
(
"保存"
)
@PostMapping
(
"save"
)
public
void
save
(
@RequestBody
DatasetRowPermissions
datasetRowPermissions
)
throws
Exception
{
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
rowPermissionService
.
save
(
datasetRowPermissions
);
}
@ApiOperation
(
"分页查询"
)
@PostMapping
(
"/list"
)
public
List
<
DataSetRowPermissionsDTO
>
rowPermissions
(
@RequestBody
XpackSysAuthDetailDTO
request
)
{
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
return
rowPermissionService
.
searchRowPermissions
(
request
);
}
@ApiOperation
(
"删除"
)
@GetMapping
(
"/delete/{id}"
)
public
void
dataSetRowPermissionInfo
(
@PathVariable
String
id
)
{
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
rowPermissionService
.
delete
(
id
);
}
}
backend/src/main/java/io/dataease/plugins/server/XAuthServer.java
浏览文件 @
1e60188a
...
...
@@ -42,12 +42,13 @@ public class XAuthServer {
public
List
<
XpackSysAuthDetail
>
authDetailsModel
(
@PathVariable
String
authType
){
AuthXpackService
sysAuthService
=
SpringContextUtil
.
getBean
(
AuthXpackService
.
class
);
List
<
XpackSysAuthDetail
>
authDetails
=
sysAuthService
.
searchAuthDetailsModel
(
authType
);
// if(authType.equalsIgnoreCase("dataset")){
// XpackSysAuthDetail xpackSysAuthDetail = new XpackSysAuthDetail();
// xpackSysAuthDetail.setPrivilegeName("i18n_auth_row_permission");
// xpackSysAuthDetail.setPrivilegeType(20);
// authDetails.add(3,xpackSysAuthDetail);
// }
if
(
authType
.
equalsIgnoreCase
(
"dataset"
)){
XpackSysAuthDetail
xpackSysAuthDetail
=
new
XpackSysAuthDetail
();
xpackSysAuthDetail
.
setPrivilegeName
(
"i18n_auth_row_permission"
);
xpackSysAuthDetail
.
setPrivilegeType
(
20
);
xpackSysAuthDetail
.
setPrivilegeValue
(
1
);
authDetails
.
add
(
0
,
xpackSysAuthDetail
);
}
return
authDetails
;
}
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableRowPermissionsService.java
deleted
100644 → 0
浏览文件 @
94cb9b45
package
io
.
dataease
.
service
.
dataset
;
import
io.dataease.base.domain.DatasetRowPermissions
;
import
io.dataease.base.domain.DatasetRowPermissionsExample
;
import
io.dataease.base.mapper.DatasetRowPermissionsMapper
;
import
io.dataease.base.mapper.SysDeptMapper
;
import
io.dataease.base.mapper.SysRoleMapper
;
import
io.dataease.base.mapper.SysUserMapper
;
import
io.dataease.base.mapper.ext.ExtDataSetTableMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.base.ConditionEntity
;
import
io.dataease.dto.dataset.DataSetRowPermissionsDTO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.UUID
;
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
DataSetTableRowPermissionsService
{
@Resource
private
ExtDataSetTableMapper
extDataSetTableMapper
;
@Resource
private
DatasetRowPermissionsMapper
datasetRowPermissionsMapper
;
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
SysRoleMapper
sysRoleMapper
;
@Resource
private
SysDeptMapper
sysDeptMapper
;
public
List
<
DataSetRowPermissionsDTO
>
searchRowPermissions
(
BaseGridRequest
request
,
String
datasetId
){
List
<
ConditionEntity
>
conditionEntities
=
request
.
getConditions
()
==
null
?
new
ArrayList
<>()
:
request
.
getConditions
();
ConditionEntity
entity
=
new
ConditionEntity
();
entity
.
setField
(
"dataset_row_permissions.dataset_id"
);
entity
.
setOperator
(
"eq"
);
entity
.
setValue
(
datasetId
);
conditionEntities
.
add
(
entity
);
request
.
setConditions
(
conditionEntities
);
GridExample
gridExample
=
request
.
convertExample
();
gridExample
.
setExtendCondition
(
AuthUtils
.
getUser
().
getUserId
().
toString
());
return
extDataSetTableMapper
.
searchRowPermissons
(
gridExample
);
}
public
List
<?
extends
Object
>
authObjs
(
DataSetRowPermissionsDTO
request
){
switch
(
request
.
getAuthTargetType
())
{
case
"user"
:
return
extDataSetTableMapper
.
searchAuthUsers
(
request
);
case
"role"
:
return
extDataSetTableMapper
.
searchAuthRoles
(
request
);
case
"dept"
:
return
extDataSetTableMapper
.
searchAuthDepts
(
request
);
default
:
return
new
ArrayList
<>();
}
}
public
void
save
(
DatasetRowPermissions
datasetRowPermissions
){
if
(
StringUtils
.
isEmpty
(
datasetRowPermissions
.
getId
())){
datasetRowPermissions
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetRowPermissions
.
setUpdateTime
(
System
.
currentTimeMillis
());
datasetRowPermissionsMapper
.
insert
(
datasetRowPermissions
);
}
else
{
datasetRowPermissions
.
setUpdateTime
(
System
.
currentTimeMillis
());
datasetRowPermissionsMapper
.
updateByPrimaryKey
(
datasetRowPermissions
);
}
}
public
DataSetRowPermissionsDTO
dataSetRowPermissionInfo
(
DataSetRowPermissionsDTO
datasetRowPermissions
){
switch
(
datasetRowPermissions
.
getAuthTargetType
())
{
case
"user"
:
datasetRowPermissions
.
setAuthTargetName
(
Optional
.
ofNullable
(
sysUserMapper
.
selectByPrimaryKey
(
datasetRowPermissions
.
getAuthTargetId
())).
get
().
getUsername
());
break
;
case
"role"
:
datasetRowPermissions
.
setAuthTargetName
(
Optional
.
ofNullable
(
sysRoleMapper
.
selectByPrimaryKey
(
datasetRowPermissions
.
getAuthTargetId
())).
get
().
getName
());
break
;
case
"dept"
:
datasetRowPermissions
.
setAuthTargetName
(
Optional
.
ofNullable
(
sysDeptMapper
.
selectByPrimaryKey
(
datasetRowPermissions
.
getAuthTargetId
())).
get
().
getName
());
break
;
default
:
break
;
}
return
datasetRowPermissions
;
}
public
void
delete
(
String
id
){
datasetRowPermissionsMapper
.
deleteByPrimaryKey
(
id
);
}
public
List
<
DatasetRowPermissions
>
listDatasetRowPermissions
(
String
datasetId
,
List
<
Long
>
authTargetIds
,
String
authTargetType
){
if
(
CollectionUtils
.
isEmpty
(
authTargetIds
)){
return
new
ArrayList
<>();
}
DatasetRowPermissionsExample
example
=
new
DatasetRowPermissionsExample
();
example
.
createCriteria
().
andDatasetIdEqualTo
(
datasetId
).
andAuthTargetTypeEqualTo
(
authTargetType
).
andAuthTargetIdIn
(
authTargetIds
);
return
datasetRowPermissionsMapper
.
selectByExample
(
example
);
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
1e60188a
...
...
@@ -19,25 +19,23 @@ import io.dataease.controller.request.dataset.DataSetGroupRequest;
import
io.dataease.controller.request.dataset.DataSetTableRequest
;
import
io.dataease.controller.request.dataset.DataSetTaskRequest
;
import
io.dataease.controller.response.DataSetDetail
;
import
io.dataease.commons.constants.DatasourceTypes
;
import
io.dataease.dto.chart.ChartCustomFilterDTO
;
import
io.dataease.dto.datasource.TableFiled
;
import
io.dataease.plugins.config.SpringContextUtil
;
import
io.dataease.plugins.xpack.auth.dto.request.DatasetRowPermissions
;
import
io.dataease.plugins.xpack.auth.service.RowPermissionService
;
import
io.dataease.plugins.xpack.oidc.service.OidcXpackService
;
import
io.dataease.provider.datasource.DatasourceProvider
;
import
io.dataease.provider.datasource.JdbcProvider
;
import
io.dataease.provider.ProviderFactory
;
import
io.dataease.controller.request.datasource.DatasourceRequest
;
import
io.dataease.controller.response.DataSetDetail
;
import
io.dataease.dto.dataset.*
;
import
io.dataease.dto.dataset.union.UnionDTO
;
import
io.dataease.dto.dataset.union.UnionItemDTO
;
import
io.dataease.dto.dataset.union.UnionParamDTO
;
import
io.dataease.dto.datasource.TableFiled
;
import
io.dataease.dto.dataset.union.UnionParamDTO
;;
import
io.dataease.exception.DataEaseException
;
import
io.dataease.i18n.Translator
;
import
io.dataease.plugins.loader.ClassloaderResponsity
;
import
io.dataease.provider.ProviderFactory
;
import
io.dataease.provider.datasource.DatasourceProvider
;
import
io.dataease.provider.datasource.JdbcProvider
;
import
io.dataease.provider.query.DDLProvider
;
import
io.dataease.provider.query.QueryProvider
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -102,8 +100,6 @@ public class DataSetTableService {
private
ExtDataSetGroupMapper
extDataSetGroupMapper
;
@Resource
private
DatasetTableFieldMapper
datasetTableFieldMapper
;
@Resource
private
DataSetTableRowPermissionsService
dataSetTableRowPermissionsService
;
private
static
final
String
lastUpdateTime
=
"${__last_update_time__}"
;
private
static
final
String
currentUpdateTime
=
"${__current_update_time__}"
;
...
...
@@ -445,9 +441,14 @@ public class DataSetTableService {
private
List
<
DatasetRowPermissions
>
rowPermissions
(
String
datasetId
){
List
<
DatasetRowPermissions
>
datasetRowPermissions
=
new
ArrayList
<>();
datasetRowPermissions
.
addAll
(
dataSetTableRowPermissionsService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
AuthUtils
.
getUser
().
getUserId
()),
"user"
));
datasetRowPermissions
.
addAll
(
dataSetTableRowPermissionsService
.
listDatasetRowPermissions
(
datasetId
,
AuthUtils
.
getUser
().
getRoles
().
stream
().
map
(
CurrentRoleDto:
:
getId
).
collect
(
Collectors
.
toList
())
,
"role"
));
datasetRowPermissions
.
addAll
(
dataSetTableRowPermissionsService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
AuthUtils
.
getUser
().
getDeptId
()),
"dept"
));
Map
<
String
,
RowPermissionService
>
beansOfType
=
SpringContextUtil
.
getApplicationContext
().
getBeansOfType
((
RowPermissionService
.
class
));
if
(
beansOfType
.
keySet
().
size
()
==
0
)
{
return
new
ArrayList
<>();
}
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
AuthUtils
.
getUser
().
getUserId
()),
"user"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
AuthUtils
.
getUser
().
getRoles
().
stream
().
map
(
CurrentRoleDto:
:
getId
).
collect
(
Collectors
.
toList
())
,
"role"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
AuthUtils
.
getUser
().
getDeptId
()),
"dept"
));
return
datasetRowPermissions
;
}
...
...
@@ -467,7 +468,7 @@ public class DataSetTableService {
rowPermissions
(
datasetTable
.
getId
()).
forEach
(
datasetRowPermissions
->
{
List
<
ChartCustomFilterDTO
>
lists
=
JSONObject
.
parseArray
(
datasetRowPermissions
.
getFilter
(),
ChartCustomFilterDTO
.
class
);
lists
.
forEach
(
chartCustomFilterDTO
->
{
DatasetTableField
field
=
getFieldById
(
fields
,
chartCustomFilterDTO
.
g
etFieldId
());
DatasetTableField
field
=
getFieldById
(
fields
,
datasetRowPermissions
.
getDatas
etFieldId
());
if
(
field
!=
null
){
chartCustomFilterDTO
.
setFieldId
(
datasetRowPermissions
.
getDatasetFieldId
());
chartCustomFilterDTO
.
setField
(
field
);
...
...
@@ -1686,7 +1687,7 @@ public class DataSetTableService {
dataSetDetail
.
setTable
(
table
);
if
(
ObjectUtils
.
isNotEmpty
(
table
))
{
Datasource
datasource
=
datasourceMapper
.
selectByPrimaryKey
(
table
.
getDataSourceId
());
datasource
.
setConfiguration
(
null
);
Optional
.
ofNullable
(
datasource
).
orElse
(
new
Datasource
())
.
setConfiguration
(
null
);
dataSetDetail
.
setDatasource
(
datasource
);
}
return
dataSetDetail
;
...
...
frontend/src/lang/en.js
浏览文件 @
1e60188a
...
...
@@ -1154,6 +1154,16 @@ export default {
confirm_sync_field_tips
:
'Sync field maybe change edit field,please confirm'
,
sync_success
:
'Success'
,
sync_success_1
:
'Success,please sync data again'
,
row_permission
:
{
type
:
'Type'
,
name
:
'Name'
,
condition
:
'Conditions'
,
value
:
'Value'
,
add
:
'Add row permissions'
,
edit
:
'Edit row permissions'
,
please_select_field
:
'Please select a field'
},
row_permissions
:
'Row Permissions'
,
union_data
:
'Union Dataset'
,
add_union_table
:
'Add Union Dataset'
,
edit_union
:
'Edit Union Dataset'
,
...
...
frontend/src/lang/tw.js
浏览文件 @
1e60188a
...
...
@@ -1155,6 +1155,16 @@ export default {
confirm_sync_field_tips
:
'同步字段可能會導致已編輯字段發生變更,請確認'
,
sync_success
:
'同步成功'
,
sync_success_1
:
'同步成功,請對當前數據集重新執行數據同步操作'
,
row_permission
:
{
type
:
'類型'
,
name
:
'名稱'
,
condition
:
'條件'
,
value
:
'值'
,
add
:
'添加行權限'
,
edit
:
'編輯行權限'
,
please_select_field
:
'請選擇字段'
},
row_permissions
:
'行權限'
,
union_data
:
'關聯數據集'
,
add_union_table
:
'添加關聯數據集'
,
edit_union
:
'編輯關聯數據集'
,
...
...
frontend/src/lang/zh.js
浏览文件 @
1e60188a
...
...
@@ -1016,7 +1016,6 @@ export default {
field_check
:
'选中'
,
update_info
:
'更新信息'
,
join_view
:
'数据关联'
,
row_permissions
:
'行权限'
,
text
:
'文本'
,
time
:
'时间'
,
value
:
'数值'
,
...
...
@@ -1164,8 +1163,10 @@ export default {
condition
:
'条件'
,
value
:
'值'
,
add
:
'添加行权限'
,
edit
:
'编辑行权限'
edit
:
'编辑行权限'
,
please_select_field
:
'请选择字段'
},
row_permissions
:
'行权限'
,
union_data
:
'关联数据集'
,
add_union_table
:
'添加关联数据集'
,
edit_union
:
'编辑关联数据集'
,
...
...
frontend/src/views/dataset/data/RowPermissions.vue
deleted
100644 → 0
浏览文件 @
94cb9b45
差异被折叠。
点击展开。
frontend/src/views/dataset/data/ViewTable.vue
浏览文件 @
1e60188a
...
...
@@ -59,9 +59,6 @@
<el-tab-pane
v-if=
"table.type !== 'custom' && !(table.type === 'sql' && table.mode === 0)"
:label=
"$t('dataset.join_view')"
name=
"joinView"
>
<union-view
:param=
"param"
:table=
"table"
/>
</el-tab-pane>
<el-tab-pane
:label=
"$t('dataset.row_permissions')"
name=
"rowPermissions"
>
<row-permissions
v-if=
"tabActive=='rowPermissions'"
:param=
"param"
:table=
"table"
/>
</el-tab-pane>
<el-tab-pane
v-if=
"table.mode === 1 && (table.type === 'excel' || table.type === 'db' || table.type === 'sql')"
:label=
"$t('dataset.update_info')"
name=
"updateInfo"
>
<update-info
v-if=
"tabActive=='updateInfo'"
:param=
"param"
:table=
"table"
/>
</el-tab-pane>
...
...
@@ -75,12 +72,11 @@ import TabDataPreview from './TabDataPreview'
import
UpdateInfo
from
'./UpdateInfo'
import
DatasetChartDetail
from
'../common/DatasetChartDetail'
import
UnionView
from
'./UnionView'
import
RowPermissions
from
'./RowPermissions'
import
FieldEdit
from
'./FieldEdit'
export
default
{
name
:
'ViewTable'
,
components
:
{
RowPermissions
,
FieldEdit
,
UnionView
,
DatasetChartDetail
,
UpdateInfo
,
TabDataPreview
},
components
:
{
FieldEdit
,
UnionView
,
DatasetChartDetail
,
UpdateInfo
,
TabDataPreview
},
props
:
{
param
:
{
type
:
Object
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论