Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
9212b73f
提交
9212b73f
authored
2月 25, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of github.com:dataease/dataease into main
上级
54275459
0db99298
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
51 个修改的文件
包含
1899 行增加
和
181 行删除
+1899
-181
pom.xml
backend/pom.xml
+14
-46
DatasetTableField.java
.../main/java/io/dataease/base/domain/DatasetTableField.java
+26
-0
DatasetTableFieldExample.java
...ava/io/dataease/base/domain/DatasetTableFieldExample.java
+0
-0
SysMenu.java
backend/src/main/java/io/dataease/base/domain/SysMenu.java
+29
-0
SysUser.java
backend/src/main/java/io/dataease/base/domain/SysUser.java
+40
-0
SysUserExample.java
...src/main/java/io/dataease/base/domain/SysUserExample.java
+0
-0
SysUsersRolesExample.java
...in/java/io/dataease/base/domain/SysUsersRolesExample.java
+321
-0
SysUsersRolesKey.java
...c/main/java/io/dataease/base/domain/SysUsersRolesKey.java
+14
-0
DatasetTableFieldMapper.java
...java/io/dataease/base/mapper/DatasetTableFieldMapper.java
+31
-0
DatasetTableFieldMapper.xml
.../java/io/dataease/base/mapper/DatasetTableFieldMapper.xml
+259
-0
SysUserMapper.java
.../src/main/java/io/dataease/base/mapper/SysUserMapper.java
+31
-0
SysUserMapper.xml
...d/src/main/java/io/dataease/base/mapper/SysUserMapper.xml
+0
-0
SysUsersRolesMapper.java
...ain/java/io/dataease/base/mapper/SysUsersRolesMapper.java
+25
-0
SysUsersRolesMapper.xml
...main/java/io/dataease/base/mapper/SysUsersRolesMapper.xml
+146
-0
ExtSysRoleMapper.java
...in/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.java
+8
-0
ExtSysRoleMapper.xml
...ain/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.xml
+22
-0
ExtSysUserMapper.java
...in/java/io/dataease/base/mapper/ext/ExtSysUserMapper.java
+12
-0
ExtSysUserMapper.xml
...ain/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
+47
-0
DataSetTableController.java
...o/dataease/controller/dataset/DataSetTableController.java
+2
-2
DataSetTableFieldController.java
...aease/controller/dataset/DataSetTableFieldController.java
+31
-0
SysMenuController.java
...in/java/io/dataease/controller/sys/SysMenuController.java
+15
-7
SysRoleController.java
...in/java/io/dataease/controller/sys/SysRoleController.java
+16
-2
SysUserController.java
...in/java/io/dataease/controller/sys/SysUserController.java
+50
-0
RoleMenusRequest.java
.../io/dataease/controller/sys/request/RoleMenusRequest.java
+13
-0
SysUserCreateRequest.java
...dataease/controller/sys/request/SysUserCreateRequest.java
+13
-0
UserGridRequest.java
...a/io/dataease/controller/sys/request/UserGridRequest.java
+10
-0
RoleUserItem.java
...ava/io/dataease/controller/sys/response/RoleUserItem.java
+13
-0
SysUserDept.java
...java/io/dataease/controller/sys/response/SysUserDept.java
+15
-0
SysUserGridResponse.java
...dataease/controller/sys/response/SysUserGridResponse.java
+18
-0
SysUserRole.java
...java/io/dataease/controller/sys/response/SysUserRole.java
+13
-0
DatasourceService.java
...ava/io/dataease/datasource/service/DatasourceService.java
+1
-1
DataSetGroupService.java
...java/io/dataease/service/dataset/DataSetGroupService.java
+3
-3
DataSetTableFieldsService.java
...o/dataease/service/dataset/DataSetTableFieldsService.java
+57
-0
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+99
-26
MenuService.java
...nd/src/main/java/io/dataease/service/sys/MenuService.java
+32
-0
SysRoleService.java
...src/main/java/io/dataease/service/sys/SysRoleService.java
+35
-0
SysUserService.java
...src/main/java/io/dataease/service/sys/SysUserService.java
+125
-0
V8__system.sql
backend/src/main/resources/db/migration/V8__system.sql
+35
-2
V9__dataset_tables.sql
...nd/src/main/resources/db/migration/V9__dataset_tables.sql
+28
-11
DataSet.vue
frontend/src/business/components/dataset/DataSet.vue
+22
-22
AddDB.vue
frontend/src/business/components/dataset/add/AddDB.vue
+0
-0
TabDataPreview.vue
...d/src/business/components/dataset/data/TabDataPreview.vue
+4
-21
ViewTable.vue
frontend/src/business/components/dataset/data/ViewTable.vue
+61
-19
Group.vue
frontend/src/business/components/dataset/group/Group.vue
+5
-2
router.js
frontend/src/business/components/dataset/router.js
+2
-1
router.js
frontend/src/business/components/settings/router.js
+5
-0
role.vue
frontend/src/business/components/settings/sys/role.vue
+151
-16
user.vue
frontend/src/business/components/settings/sys/user.vue
+0
-0
en-US.js
frontend/src/i18n/en-US.js
+0
-0
zh-CN.js
frontend/src/i18n/zh-CN.js
+0
-0
zh-TW.js
frontend/src/i18n/zh-TW.js
+0
-0
没有找到文件。
backend/pom.xml
浏览文件 @
9212b73f
...
@@ -13,10 +13,8 @@
...
@@ -13,10 +13,8 @@
<properties>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<shiro.version>
1.
6.0
</shiro.version>
<shiro.version>
1.
7.1
</shiro.version>
<java.version>
1.8
</java.version>
<java.version>
1.8
</java.version>
<nacos.version>
1.1.3
</nacos.version>
<dubbo.version>
2.7.8
</dubbo.version>
<graalvm.version>
20.1.0
</graalvm.version>
<graalvm.version>
20.1.0
</graalvm.version>
</properties>
</properties>
...
@@ -80,6 +78,10 @@
...
@@ -80,6 +78,10 @@
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-websocket
</artifactId>
<artifactId>
spring-boot-starter-websocket
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
</dependency>
<!-- flyway -->
<!-- flyway -->
<dependency>
<dependency>
...
@@ -115,7 +117,7 @@
...
@@ -115,7 +117,7 @@
<dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.
1
</version>
<version>
4.
4
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<groupId>
org.apache.commons
</groupId>
...
@@ -127,11 +129,11 @@
...
@@ -127,11 +129,11 @@
<artifactId>
commons-codec
</artifactId>
<artifactId>
commons-codec
</artifactId>
</dependency>
</dependency>
<dependency>
<
!--<
dependency>
<groupId>com.alibaba</groupId>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<artifactId>fastjson</artifactId>
<version>1.2.72</version>
<version>1.2.72</version>
</dependency>
</dependency>
-->
<!-- openapi -->
<!-- openapi -->
<dependency>
<dependency>
...
@@ -140,11 +142,7 @@
...
@@ -140,11 +142,7 @@
<version>
1.2.32
</version>
<version>
1.2.32
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.python
</groupId>
<artifactId>
jython-standalone
</artifactId>
<version>
2.7.0
</version>
</dependency>
<dependency>
<dependency>
<groupId>
com.microsoft.sqlserver
</groupId>
<groupId>
com.microsoft.sqlserver
</groupId>
...
@@ -164,17 +162,7 @@
...
@@ -164,17 +162,7 @@
<version>
19.7.0.0
</version>
<version>
19.7.0.0
</version>
</dependency>
</dependency>
<!-- Zookeeper -->
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo
</artifactId>
<version>
${dubbo.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.zookeeper
</groupId>
<artifactId>
zookeeper
</artifactId>
<version>
3.4.14
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.apache.curator
</groupId>
<groupId>
org.apache.curator
</groupId>
<artifactId>
curator-framework
</artifactId>
<artifactId>
curator-framework
</artifactId>
...
@@ -186,22 +174,7 @@
...
@@ -186,22 +174,7 @@
<version>
4.0.1
</version>
<version>
4.0.1
</version>
</dependency>
</dependency>
<!-- nacos -->
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-registry-nacos
</artifactId>
<version>
${dubbo.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba.nacos
</groupId>
<artifactId>
nacos-api
</artifactId>
<version>
${nacos.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba.nacos
</groupId>
<artifactId>
nacos-client
</artifactId>
<version>
${nacos.version}
</version>
</dependency>
<!-- easyexcel -->
<!-- easyexcel -->
<dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
com.alibaba
</groupId>
...
@@ -301,12 +274,7 @@
...
@@ -301,12 +274,7 @@
<artifactId>
json
</artifactId>
<artifactId>
json
</artifactId>
<version>
20171018
</version>
<version>
20171018
</version>
</dependency>
</dependency>
<!--钉钉sdk-->
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
alibaba-dingtalk-service-sdk
</artifactId>
<version>
1.0.1
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.apache.httpcomponents
</groupId>
<groupId>
org.apache.httpcomponents
</groupId>
<artifactId>
httpclient
</artifactId>
<artifactId>
httpclient
</artifactId>
...
@@ -319,7 +287,7 @@
...
@@ -319,7 +287,7 @@
<version>
0.11.7
</version>
<version>
0.11.7
</version>
</dependency>
</dependency>
<!-- k8s client -->
<!-- k8s client -->
<dependency>
<
!--<
dependency>
<groupId>io.fabric8</groupId>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<artifactId>kubernetes-client</artifactId>
<version>4.13.0</version>
<version>4.13.0</version>
...
@@ -328,7 +296,7 @@
...
@@ -328,7 +296,7 @@
<groupId>com.github.fge</groupId>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.6</version>
<version>2.2.6</version>
</dependency>
</dependency>
-->
</dependencies>
</dependencies>
...
...
backend/src/main/java/io/dataease/base/domain/DatasetTableField.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
@Data
public
class
DatasetTableField
implements
Serializable
{
private
String
id
;
private
String
tableId
;
private
String
originName
;
private
String
name
;
private
String
type
;
private
Boolean
checked
;
private
Integer
columnIndex
;
private
Long
lastSyncTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/DatasetTableFieldExample.java
0 → 100644
浏览文件 @
9212b73f
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/domain/SysMenu.java
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
domain
;
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
...
@@ -42,4 +44,30 @@ public class SysMenu implements Serializable {
...
@@ -42,4 +44,30 @@ public class SysMenu implements Serializable {
private
Long
updateTime
;
private
Long
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
* 由于该类型作为HashSet key所以必须重写以下方法
* @param o
* @return
*/
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
return
true
;
}
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
{
return
false
;
}
SysMenu
menu
=
(
SysMenu
)
o
;
return
Objects
.
equals
(
menuId
,
menu
.
menuId
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
menuId
);
}
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/SysUser.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
@Data
public
class
SysUser
implements
Serializable
{
private
Long
userId
;
private
Long
deptId
;
private
String
username
;
private
String
nickName
;
private
String
gender
;
private
String
phone
;
private
String
email
;
private
String
password
;
private
Boolean
isAdmin
;
private
Long
enabled
;
private
String
createBy
;
private
String
updateBy
;
private
Long
pwdResetTime
;
private
Long
createTime
;
private
Long
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/SysUserExample.java
0 → 100644
浏览文件 @
9212b73f
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/domain/SysUsersRolesExample.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
domain
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
SysUsersRolesExample
{
protected
String
orderByClause
;
protected
boolean
distinct
;
protected
List
<
Criteria
>
oredCriteria
;
public
SysUsersRolesExample
()
{
oredCriteria
=
new
ArrayList
<
Criteria
>();
}
public
void
setOrderByClause
(
String
orderByClause
)
{
this
.
orderByClause
=
orderByClause
;
}
public
String
getOrderByClause
()
{
return
orderByClause
;
}
public
void
setDistinct
(
boolean
distinct
)
{
this
.
distinct
=
distinct
;
}
public
boolean
isDistinct
()
{
return
distinct
;
}
public
List
<
Criteria
>
getOredCriteria
()
{
return
oredCriteria
;
}
public
void
or
(
Criteria
criteria
)
{
oredCriteria
.
add
(
criteria
);
}
public
Criteria
or
()
{
Criteria
criteria
=
createCriteriaInternal
();
oredCriteria
.
add
(
criteria
);
return
criteria
;
}
public
Criteria
createCriteria
()
{
Criteria
criteria
=
createCriteriaInternal
();
if
(
oredCriteria
.
size
()
==
0
)
{
oredCriteria
.
add
(
criteria
);
}
return
criteria
;
}
protected
Criteria
createCriteriaInternal
()
{
Criteria
criteria
=
new
Criteria
();
return
criteria
;
}
public
void
clear
()
{
oredCriteria
.
clear
();
orderByClause
=
null
;
distinct
=
false
;
}
protected
abstract
static
class
GeneratedCriteria
{
protected
List
<
Criterion
>
criteria
;
protected
GeneratedCriteria
()
{
super
();
criteria
=
new
ArrayList
<
Criterion
>();
}
public
boolean
isValid
()
{
return
criteria
.
size
()
>
0
;
}
public
List
<
Criterion
>
getAllCriteria
()
{
return
criteria
;
}
public
List
<
Criterion
>
getCriteria
()
{
return
criteria
;
}
protected
void
addCriterion
(
String
condition
)
{
if
(
condition
==
null
)
{
throw
new
RuntimeException
(
"Value for condition cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
));
}
protected
void
addCriterion
(
String
condition
,
Object
value
,
String
property
)
{
if
(
value
==
null
)
{
throw
new
RuntimeException
(
"Value for "
+
property
+
" cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
,
value
));
}
protected
void
addCriterion
(
String
condition
,
Object
value1
,
Object
value2
,
String
property
)
{
if
(
value1
==
null
||
value2
==
null
)
{
throw
new
RuntimeException
(
"Between values for "
+
property
+
" cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
,
value1
,
value2
));
}
public
Criteria
andUserIdIsNull
()
{
addCriterion
(
"user_id is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIsNotNull
()
{
addCriterion
(
"user_id is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdEqualTo
(
Long
value
)
{
addCriterion
(
"user_id ="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <>"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThan
(
Long
value
)
{
addCriterion
(
"user_id >"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id >="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThan
(
Long
value
)
{
addCriterion
(
"user_id <"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id not in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id not between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdIsNull
()
{
addCriterion
(
"role_id is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdIsNotNull
()
{
addCriterion
(
"role_id is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdEqualTo
(
Long
value
)
{
addCriterion
(
"role_id ="
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"role_id <>"
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdGreaterThan
(
Long
value
)
{
addCriterion
(
"role_id >"
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"role_id >="
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdLessThan
(
Long
value
)
{
addCriterion
(
"role_id <"
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"role_id <="
,
value
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"role_id in"
,
values
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"role_id not in"
,
values
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"role_id between"
,
value1
,
value2
,
"roleId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andRoleIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"role_id not between"
,
value1
,
value2
,
"roleId"
);
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
protected
Criteria
()
{
super
();
}
}
public
static
class
Criterion
{
private
String
condition
;
private
Object
value
;
private
Object
secondValue
;
private
boolean
noValue
;
private
boolean
singleValue
;
private
boolean
betweenValue
;
private
boolean
listValue
;
private
String
typeHandler
;
public
String
getCondition
()
{
return
condition
;
}
public
Object
getValue
()
{
return
value
;
}
public
Object
getSecondValue
()
{
return
secondValue
;
}
public
boolean
isNoValue
()
{
return
noValue
;
}
public
boolean
isSingleValue
()
{
return
singleValue
;
}
public
boolean
isBetweenValue
()
{
return
betweenValue
;
}
public
boolean
isListValue
()
{
return
listValue
;
}
public
String
getTypeHandler
()
{
return
typeHandler
;
}
protected
Criterion
(
String
condition
)
{
super
();
this
.
condition
=
condition
;
this
.
typeHandler
=
null
;
this
.
noValue
=
true
;
}
protected
Criterion
(
String
condition
,
Object
value
,
String
typeHandler
)
{
super
();
this
.
condition
=
condition
;
this
.
value
=
value
;
this
.
typeHandler
=
typeHandler
;
if
(
value
instanceof
List
<?>)
{
this
.
listValue
=
true
;
}
else
{
this
.
singleValue
=
true
;
}
}
protected
Criterion
(
String
condition
,
Object
value
)
{
this
(
condition
,
value
,
null
);
}
protected
Criterion
(
String
condition
,
Object
value
,
Object
secondValue
,
String
typeHandler
)
{
super
();
this
.
condition
=
condition
;
this
.
value
=
value
;
this
.
secondValue
=
secondValue
;
this
.
typeHandler
=
typeHandler
;
this
.
betweenValue
=
true
;
}
protected
Criterion
(
String
condition
,
Object
value
,
Object
secondValue
)
{
this
(
condition
,
value
,
secondValue
,
null
);
}
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/SysUsersRolesKey.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
domain
;
import
java.io.Serializable
;
import
lombok.Data
;
@Data
public
class
SysUsersRolesKey
implements
Serializable
{
private
Long
userId
;
private
Long
roleId
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/DatasetTableFieldMapper.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
mapper
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.base.domain.DatasetTableFieldExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
DatasetTableFieldMapper
{
long
countByExample
(
DatasetTableFieldExample
example
);
int
deleteByExample
(
DatasetTableFieldExample
example
);
int
deleteByPrimaryKey
(
String
id
);
int
insert
(
DatasetTableField
record
);
int
insertSelective
(
DatasetTableField
record
);
List
<
DatasetTableField
>
selectByExample
(
DatasetTableFieldExample
example
);
DatasetTableField
selectByPrimaryKey
(
String
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
DatasetTableField
record
,
@Param
(
"example"
)
DatasetTableFieldExample
example
);
int
updateByExample
(
@Param
(
"record"
)
DatasetTableField
record
,
@Param
(
"example"
)
DatasetTableFieldExample
example
);
int
updateByPrimaryKeySelective
(
DatasetTableField
record
);
int
updateByPrimaryKey
(
DatasetTableField
record
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/DatasetTableFieldMapper.xml
0 → 100644
浏览文件 @
9212b73f
<?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.DatasetTableFieldMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.DatasetTableField"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"table_id"
jdbcType=
"VARCHAR"
property=
"tableId"
/>
<result
column=
"origin_name"
jdbcType=
"VARCHAR"
property=
"originName"
/>
<result
column=
"name"
jdbcType=
"VARCHAR"
property=
"name"
/>
<result
column=
"type"
jdbcType=
"VARCHAR"
property=
"type"
/>
<result
column=
"checked"
jdbcType=
"BIT"
property=
"checked"
/>
<result
column=
"column_index"
jdbcType=
"INTEGER"
property=
"columnIndex"
/>
<result
column=
"last_sync_time"
jdbcType=
"BIGINT"
property=
"lastSyncTime"
/>
</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, table_id, origin_name, `name`, `type`, `checked`, column_index, last_sync_time
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.DatasetTableFieldExample"
resultMap=
"BaseResultMap"
>
select
<if
test=
"distinct"
>
distinct
</if>
<include
refid=
"Base_Column_List"
/>
from dataset_table_field
<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_table_field
where id = #{id,jdbcType=VARCHAR}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.String"
>
delete from dataset_table_field
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete
id=
"deleteByExample"
parameterType=
"io.dataease.base.domain.DatasetTableFieldExample"
>
delete from dataset_table_field
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.DatasetTableField"
>
insert into dataset_table_field (id, table_id, origin_name,
`name`, `type`, `checked`, column_index,
last_sync_time)
values (#{id,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{originName,jdbcType=VARCHAR},
#{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{checked,jdbcType=BIT}, #{columnIndex,jdbcType=INTEGER},
#{lastSyncTime,jdbcType=BIGINT})
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.DatasetTableField"
>
insert into dataset_table_field
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
id,
</if>
<if
test=
"tableId != null"
>
table_id,
</if>
<if
test=
"originName != null"
>
origin_name,
</if>
<if
test=
"name != null"
>
`name`,
</if>
<if
test=
"type != null"
>
`type`,
</if>
<if
test=
"checked != null"
>
`checked`,
</if>
<if
test=
"columnIndex != null"
>
column_index,
</if>
<if
test=
"lastSyncTime != null"
>
last_sync_time,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=VARCHAR},
</if>
<if
test=
"tableId != null"
>
#{tableId,jdbcType=VARCHAR},
</if>
<if
test=
"originName != null"
>
#{originName,jdbcType=VARCHAR},
</if>
<if
test=
"name != null"
>
#{name,jdbcType=VARCHAR},
</if>
<if
test=
"type != null"
>
#{type,jdbcType=VARCHAR},
</if>
<if
test=
"checked != null"
>
#{checked,jdbcType=BIT},
</if>
<if
test=
"columnIndex != null"
>
#{columnIndex,jdbcType=INTEGER},
</if>
<if
test=
"lastSyncTime != null"
>
#{lastSyncTime,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.DatasetTableFieldExample"
resultType=
"java.lang.Long"
>
select count(*) from dataset_table_field
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</select>
<update
id=
"updateByExampleSelective"
parameterType=
"map"
>
update dataset_table_field
<set>
<if
test=
"record.id != null"
>
id = #{record.id,jdbcType=VARCHAR},
</if>
<if
test=
"record.tableId != null"
>
table_id = #{record.tableId,jdbcType=VARCHAR},
</if>
<if
test=
"record.originName != null"
>
origin_name = #{record.originName,jdbcType=VARCHAR},
</if>
<if
test=
"record.name != null"
>
`name` = #{record.name,jdbcType=VARCHAR},
</if>
<if
test=
"record.type != null"
>
`type` = #{record.type,jdbcType=VARCHAR},
</if>
<if
test=
"record.checked != null"
>
`checked` = #{record.checked,jdbcType=BIT},
</if>
<if
test=
"record.columnIndex != null"
>
column_index = #{record.columnIndex,jdbcType=INTEGER},
</if>
<if
test=
"record.lastSyncTime != null"
>
last_sync_time = #{record.lastSyncTime,jdbcType=BIGINT},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
<update
id=
"updateByExample"
parameterType=
"map"
>
update dataset_table_field
set id = #{record.id,jdbcType=VARCHAR},
table_id = #{record.tableId,jdbcType=VARCHAR},
origin_name = #{record.originName,jdbcType=VARCHAR},
`name` = #{record.name,jdbcType=VARCHAR},
`type` = #{record.type,jdbcType=VARCHAR},
`checked` = #{record.checked,jdbcType=BIT},
column_index = #{record.columnIndex,jdbcType=INTEGER},
last_sync_time = #{record.lastSyncTime,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"io.dataease.base.domain.DatasetTableField"
>
update dataset_table_field
<set>
<if
test=
"tableId != null"
>
table_id = #{tableId,jdbcType=VARCHAR},
</if>
<if
test=
"originName != null"
>
origin_name = #{originName,jdbcType=VARCHAR},
</if>
<if
test=
"name != null"
>
`name` = #{name,jdbcType=VARCHAR},
</if>
<if
test=
"type != null"
>
`type` = #{type,jdbcType=VARCHAR},
</if>
<if
test=
"checked != null"
>
`checked` = #{checked,jdbcType=BIT},
</if>
<if
test=
"columnIndex != null"
>
column_index = #{columnIndex,jdbcType=INTEGER},
</if>
<if
test=
"lastSyncTime != null"
>
last_sync_time = #{lastSyncTime,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"io.dataease.base.domain.DatasetTableField"
>
update dataset_table_field
set table_id = #{tableId,jdbcType=VARCHAR},
origin_name = #{originName,jdbcType=VARCHAR},
`name` = #{name,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
`checked` = #{checked,jdbcType=BIT},
column_index = #{columnIndex,jdbcType=INTEGER},
last_sync_time = #{lastSyncTime,jdbcType=BIGINT}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/SysUserMapper.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
mapper
;
import
io.dataease.base.domain.SysUser
;
import
io.dataease.base.domain.SysUserExample
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
SysUserMapper
{
long
countByExample
(
SysUserExample
example
);
int
deleteByExample
(
SysUserExample
example
);
int
deleteByPrimaryKey
(
Long
userId
);
int
insert
(
SysUser
record
);
int
insertSelective
(
SysUser
record
);
List
<
SysUser
>
selectByExample
(
SysUserExample
example
);
SysUser
selectByPrimaryKey
(
Long
userId
);
int
updateByExampleSelective
(
@Param
(
"record"
)
SysUser
record
,
@Param
(
"example"
)
SysUserExample
example
);
int
updateByExample
(
@Param
(
"record"
)
SysUser
record
,
@Param
(
"example"
)
SysUserExample
example
);
int
updateByPrimaryKeySelective
(
SysUser
record
);
int
updateByPrimaryKey
(
SysUser
record
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/SysUserMapper.xml
0 → 100644
浏览文件 @
9212b73f
差异被折叠。
点击展开。
backend/src/main/java/io/dataease/base/mapper/SysUsersRolesMapper.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
mapper
;
import
io.dataease.base.domain.SysUsersRolesExample
;
import
io.dataease.base.domain.SysUsersRolesKey
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
public
interface
SysUsersRolesMapper
{
long
countByExample
(
SysUsersRolesExample
example
);
int
deleteByExample
(
SysUsersRolesExample
example
);
int
deleteByPrimaryKey
(
SysUsersRolesKey
key
);
int
insert
(
SysUsersRolesKey
record
);
int
insertSelective
(
SysUsersRolesKey
record
);
List
<
SysUsersRolesKey
>
selectByExample
(
SysUsersRolesExample
example
);
int
updateByExampleSelective
(
@Param
(
"record"
)
SysUsersRolesKey
record
,
@Param
(
"example"
)
SysUsersRolesExample
example
);
int
updateByExample
(
@Param
(
"record"
)
SysUsersRolesKey
record
,
@Param
(
"example"
)
SysUsersRolesExample
example
);
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/SysUsersRolesMapper.xml
0 → 100644
浏览文件 @
9212b73f
<?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.SysUsersRolesMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.SysUsersRolesKey"
>
<id
column=
"user_id"
jdbcType=
"BIGINT"
property=
"userId"
/>
<id
column=
"role_id"
jdbcType=
"BIGINT"
property=
"roleId"
/>
</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"
>
user_id, role_id
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.SysUsersRolesExample"
resultMap=
"BaseResultMap"
>
select
<if
test=
"distinct"
>
distinct
</if>
<include
refid=
"Base_Column_List"
/>
from sys_users_roles
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
<if
test=
"orderByClause != null"
>
order by ${orderByClause}
</if>
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"io.dataease.base.domain.SysUsersRolesKey"
>
delete from sys_users_roles
where user_id = #{userId,jdbcType=BIGINT}
and role_id = #{roleId,jdbcType=BIGINT}
</delete>
<delete
id=
"deleteByExample"
parameterType=
"io.dataease.base.domain.SysUsersRolesExample"
>
delete from sys_users_roles
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.SysUsersRolesKey"
>
insert into sys_users_roles (user_id, role_id)
values (#{userId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT})
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.SysUsersRolesKey"
>
insert into sys_users_roles
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"userId != null"
>
user_id,
</if>
<if
test=
"roleId != null"
>
role_id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"userId != null"
>
#{userId,jdbcType=BIGINT},
</if>
<if
test=
"roleId != null"
>
#{roleId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.SysUsersRolesExample"
resultType=
"java.lang.Long"
>
select count(*) from sys_users_roles
<if
test=
"_parameter != null"
>
<include
refid=
"Example_Where_Clause"
/>
</if>
</select>
<update
id=
"updateByExampleSelective"
parameterType=
"map"
>
update sys_users_roles
<set>
<if
test=
"record.userId != null"
>
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if
test=
"record.roleId != null"
>
role_id = #{record.roleId,jdbcType=BIGINT},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
<update
id=
"updateByExample"
parameterType=
"map"
>
update sys_users_roles
set user_id = #{record.userId,jdbcType=BIGINT},
role_id = #{record.roleId,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</update>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.java
浏览文件 @
9212b73f
...
@@ -2,13 +2,21 @@ package io.dataease.base.mapper.ext;
...
@@ -2,13 +2,21 @@ package io.dataease.base.mapper.ext;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ExtSysRoleMapper
{
public
interface
ExtSysRoleMapper
{
List
<
RoleNodeResponse
>
query
(
@Param
(
"request"
)
RoleGridRequest
request
);
List
<
RoleNodeResponse
>
query
(
@Param
(
"request"
)
RoleGridRequest
request
);
int
deleteRoleMenu
(
@Param
(
"roleId"
)
Long
roleId
);
int
batchInsertRoleMenu
(
@Param
(
"maps"
)
List
<
Map
<
String
,
Long
>>
maps
);
List
<
RoleUserItem
>
queryAll
();
}
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.xml
浏览文件 @
9212b73f
...
@@ -11,6 +11,11 @@
...
@@ -11,6 +11,11 @@
</collection>
</collection>
</resultMap>
</resultMap>
<resultMap
id=
"roleItemMap"
type=
"io.dataease.controller.sys.response.RoleUserItem"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"name"
column=
"name"
/>
</resultMap>
<select
id=
"query"
resultMap=
"BaseResultMap"
>
<select
id=
"query"
resultMap=
"BaseResultMap"
>
select r.*, m.menu_id
select r.*, m.menu_id
from sys_role r left join sys_roles_menus m on r.role_id = m.role_id
from sys_role r left join sys_roles_menus m on r.role_id = m.role_id
...
@@ -23,4 +28,21 @@
...
@@ -23,4 +28,21 @@
</select>
</select>
<delete
id=
"deleteRoleMenu"
>
delete from sys_roles_menus where role_id = #{roleId}
</delete>
<insert
id=
"batchInsertRoleMenu"
>
insert into sys_roles_menus (role_id, menu_id) values
<foreach
collection=
"maps"
item=
"map"
separator=
","
>
(#{map.roleId},#{map.menuId})
</foreach>
</insert>
<select
id=
"queryAll"
resultMap=
"roleItemMap"
>
select role_id as id, name from sys_role
</select>
</mapper>
</mapper>
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.controller.sys.request.UserGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
ExtSysUserMapper
{
List
<
SysUserGridResponse
>
query
(
@Param
(
"request"
)
UserGridRequest
request
);
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
0 → 100644
浏览文件 @
9212b73f
<?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.ext.ExtSysUserMapper"
>
<resultMap
id=
"sysUserDept"
type=
"io.dataease.controller.sys.response.SysUserDept"
>
<id
column=
"dept_id"
property=
"deptId"
></id>
<result
column=
"pid"
property=
"pid"
></result>
<result
column=
"dept_name"
property=
"deptName"
></result>
</resultMap>
<resultMap
id=
"sysUserRole"
type=
"io.dataease.controller.sys.response.SysUserRole"
>
<result
column=
"role_id"
property=
"roleId"
></result>
<result
column=
"role_name"
property=
"roleName"
></result>
</resultMap>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.controller.sys.response.SysUserGridResponse"
extends=
"io.dataease.base.mapper.SysUserMapper.BaseResultMap"
>
<result
property=
"id"
column=
"id"
></result>
<association
property=
"dept"
javaType=
"io.dataease.controller.sys.response.SysUserDept"
>
<id
column=
"dept_id"
property=
"deptId"
/>
<result
column=
"pid"
property=
"pid"
/>
<result
column=
"dept_name"
property=
"deptName"
/>
</association>
<association
property=
"dept"
column=
"dept_id"
javaType=
"io.dataease.controller.sys.response.SysUserDept"
resultMap=
"sysUserDept"
/>
<collection
property=
"roles"
ofType=
"io.dataease.controller.sys.response.SysUserRole"
>
<id
column=
"role_id"
property=
"roleId"
/>
<result
column=
"role_name"
property=
"roleName"
/>
</collection>
</resultMap>
<select
id=
"query"
resultMap=
"BaseResultMap"
>
select u.*,u.user_id as id, r.role_id,r.name as role_name , d.pid, d.name as dept_name
from sys_user u left join sys_users_roles ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join sys_dept d on d.dept_id = u.dept_id
<where>
<if
test=
"request.name != null"
>
AND u.name like CONCAT('%', #{request.name},'%')
</if>
</where>
order by u.update_time desc
</select>
</mapper>
backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java
浏览文件 @
9212b73f
...
@@ -21,12 +21,12 @@ public class DataSetTableController {
...
@@ -21,12 +21,12 @@ public class DataSetTableController {
private
DataSetTableService
dataSetTableService
;
private
DataSetTableService
dataSetTableService
;
@PostMapping
(
"batchAdd"
)
@PostMapping
(
"batchAdd"
)
public
void
batchAdd
(
@RequestBody
List
<
DatasetTable
>
datasetTable
)
{
public
void
batchAdd
(
@RequestBody
List
<
DatasetTable
>
datasetTable
)
throws
Exception
{
dataSetTableService
.
batchInsert
(
datasetTable
);
dataSetTableService
.
batchInsert
(
datasetTable
);
}
}
@PostMapping
(
"update"
)
@PostMapping
(
"update"
)
public
DatasetTable
save
(
@RequestBody
DatasetTable
datasetTable
)
{
public
DatasetTable
save
(
@RequestBody
DatasetTable
datasetTable
)
throws
Exception
{
return
dataSetTableService
.
save
(
datasetTable
);
return
dataSetTableService
.
save
(
datasetTable
);
}
}
...
...
backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
dataset
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.service.dataset.DataSetTableFieldsService
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @Author gin
* @Date 2021/2/24 4:28 下午
*/
@RestController
@RequestMapping
(
"/dataset/field"
)
public
class
DataSetTableFieldController
{
@Resource
private
DataSetTableFieldsService
dataSetTableFieldsService
;
@PostMapping
(
"list/{tableId}"
)
public
List
<
DatasetTableField
>
list
(
@PathVariable
String
tableId
)
{
DatasetTableField
datasetTableField
=
new
DatasetTableField
();
datasetTableField
.
setTableId
(
tableId
);
return
dataSetTableFieldsService
.
list
(
datasetTableField
);
}
@PostMapping
(
"batchEdit"
)
public
void
batchEdit
(
@RequestBody
List
<
DatasetTableField
>
list
)
{
dataSetTableFieldsService
.
batchEdit
(
list
);
}
}
backend/src/main/java/io/dataease/controller/sys/SysMenuController.java
浏览文件 @
9212b73f
...
@@ -14,6 +14,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -14,6 +14,7 @@ import lombok.RequiredArgsConstructor;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@RestController
@RestController
...
@@ -29,15 +30,11 @@ public class SysMenuController {
...
@@ -29,15 +30,11 @@ public class SysMenuController {
@PostMapping
(
"/childNodes/{pid}"
)
@PostMapping
(
"/childNodes/{pid}"
)
public
List
<
MenuNodeResponse
>
childNodes
(
@PathVariable
(
"pid"
)
Long
pid
){
public
List
<
MenuNodeResponse
>
childNodes
(
@PathVariable
(
"pid"
)
Long
pid
){
List
<
SysMenu
>
nodes
=
menuService
.
nodesByPid
(
pid
);
List
<
SysMenu
>
nodes
=
menuService
.
nodesByPid
(
pid
);
List
<
MenuNodeResponse
>
nodeResponses
=
nodes
.
stream
().
map
(
node
->
{
return
menuService
.
convert
(
nodes
);
MenuNodeResponse
menuNodeResponse
=
BeanUtils
.
copyBean
(
new
MenuNodeResponse
(),
node
);
menuNodeResponse
.
setHasChildren
(
node
.
getSubCount
()
>
0
);
menuNodeResponse
.
setTop
(
node
.
getPid
()
==
menuService
.
MENU_ROOT_PID
);
return
menuNodeResponse
;
}).
collect
(
Collectors
.
toList
());
return
nodeResponses
;
}
}
@ApiOperation
(
"新增菜单"
)
@ApiOperation
(
"新增菜单"
)
@PostMapping
(
"/create"
)
@PostMapping
(
"/create"
)
public
void
create
(
@RequestBody
MenuCreateRequest
request
){
public
void
create
(
@RequestBody
MenuCreateRequest
request
){
...
@@ -49,6 +46,7 @@ public class SysMenuController {
...
@@ -49,6 +46,7 @@ public class SysMenuController {
public
void
delete
(
@RequestBody
MenuDeleteRequest
request
){
public
void
delete
(
@RequestBody
MenuDeleteRequest
request
){
menuService
.
delete
(
request
);
menuService
.
delete
(
request
);
}
}
@ApiOperation
(
"更新菜单"
)
@ApiOperation
(
"更新菜单"
)
@PostMapping
(
"/update"
)
@PostMapping
(
"/update"
)
public
void
update
(
@RequestBody
MenuCreateRequest
menu
){
public
void
update
(
@RequestBody
MenuCreateRequest
menu
){
...
@@ -56,4 +54,14 @@ public class SysMenuController {
...
@@ -56,4 +54,14 @@ public class SysMenuController {
}
}
@PostMapping
(
"/childMenus/{pid}"
)
public
Set
<
Long
>
childMenus
(
@PathVariable
Long
pid
){
List
<
MenuNodeResponse
>
childs
=
menuService
.
childs
(
pid
);
Set
<
Long
>
sets
=
childs
.
stream
().
map
(
MenuNodeResponse:
:
getMenuId
).
collect
(
Collectors
.
toSet
());
sets
.
add
(
pid
);
return
sets
;
}
}
}
backend/src/main/java/io/dataease/controller/sys/SysRoleController.java
浏览文件 @
9212b73f
...
@@ -7,7 +7,9 @@ import io.dataease.base.domain.SysRole;
...
@@ -7,7 +7,9 @@ import io.dataease.base.domain.SysRole;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
io.dataease.service.sys.SysRoleService
;
import
io.dataease.service.sys.SysRoleService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -34,8 +36,8 @@ public class SysRoleController {
...
@@ -34,8 +36,8 @@ public class SysRoleController {
@ApiOperation
(
"删除角色"
)
@ApiOperation
(
"删除角色"
)
@PostMapping
(
"/delete"
)
@PostMapping
(
"/delete
/{roleId}
"
)
public
void
delete
(
Long
roleId
){
public
void
delete
(
@PathVariable
(
"roleId"
)
Long
roleId
){
sysRoleService
.
delete
(
roleId
);
sysRoleService
.
delete
(
roleId
);
}
}
...
@@ -52,4 +54,16 @@ public class SysRoleController {
...
@@ -52,4 +54,16 @@ public class SysRoleController {
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
sysRoleService
.
query
(
request
));
return
PageUtils
.
setPageInfo
(
page
,
sysRoleService
.
query
(
request
));
}
}
@PostMapping
(
"/saveRolesMenus"
)
public
void
saveRolesMenus
(
@RequestBody
RoleMenusRequest
request
){
sysRoleService
.
batchSaveRolesMenus
(
request
);
}
@PostMapping
(
"/all"
)
public
List
<
RoleUserItem
>
all
(){
return
sysRoleService
.
allRoles
();
}
}
}
backend/src/main/java/io/dataease/controller/sys/SysUserController.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.UserGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
io.dataease.service.sys.SysUserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
@RestController
@Api
(
tags
=
"系统:用户管理"
)
@RequestMapping
(
"/api/user"
)
public
class
SysUserController
{
@Resource
private
SysUserService
sysUserService
;
@ApiOperation
(
"查询用户"
)
@PostMapping
(
"/userGrid/{goPage}/{pageSize}"
)
public
Pager
<
List
<
SysUserGridResponse
>>
userGrid
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
UserGridRequest
request
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
sysUserService
.
query
(
request
));
}
@ApiOperation
(
"创建用户"
)
@PostMapping
(
"/create"
)
public
void
create
(
@RequestBody
SysUserCreateRequest
request
){
sysUserService
.
save
(
request
);
}
@ApiOperation
(
"更新用户"
)
@PostMapping
(
"/update"
)
public
void
update
(
@RequestBody
SysUserCreateRequest
request
){
sysUserService
.
update
(
request
);
}
@ApiOperation
(
"更新用户"
)
@PostMapping
(
"/delete/{userId}"
)
public
void
delete
(
@PathVariable
(
"userId"
)
Long
userId
){
sysUserService
.
delete
(
userId
);
}
}
backend/src/main/java/io/dataease/controller/sys/request/RoleMenusRequest.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
request
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
RoleMenusRequest
{
private
Long
roleId
;
private
List
<
Long
>
menuIds
;
}
backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
request
;
import
io.dataease.base.domain.SysUser
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
SysUserCreateRequest
extends
SysUser
{
private
List
<
Long
>
roleIds
;
}
backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
request
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
UserGridRequest
implements
Serializable
{
private
String
name
;
}
backend/src/main/java/io/dataease/controller/sys/response/RoleUserItem.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
response
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
RoleUserItem
implements
Serializable
{
private
Long
id
;
private
String
name
;
}
backend/src/main/java/io/dataease/controller/sys/response/SysUserDept.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
response
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
SysUserDept
implements
Serializable
{
private
Long
deptId
;
private
Long
pid
;
private
String
deptName
;
}
backend/src/main/java/io/dataease/controller/sys/response/SysUserGridResponse.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
response
;
import
io.dataease.base.domain.SysUser
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
SysUserGridResponse
extends
SysUser
{
private
Long
id
;
private
List
<
SysUserRole
>
roles
;
private
SysUserDept
dept
;
private
List
<
Long
>
roleIds
;
}
backend/src/main/java/io/dataease/controller/sys/response/SysUserRole.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
controller
.
sys
.
response
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
SysUserRole
implements
Serializable
{
private
Long
roleId
;
private
String
roleName
;
}
backend/src/main/java/io/dataease/datasource/service/DatasourceService.java
浏览文件 @
9212b73f
...
@@ -6,7 +6,7 @@ import io.dataease.commons.exception.DEException;
...
@@ -6,7 +6,7 @@ import io.dataease.commons.exception.DEException;
import
io.dataease.datasource.provider.DatasourceProvider
;
import
io.dataease.datasource.provider.DatasourceProvider
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections
4
.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java
浏览文件 @
9212b73f
package
io
.
dataease
.
service
.
dataset
;
package
io
.
dataease
.
service
.
dataset
;
import
com.alibaba.nacos.common.util.UuidUtils
;
import
io.dataease.base.domain.DatasetGroup
;
import
io.dataease.base.domain.DatasetGroup
;
import
io.dataease.base.domain.DatasetGroupExample
;
import
io.dataease.base.domain.DatasetGroupExample
;
import
io.dataease.base.mapper.DatasetGroupMapper
;
import
io.dataease.base.mapper.DatasetGroupMapper
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.controller.request.dataset.DataSetGroupRequest
;
import
io.dataease.controller.request.dataset.DataSetGroupRequest
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
io.dataease.dto.dataset.DataSetGroupDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections
4
.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -27,7 +27,7 @@ public class DataSetGroupService {
...
@@ -27,7 +27,7 @@ public class DataSetGroupService {
public
DataSetGroupDTO
save
(
DatasetGroup
datasetGroup
)
{
public
DataSetGroupDTO
save
(
DatasetGroup
datasetGroup
)
{
if
(
StringUtils
.
isEmpty
(
datasetGroup
.
getId
()))
{
if
(
StringUtils
.
isEmpty
(
datasetGroup
.
getId
()))
{
datasetGroup
.
setId
(
U
uidUtils
.
generateUuid
());
datasetGroup
.
setId
(
U
UID
.
randomUUID
().
toString
());
datasetGroup
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetGroup
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetGroupMapper
.
insert
(
datasetGroup
);
datasetGroupMapper
.
insert
(
datasetGroup
);
}
else
{
}
else
{
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
service
.
dataset
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.base.domain.DatasetTableFieldExample
;
import
io.dataease.base.mapper.DatasetTableFieldMapper
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.UUID
;
/**
* @Author gin
* @Date 2021/2/24 2:03 下午
*/
@Service
public
class
DataSetTableFieldsService
{
@Resource
private
DatasetTableFieldMapper
datasetTableFieldMapper
;
public
void
batchEdit
(
List
<
DatasetTableField
>
list
)
{
for
(
DatasetTableField
field
:
list
)
{
save
(
field
);
}
}
public
DatasetTableField
save
(
DatasetTableField
datasetTableField
)
{
if
(
StringUtils
.
isEmpty
(
datasetTableField
.
getId
()))
{
datasetTableField
.
setId
(
UUID
.
randomUUID
().
toString
());
datasetTableFieldMapper
.
insert
(
datasetTableField
);
}
else
{
datasetTableFieldMapper
.
updateByPrimaryKey
(
datasetTableField
);
}
return
datasetTableField
;
}
public
List
<
DatasetTableField
>
list
(
DatasetTableField
datasetTableField
)
{
DatasetTableFieldExample
datasetTableFieldExample
=
new
DatasetTableFieldExample
();
DatasetTableFieldExample
.
Criteria
criteria
=
datasetTableFieldExample
.
createCriteria
();
if
(
StringUtils
.
isNotEmpty
(
datasetTableField
.
getTableId
()))
{
criteria
.
andTableIdEqualTo
(
datasetTableField
.
getTableId
());
}
if
(
ObjectUtils
.
isNotEmpty
(
datasetTableField
.
getChecked
()))
{
criteria
.
andCheckedEqualTo
(
datasetTableField
.
getChecked
());
}
datasetTableFieldExample
.
setOrderByClause
(
"column_index asc"
);
return
datasetTableFieldMapper
.
selectByExample
(
datasetTableFieldExample
);
}
public
void
deleteByTableId
(
String
tableId
)
{
DatasetTableFieldExample
datasetTableFieldExample
=
new
DatasetTableFieldExample
();
datasetTableFieldExample
.
createCriteria
().
andTableIdEqualTo
(
tableId
);
datasetTableFieldMapper
.
deleteByExample
(
datasetTableFieldExample
);
}
}
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
9212b73f
package
io
.
dataease
.
service
.
dataset
;
package
io
.
dataease
.
service
.
dataset
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.nacos.common.util.UuidUtils
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
io.dataease.base.domain.DatasetTable
;
import
io.dataease.base.domain.DatasetTable
;
import
io.dataease.base.domain.DatasetTableExample
;
import
io.dataease.base.domain.DatasetTableExample
;
import
io.dataease.base.domain.DatasetTableField
;
import
io.dataease.base.domain.Datasource
;
import
io.dataease.base.domain.Datasource
;
import
io.dataease.base.mapper.DatasetTableMapper
;
import
io.dataease.base.mapper.DatasetTableMapper
;
import
io.dataease.base.mapper.DatasourceMapper
;
import
io.dataease.base.mapper.DatasourceMapper
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.controller.request.dataset.DataSetTableRequest
;
import
io.dataease.controller.request.dataset.DataSetTableRequest
;
import
io.dataease.datasource.constants.DatasourceTypes
;
import
io.dataease.datasource.dto.TableFiled
;
import
io.dataease.datasource.dto.TableFiled
;
import
io.dataease.datasource.provider.DatasourceProvider
;
import
io.dataease.datasource.provider.DatasourceProvider
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.provider.ProviderFactory
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.datasource.request.DatasourceRequest
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
io.dataease.dto.dataset.DataTableInfoDTO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.
util.HashMap
;
import
java.
text.MessageFormat
;
import
java.util.
List
;
import
java.util.
*
;
import
java.util.
Map
;
import
java.util.
stream.Collectors
;
/**
/**
* @Author gin
* @Author gin
...
@@ -33,23 +34,29 @@ public class DataSetTableService {
...
@@ -33,23 +34,29 @@ public class DataSetTableService {
private
DatasetTableMapper
datasetTableMapper
;
private
DatasetTableMapper
datasetTableMapper
;
@Resource
@Resource
private
DatasourceMapper
datasourceMapper
;
private
DatasourceMapper
datasourceMapper
;
@Resource
private
DataSetTableFieldsService
dataSetTableFieldsService
;
public
void
batchInsert
(
List
<
DatasetTable
>
datasetTable
)
{
public
void
batchInsert
(
List
<
DatasetTable
>
datasetTable
)
throws
Exception
{
for
(
DatasetTable
table
:
datasetTable
)
{
for
(
DatasetTable
table
:
datasetTable
)
{
save
(
table
);
save
(
table
);
}
}
}
}
public
DatasetTable
save
(
DatasetTable
datasetTable
)
{
public
DatasetTable
save
(
DatasetTable
datasetTable
)
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
datasetTable
.
getId
()))
{
if
(
StringUtils
.
isEmpty
(
datasetTable
.
getId
()))
{
datasetTable
.
setId
(
U
uidUtils
.
generateUuid
());
datasetTable
.
setId
(
U
UID
.
randomUUID
().
toString
());
datasetTable
.
setCreateTime
(
System
.
currentTimeMillis
());
datasetTable
.
setCreateTime
(
System
.
currentTimeMillis
());
DataTableInfoDTO
dataTableInfoDTO
=
new
DataTableInfoDTO
();
DataTableInfoDTO
dataTableInfoDTO
=
new
DataTableInfoDTO
();
if
(
StringUtils
.
equalsIgnoreCase
(
"db"
,
datasetTable
.
getType
()))
{
if
(
StringUtils
.
equalsIgnoreCase
(
"db"
,
datasetTable
.
getType
()))
{
dataTableInfoDTO
.
setTable
(
datasetTable
.
getName
());
dataTableInfoDTO
.
setTable
(
datasetTable
.
getName
());
}
}
datasetTable
.
setInfo
(
new
Gson
().
toJson
(
dataTableInfoDTO
));
datasetTable
.
setInfo
(
new
Gson
().
toJson
(
dataTableInfoDTO
));
datasetTableMapper
.
insert
(
datasetTable
);
int
insert
=
datasetTableMapper
.
insert
(
datasetTable
);
// 添加表成功后,获取当前表字段和类型,抽象到dataease数据库
if
(
insert
==
1
)
{
saveTableField
(
datasetTable
);
}
}
else
{
}
else
{
datasetTableMapper
.
updateByPrimaryKeyWithBLOBs
(
datasetTable
);
datasetTableMapper
.
updateByPrimaryKeyWithBLOBs
(
datasetTable
);
}
}
...
@@ -58,6 +65,7 @@ public class DataSetTableService {
...
@@ -58,6 +65,7 @@ public class DataSetTableService {
public
void
delete
(
String
id
)
{
public
void
delete
(
String
id
)
{
datasetTableMapper
.
deleteByPrimaryKey
(
id
);
datasetTableMapper
.
deleteByPrimaryKey
(
id
);
dataSetTableFieldsService
.
deleteByTableId
(
id
);
}
}
public
List
<
DatasetTable
>
list
(
DataSetTableRequest
dataSetTableRequest
)
{
public
List
<
DatasetTable
>
list
(
DataSetTableRequest
dataSetTableRequest
)
{
...
@@ -88,7 +96,14 @@ public class DataSetTableService {
...
@@ -88,7 +96,14 @@ public class DataSetTableService {
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
datasourceRequest
.
setDatasource
(
ds
);
String
table
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
).
getTable
();
String
table
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
).
getTable
();
datasourceRequest
.
setQuery
(
"SELECT * FROM "
+
table
+
";"
);
DatasetTableField
datasetTableField
=
new
DatasetTableField
();
datasetTableField
.
setTableId
(
dataSetTableRequest
.
getId
());
datasetTableField
.
setChecked
(
Boolean
.
TRUE
);
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableField
);
String
[]
fieldArray
=
fields
.
stream
().
map
(
DatasetTableField:
:
getOriginName
).
toArray
(
String
[]::
new
);
datasourceRequest
.
setQuery
(
createQuerySQL
(
ds
.
getType
(),
table
,
fieldArray
));
return
datasourceProvider
.
getData
(
datasourceRequest
);
return
datasourceProvider
.
getData
(
datasourceRequest
);
}
}
...
@@ -98,25 +113,83 @@ public class DataSetTableService {
...
@@ -98,25 +113,83 @@ public class DataSetTableService {
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
datasourceRequest
.
setDatasource
(
ds
);
datasourceRequest
.
setDatasource
(
ds
);
String
table
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
).
getTable
();
String
table
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
).
getTable
();
datasourceRequest
.
setTable
(
table
);
// datasourceRequest.setTable(table);
datasourceRequest
.
setQuery
(
"SELECT * FROM "
+
table
+
" LIMIT 0,10;"
);
List
<
TableFiled
>
fields
=
datasourceProvider
.
getTableFileds
(
datasourceRequest
);
DatasetTableField
datasetTableField
=
new
DatasetTableField
();
List
<
String
[]>
data
=
datasourceProvider
.
getData
(
datasourceRequest
);
datasetTableField
.
setTableId
(
dataSetTableRequest
.
getId
());
datasetTableField
.
setChecked
(
Boolean
.
TRUE
);
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableField
);
String
[]
fieldArray
=
fields
.
stream
().
map
(
DatasetTableField:
:
getOriginName
).
toArray
(
String
[]::
new
);
// datasourceRequest.setQuery("SELECT " + StringUtils.join(fieldArray, ",") + " FROM " + table + " LIMIT 0,10;");
datasourceRequest
.
setQuery
(
createQuerySQL
(
ds
.
getType
(),
table
,
fieldArray
)
+
" LIMIT 0,10"
);
List
<
String
[]>
data
=
new
ArrayList
<>();
try
{
data
.
addAll
(
datasourceProvider
.
getData
(
datasourceRequest
));
}
catch
(
Exception
e
)
{
}
/*JSONArray jsonArray = new JSONArray();
if (CollectionUtils.isNotEmpty(data)) {
data.forEach(ele -> {
JSONObject jsonObject = new JSONObject();
for (int i = 0; i < ele.length; i++) {
jsonObject.put(fieldArray[i], ele[i]);
}
jsonArray.add(jsonObject);
});
}*/
List
<
Map
<
String
,
Object
>>
jsonArray
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
data
))
{
jsonArray
=
data
.
stream
().
map
(
ele
->
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
ele
.
length
;
i
++)
{
map
.
put
(
fieldArray
[
i
],
ele
[
i
]);
}
return
map
;
}).
collect
(
Collectors
.
toList
());
}
JSONArray
jsonArray
=
new
JSONArray
();
data
.
forEach
(
ele
->
{
JSONObject
jsonObject
=
new
JSONObject
();
for
(
int
i
=
0
;
i
<
ele
.
length
;
i
++)
{
jsonObject
.
put
(
fields
.
get
(
i
).
getFieldName
(),
ele
[
i
]);
}
jsonArray
.
add
(
jsonObject
);
});
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"fields"
,
fields
);
map
.
put
(
"fields"
,
fields
);
map
.
put
(
"data"
,
jsonArray
);
map
.
put
(
"data"
,
jsonArray
);
return
map
;
return
map
;
}
}
public
void
saveTableField
(
DatasetTable
datasetTable
)
throws
Exception
{
DataSetTableRequest
dataSetTableRequest
=
new
DataSetTableRequest
();
BeanUtils
.
copyBean
(
dataSetTableRequest
,
datasetTable
);
List
<
TableFiled
>
fields
=
getFields
(
dataSetTableRequest
);
long
syncTime
=
System
.
currentTimeMillis
();
if
(
CollectionUtils
.
isNotEmpty
(
fields
))
{
for
(
int
i
=
0
;
i
<
fields
.
size
();
i
++)
{
TableFiled
filed
=
fields
.
get
(
i
);
DatasetTableField
datasetTableField
=
new
DatasetTableField
();
datasetTableField
.
setTableId
(
datasetTable
.
getId
());
datasetTableField
.
setOriginName
(
filed
.
getFieldName
());
datasetTableField
.
setName
(
filed
.
getRemarks
());
datasetTableField
.
setType
(
filed
.
getFieldType
());
datasetTableField
.
setChecked
(
true
);
datasetTableField
.
setColumnIndex
(
i
);
datasetTableField
.
setLastSyncTime
(
syncTime
);
dataSetTableFieldsService
.
save
(
datasetTableField
);
}
}
}
public
String
createQuerySQL
(
String
type
,
String
table
,
String
[]
fields
)
{
DatasourceTypes
datasourceType
=
DatasourceTypes
.
valueOf
(
type
);
switch
(
datasourceType
)
{
case
mysql:
return
MessageFormat
.
format
(
"SELECT {0} FROM {1}"
,
StringUtils
.
join
(
fields
,
","
),
table
);
case
sqlServer:
return
MessageFormat
.
format
(
"SELECT {0} FROM {1}"
,
StringUtils
.
join
(
fields
,
","
),
table
);
default
:
return
MessageFormat
.
format
(
"SELECT {0} FROM {1}"
,
StringUtils
.
join
(
fields
,
","
),
table
);
}
}
}
}
backend/src/main/java/io/dataease/service/sys/MenuService.java
浏览文件 @
9212b73f
...
@@ -7,11 +7,16 @@ import io.dataease.base.mapper.ext.ExtMenuMapper;
...
@@ -7,11 +7,16 @@ import io.dataease.base.mapper.ext.ExtMenuMapper;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.controller.sys.request.MenuCreateRequest
;
import
io.dataease.controller.sys.request.MenuCreateRequest
;
import
io.dataease.controller.sys.request.MenuDeleteRequest
;
import
io.dataease.controller.sys.request.MenuDeleteRequest
;
import
io.dataease.controller.sys.response.MenuNodeResponse
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
MenuService
{
public
class
MenuService
{
...
@@ -108,5 +113,32 @@ public class MenuService {
...
@@ -108,5 +113,32 @@ public class MenuService {
return
sysMenuMapper
.
updateByPrimaryKeySelective
(
sysMenu
);
return
sysMenuMapper
.
updateByPrimaryKeySelective
(
sysMenu
);
}
}
public
List
<
MenuNodeResponse
>
childs
(
Long
pid
){
Set
<
SysMenu
>
childs
=
getChilds
(
nodesByPid
(
pid
),
new
HashSet
());
List
<
SysMenu
>
menus
=
childs
.
stream
().
collect
(
Collectors
.
toList
());
List
<
MenuNodeResponse
>
responses
=
convert
(
menus
);
return
responses
;
}
private
Set
<
SysMenu
>
getChilds
(
List
<
SysMenu
>
lists
,
Set
<
SysMenu
>
sets
){
lists
.
forEach
(
menu
->
{
sets
.
add
(
menu
);
List
<
SysMenu
>
kidMenus
=
nodesByPid
(
menu
.
getMenuId
());
if
(
CollectionUtils
.
isNotEmpty
(
kidMenus
)){
getChilds
(
kidMenus
,
sets
);
}
});
return
sets
;
}
public
List
<
MenuNodeResponse
>
convert
(
List
<
SysMenu
>
menus
){
return
menus
.
stream
().
map
(
node
->
{
MenuNodeResponse
menuNodeResponse
=
BeanUtils
.
copyBean
(
new
MenuNodeResponse
(),
node
);
menuNodeResponse
.
setHasChildren
(
node
.
getSubCount
()
>
0
);
menuNodeResponse
.
setTop
(
node
.
getPid
()
==
MENU_ROOT_PID
);
return
menuNodeResponse
;
}).
collect
(
Collectors
.
toList
());
}
}
}
backend/src/main/java/io/dataease/service/sys/SysRoleService.java
浏览文件 @
9212b73f
...
@@ -2,14 +2,22 @@ package io.dataease.service.sys;
...
@@ -2,14 +2,22 @@ package io.dataease.service.sys;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.base.domain.SysUsersRolesExample
;
import
io.dataease.base.mapper.SysRoleMapper
;
import
io.dataease.base.mapper.SysRoleMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.ext.ExtSysRoleMapper
;
import
io.dataease.base.mapper.ext.ExtSysRoleMapper
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleNodeResponse
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
SysRoleService
{
public
class
SysRoleService
{
...
@@ -20,6 +28,9 @@ public class SysRoleService {
...
@@ -20,6 +28,9 @@ public class SysRoleService {
@Resource
@Resource
private
ExtSysRoleMapper
extSysRoleMapper
;
private
ExtSysRoleMapper
extSysRoleMapper
;
@Resource
private
SysUsersRolesMapper
sysUsersRolesMapper
;
public
int
add
(
SysRole
role
){
public
int
add
(
SysRole
role
){
Long
now
=
System
.
currentTimeMillis
();
Long
now
=
System
.
currentTimeMillis
();
...
@@ -35,7 +46,12 @@ public class SysRoleService {
...
@@ -35,7 +46,12 @@ public class SysRoleService {
return
mapper
.
updateByPrimaryKey
(
role
);
return
mapper
.
updateByPrimaryKey
(
role
);
}
}
@Transactional
public
int
delete
(
Long
roleId
){
public
int
delete
(
Long
roleId
){
SysUsersRolesExample
example
=
new
SysUsersRolesExample
();
example
.
createCriteria
().
andRoleIdEqualTo
(
roleId
);
sysUsersRolesMapper
.
deleteByExample
(
example
);
//删除用户角色关联关系
extSysRoleMapper
.
deleteRoleMenu
(
roleId
);
//删除菜单角色关联关系
return
mapper
.
deleteByPrimaryKey
(
roleId
);
return
mapper
.
deleteByPrimaryKey
(
roleId
);
}
}
...
@@ -45,4 +61,23 @@ public class SysRoleService {
...
@@ -45,4 +61,23 @@ public class SysRoleService {
return
result
;
return
result
;
}
}
@Transactional
public
int
batchSaveRolesMenus
(
RoleMenusRequest
request
){
extSysRoleMapper
.
deleteRoleMenu
(
request
.
getRoleId
());
List
<
Map
<
String
,
Long
>>
maps
=
request
.
getMenuIds
().
stream
().
map
(
menuId
->
{
Map
<
String
,
Long
>
map
=
new
HashMap
<>();
map
.
put
(
"roleId"
,
request
.
getRoleId
());
map
.
put
(
"menuId"
,
menuId
);
return
map
;
}).
collect
(
Collectors
.
toList
());
return
extSysRoleMapper
.
batchInsertRoleMenu
(
maps
);
}
public
List
<
RoleUserItem
>
allRoles
(){
return
extSysRoleMapper
.
queryAll
();
}
}
}
backend/src/main/java/io/dataease/service/sys/SysUserService.java
0 → 100644
浏览文件 @
9212b73f
package
io
.
dataease
.
service
.
sys
;
import
io.dataease.base.domain.SysUser
;
import
io.dataease.base.domain.SysUserExample
;
import
io.dataease.base.domain.SysUsersRolesExample
;
import
io.dataease.base.domain.SysUsersRolesKey
;
import
io.dataease.base.mapper.SysUserMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.ext.ExtSysUserMapper
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.CodingUtil
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.UserGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
io.dataease.controller.sys.response.SysUserRole
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Service
public
class
SysUserService
{
private
final
static
String
DEFAULT_PWD
=
"DataEase123.."
;
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
SysUsersRolesMapper
sysUsersRolesMapper
;
@Resource
private
ExtSysUserMapper
extSysUserMapper
;
public
List
<
SysUserGridResponse
>
query
(
UserGridRequest
request
){
List
<
SysUserGridResponse
>
lists
=
extSysUserMapper
.
query
(
request
);
lists
.
forEach
(
item
->
{
List
<
SysUserRole
>
roles
=
item
.
getRoles
();
List
<
Long
>
roleIds
=
roles
.
stream
().
map
(
SysUserRole:
:
getRoleId
).
collect
(
Collectors
.
toList
());
item
.
setRoleIds
(
roleIds
);
});
return
lists
;
}
@Transactional
public
int
save
(
SysUserCreateRequest
request
){
SysUser
user
=
BeanUtils
.
copyBean
(
new
SysUser
(),
request
);
long
now
=
System
.
currentTimeMillis
();
user
.
setCreateTime
(
now
);
user
.
setUpdateTime
(
now
);
user
.
setIsAdmin
(
false
);
if
(
ObjectUtils
.
isEmpty
(
user
.
getPassword
())
||
StringUtils
.
equals
(
user
.
getPassword
(),
DEFAULT_PWD
)){
user
.
setPassword
(
CodingUtil
.
md5
(
DEFAULT_PWD
));
}
else
{
user
.
setPassword
(
CodingUtil
.
md5
(
user
.
getPassword
()));
}
int
insert
=
sysUserMapper
.
insert
(
user
);
SysUser
dbUser
=
findOne
(
user
);
saveUserRoles
(
dbUser
.
getUserId
(),
request
.
getRoleIds
());
//插入用户角色关联
return
insert
;
}
@Transactional
public
int
update
(
SysUserCreateRequest
request
){
SysUser
user
=
BeanUtils
.
copyBean
(
new
SysUser
(),
request
);
long
now
=
System
.
currentTimeMillis
();
user
.
setUpdateTime
(
now
);
deleteUserRoles
(
user
.
getUserId
());
//先删除用户角色关联
saveUserRoles
(
user
.
getUserId
(),
request
.
getRoleIds
());
//再插入角色关联
return
sysUserMapper
.
updateByPrimaryKey
(
user
);
}
/**
* 删除用户角色关联
* @param userId
* @return
*/
private
int
deleteUserRoles
(
Long
userId
){
SysUsersRolesExample
example
=
new
SysUsersRolesExample
();
example
.
createCriteria
().
andUserIdEqualTo
(
userId
);
return
sysUsersRolesMapper
.
deleteByExample
(
example
);
}
/**
* 保存用户角色关联
* @param userId
* @param roleIds
*/
private
void
saveUserRoles
(
Long
userId
,
List
<
Long
>
roleIds
){
roleIds
.
forEach
(
roleId
->
{
SysUsersRolesKey
sysUsersRolesKey
=
new
SysUsersRolesKey
();
sysUsersRolesKey
.
setUserId
(
userId
);
sysUsersRolesKey
.
setRoleId
(
roleId
);
sysUsersRolesMapper
.
insert
(
sysUsersRolesKey
);
});
}
@Transactional
public
int
delete
(
Long
userId
){
deleteUserRoles
(
userId
);
return
sysUserMapper
.
deleteByPrimaryKey
(
userId
);
}
public
SysUser
findOne
(
SysUser
user
){
if
(
ObjectUtils
.
isEmpty
(
user
))
return
null
;
if
(
ObjectUtils
.
isNotEmpty
(
user
.
getUserId
())){
return
sysUserMapper
.
selectByPrimaryKey
(
user
.
getUserId
());
}
SysUserExample
example
=
new
SysUserExample
();
SysUserExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
ObjectUtils
.
isNotEmpty
(
user
.
getUsername
())){
criteria
.
andUsernameEqualTo
(
user
.
getUsername
());
List
<
SysUser
>
sysUsers
=
sysUserMapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isNotEmpty
(
sysUsers
))
return
sysUsers
.
get
(
0
);
}
return
null
;
}
}
backend/src/main/resources/db/migration/V8__system.sql
浏览文件 @
9212b73f
...
@@ -61,4 +61,37 @@ CREATE TABLE IF NOT EXISTS `sys_roles_menus` (
...
@@ -61,4 +61,37 @@ CREATE TABLE IF NOT EXISTS `sys_roles_menus` (
`role_id`
bigint
(
20
)
NOT
NULL
COMMENT
'角色ID'
,
`role_id`
bigint
(
20
)
NOT
NULL
COMMENT
'角色ID'
,
PRIMARY
KEY
(
`menu_id`
,
`role_id`
)
USING
BTREE
,
PRIMARY
KEY
(
`menu_id`
,
`role_id`
)
USING
BTREE
,
KEY
`FKcngg2qadojhi3a651a5adkvbq`
(
`role_id`
)
USING
BTREE
KEY
`FKcngg2qadojhi3a651a5adkvbq`
(
`role_id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
ROW_FORMAT
=
COMPACT
COMMENT
=
'角色菜单关联'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
ROW_FORMAT
=
COMPACT
COMMENT
=
'角色菜单关联'
;
\ No newline at end of file
CREATE
TABLE
IF
NOT
EXISTS
`sys_user`
(
`user_id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'ID'
,
`dept_id`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'部门名称'
,
`username`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'用户名'
,
`nick_name`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'昵称'
,
`gender`
varchar
(
2
)
DEFAULT
NULL
COMMENT
'性别'
,
`phone`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'手机号码'
,
`email`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'邮箱'
,
`password`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'密码'
,
`is_admin`
bit
(
1
)
DEFAULT
b
'0'
COMMENT
'是否为admin账号'
,
`enabled`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'状态:1启用、0禁用'
,
`create_by`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'创建者'
,
`update_by`
varchar
(
255
)
DEFAULT
NULL
COMMENT
'更新着'
,
`pwd_reset_time`
bigint
(
13
)
DEFAULT
NULL
COMMENT
'修改密码的时间'
,
`create_time`
bigint
(
13
)
DEFAULT
NULL
COMMENT
'创建日期'
,
`update_time`
bigint
(
13
)
DEFAULT
NULL
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`user_id`
)
USING
BTREE
,
UNIQUE
KEY
`UK_kpubos9gc2cvtkb0thktkbkes`
(
`email`
)
USING
BTREE
,
UNIQUE
KEY
`username`
(
`username`
)
USING
BTREE
,
UNIQUE
KEY
`uniq_username`
(
`username`
),
UNIQUE
KEY
`uniq_email`
(
`email`
),
KEY
`FK5rwmryny6jthaaxkogownknqp`
(
`dept_id`
)
USING
BTREE
,
KEY
`inx_enabled`
(
`enabled`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
3
DEFAULT
CHARSET
=
utf8
ROW_FORMAT
=
COMPACT
COMMENT
=
'系统用户'
;
CREATE
TABLE
IF
NOT
EXISTS
`sys_users_roles`
(
`user_id`
bigint
(
20
)
NOT
NULL
COMMENT
'用户ID'
,
`role_id`
bigint
(
20
)
NOT
NULL
COMMENT
'角色ID'
,
PRIMARY
KEY
(
`user_id`
,
`role_id`
)
USING
BTREE
,
KEY
`FKq4eq273l04bpu4efj0jd0jb98`
(
`role_id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
ROW_FORMAT
=
COMPACT
COMMENT
=
'用户角色关联'
;
\ No newline at end of file
backend/src/main/resources/db/migration/V9__dataset_tables.sql
浏览文件 @
9212b73f
CREATE
TABLE
IF
NOT
EXISTS
`dataset_table`
(
CREATE
TABLE
IF
NOT
EXISTS
`dataset_table`
`id`
varchar
(
50
)
NOT
NULL
COMMENT
'ID'
,
(
`name`
varchar
(
64
)
NOT
NULL
COMMENT
'表名称'
,
`id`
varchar
(
50
)
NOT
NULL
COMMENT
'ID'
,
`scene_id`
varchar
(
50
)
NOT
NULL
COMMENT
'场景ID'
,
`name`
varchar
(
64
)
NOT
NULL
COMMENT
'表名称'
,
`data_source_id`
varchar
(
50
)
NOT
NULL
COMMENT
'数据源ID'
,
`scene_id`
varchar
(
50
)
NOT
NULL
COMMENT
'场景ID'
,
`type`
varchar
(
50
)
COMMENT
'db,sql,excel,custom'
,
`data_source_id`
varchar
(
50
)
NOT
NULL
COMMENT
'数据源ID'
,
`info`
longtext
COMMENT
'表原始信息'
,
`type`
varchar
(
50
)
COMMENT
'db,sql,excel,custom'
,
`create_by`
varchar
(
50
)
COMMENT
'创建人ID'
,
`info`
longtext
COMMENT
'表原始信息'
,
`create_time`
bigint
(
13
)
COMMENT
'创建时间'
,
`create_by`
varchar
(
50
)
COMMENT
'创建人ID'
,
PRIMARY
KEY
(
`id`
)
`create_time`
bigint
(
13
)
COMMENT
'创建时间'
,
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
;
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
;
CREATE
TABLE
IF
NOT
EXISTS
`dataset_table_field`
(
`id`
varchar
(
50
)
NOT
NULL
COMMENT
'ID'
,
`table_id`
varchar
(
50
)
NOT
NULL
COMMENT
'表ID'
,
`origin_name`
varchar
(
255
)
NOT
NULL
COMMENT
'原始名'
,
`name`
varchar
(
255
)
NOT
NULL
COMMENT
'字段名'
,
`type`
varchar
(
50
)
NOT
NULL
COMMENT
'字段类型'
,
`checked`
tinyint
(
1
)
NOT
NULL
DEFAULT
true
COMMENT
'是否选中'
,
`column_index`
int
(
10
)
NOT
NULL
COMMENT
'列位置'
,
`last_sync_time`
bigint
(
13
)
COMMENT
'同步时间'
,
PRIMARY
KEY
(
`id`
),
KEY
`IDX_TABLE_ID`
(
`table_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
;
frontend/src/business/components/dataset/DataSet.vue
浏览文件 @
9212b73f
<
template
>
<
template
>
<ms-container>
<ms-container>
<ms-aside-container>
<ms-aside-container>
<group/>
<group/>
</ms-aside-container>
</ms-aside-container>
<ms-main-container>
<ms-main-container>
<keep-alive>
<keep-alive>
<router-view/>
<router-view/>
</keep-alive>
</keep-alive>
</ms-main-container>
</ms-main-container>
</ms-container>
</ms-container>
</
template
>
</
template
>
<
script
>
<
script
>
import
MsMainContainer
from
"../common/components/MsMainContainer"
;
import
MsMainContainer
from
"../common/components/MsMainContainer"
;
import
MsContainer
from
"../common/components/MsContainer"
;
import
MsContainer
from
"../common/components/MsContainer"
;
import
MsAsideContainer
from
"../common/components/MsAsideContainer"
;
import
MsAsideContainer
from
"../common/components/MsAsideContainer"
;
import
MsSettingMenu
from
"../settings/SettingMenu"
;
import
MsSettingMenu
from
"../settings/SettingMenu"
;
import
MsCurrentUser
from
"../settings/CurrentUser"
;
import
MsCurrentUser
from
"../settings/CurrentUser"
;
import
Group
from
"./group/Group"
;
import
Group
from
"./group/Group"
;
export
default
{
export
default
{
name
:
"DataSet"
,
name
:
"DataSet"
,
components
:
{
MsMainContainer
,
MsContainer
,
MsAsideContainer
,
MsSettingMenu
,
MsCurrentUser
,
Group
},
components
:
{
MsMainContainer
,
MsContainer
,
MsAsideContainer
,
MsSettingMenu
,
MsCurrentUser
,
Group
},
data
()
{
data
()
{
return
{}
return
{}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
...
...
frontend/src/business/components/dataset/
data
/AddDB.vue
→
frontend/src/business/components/dataset/
add
/AddDB.vue
浏览文件 @
9212b73f
File moved
frontend/src/business/components/dataset/data/TabDataPreview.vue
浏览文件 @
9212b73f
...
@@ -6,11 +6,11 @@
...
@@ -6,11 +6,11 @@
border
border
style=
"width: 100%;"
>
style=
"width: 100%;"
>
<el-table-column
<el-table-column
width=
"18
0px"
min-width=
"20
0px"
v-for=
"field in fields"
v-for=
"field in fields"
:key=
"field.
field
Name"
:key=
"field.
origin
Name"
:prop=
"field.
field
Name"
:prop=
"field.
origin
Name"
:label=
"field.
fieldN
ame"
>
:label=
"field.
n
ame"
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</el-col>
</el-col>
...
@@ -26,23 +26,6 @@ export default {
...
@@ -26,23 +26,6 @@ export default {
name
:
"TabDataPreview"
,
name
:
"TabDataPreview"
,
data
()
{
data
()
{
return
{
return
{
tableData
:
[{
date
:
'2016-05-02'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1518 弄'
},
{
date
:
'2016-05-04'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1517 弄'
},
{
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
},
{
date
:
'2016-05-03'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1516 弄'
}]
}
}
},
},
computed
:
{},
computed
:
{},
...
...
frontend/src/business/components/dataset/data/ViewTable.vue
浏览文件 @
9212b73f
...
@@ -7,10 +7,10 @@
...
@@ -7,10 +7,10 @@
{{
table
.
name
}}
{{
table
.
name
}}
</span>
</span>
<el-row
style=
"float: right"
>
<el-row
style=
"float: right"
>
<el-button
size=
"mini"
>
<el-button
size=
"mini"
@
click=
"edit"
>
{{
$t
(
'dataset.edit'
)
}}
{{
$t
(
'dataset.edit'
)
}}
</el-button>
</el-button>
<el-button
size=
"mini"
>
<el-button
size=
"mini"
type=
"primary"
>
{{
$t
(
'dataset.create_view'
)
}}
{{
$t
(
'dataset.create_view'
)
}}
</el-button>
</el-button>
</el-row>
</el-row>
...
@@ -21,16 +21,45 @@
...
@@ -21,16 +21,45 @@
<el-tab-pane
:label=
"$t('dataset.data_preview')"
name=
"dataPreview"
>
<el-tab-pane
:label=
"$t('dataset.data_preview')"
name=
"dataPreview"
>
<tab-data-preview
:table=
"table"
:fields=
"fields"
:data=
"data"
/>
<tab-data-preview
:table=
"table"
:fields=
"fields"
:data=
"data"
/>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"tab2"
name=
"tab2
"
>
<el-tab-pane
:label=
"$t('dataset.join_view')"
name=
"joinView
"
>
tab2
关联视图 TODO
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"tab3"
name=
"tab3"
>
<el-tab-pane
:label=
"$t('dataset.update_info')"
name=
"updateInfo"
>
tab3
更新信息 TODO
</el-tab-pane>
<el-tab-pane
label=
"tab4"
name=
"tab4"
>
tab4
</el-tab-pane>
</el-tab-pane>
<!--
<el-tab-pane
label=
"tab3"
name=
"tab3"
>
-->
<!-- tab3-->
<!--
</el-tab-pane>
-->
<!--
<el-tab-pane
label=
"tab4"
name=
"tab4"
>
-->
<!-- tab4-->
<!--
</el-tab-pane>
-->
</el-tabs>
</el-tabs>
<el-dialog
:title=
"table.name"
:visible
.
sync=
"editField"
:fullscreen=
"true"
:show-close=
"false"
>
<el-table
:data=
"tableFields"
size=
"mini"
max-height=
"600px"
>
<el-table-column
property=
"type"
:label=
"$t('dataset.field_type')"
width=
"100"
>
</el-table-column>
<el-table-column
property=
"name"
:label=
"$t('dataset.field_name')"
width=
"180"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.name"
size=
"mini"
></el-input>
</
template
>
</el-table-column>
<el-table-column
property=
"originName"
:label=
"$t('dataset.field_origin_name')"
width=
"180"
>
</el-table-column>
<el-table-column
property=
"checked"
:label=
"$t('dataset.field_check')"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<el-checkbox
v-model=
"scope.row.checked"
></el-checkbox>
</
template
>
</el-table-column>
<!--下面这一列占位-->
<el-table-column
property=
""
>
</el-table-column>
</el-table>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"closeEdit"
size=
"mini"
>
{{$t('dataset.cancel')}}
</el-button>
<el-button
type=
"primary"
@
click=
"saveEdit"
size=
"mini"
>
{{$t('dataset.confirm')}}
</el-button>
</div>
</el-dialog>
</el-row>
</el-row>
</el-col>
</el-col>
</template>
</template>
...
@@ -43,17 +72,18 @@ export default {
...
@@ -43,17 +72,18 @@ export default {
components
:
{
TabDataPreview
},
components
:
{
TabDataPreview
},
data
()
{
data
()
{
return
{
return
{
editField
:
false
,
table
:
{
table
:
{
name
:
''
name
:
''
},
},
fields
:
[],
fields
:
[],
data
:
[],
data
:
[],
tabActive
:
'dataPreview'
,
tabActive
:
'dataPreview'
,
tableFields
:
[]
}
}
},
},
computed
:
{
computed
:
{
tableId
()
{
tableId
()
{
console
.
log
(
this
.
$store
.
state
.
dataset
.
table
);
this
.
initTable
(
this
.
$store
.
state
.
dataset
.
table
);
this
.
initTable
(
this
.
$store
.
state
.
dataset
.
table
);
return
this
.
$store
.
state
.
dataset
.
table
;
return
this
.
$store
.
state
.
dataset
.
table
;
}
}
...
@@ -90,16 +120,28 @@ export default {
...
@@ -90,16 +120,28 @@ export default {
},
},
initTableFields
()
{
initTableFields
()
{
if
(
this
.
table
.
id
)
{
this
.
$post
(
'/dataset/field/list/'
+
this
.
table
.
id
,
null
,
response
=>
{
this
.
$post
(
'/dataset/table/getFields'
,
this
.
table
,
response
=>
{
this
.
tableFields
=
response
.
data
;
});
});
}
},
},
initTableData
()
{
if
(
this
.
table
.
id
)
{
edit
()
{
this
.
$post
(
'/dataset/table/getData'
,
this
.
table
,
response
=>
{
this
.
editField
=
true
;
});
// 请求当前表的所有字段,进行编辑
}
this
.
initTableFields
();
},
saveEdit
()
{
console
.
log
(
this
.
tableFields
);
this
.
$post
(
'/dataset/field/batchEdit'
,
this
.
tableFields
,
response
=>
{
this
.
closeEdit
();
this
.
initTable
(
this
.
table
.
id
);
})
},
closeEdit
()
{
this
.
editField
=
false
;
this
.
tableFields
=
[];
},
},
resetTable
()
{
resetTable
()
{
...
...
frontend/src/business/components/dataset/group/Group.vue
浏览文件 @
9212b73f
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
</el-row>
</el-row>
<el-divider/>
<el-divider/>
<el-row>
<el-row>
<el-dropdown
style=
"margin-right: 10px;"
size=
"small"
@
command=
"clickAddData"
>
<el-dropdown
style=
"margin-right: 10px;"
size=
"small"
@
command=
"clickAddData"
trigger=
"click"
>
<el-button
type=
"primary"
size=
"mini"
plain
>
<el-button
type=
"primary"
size=
"mini"
plain
>
{{
$t
(
'dataset.add_table'
)
}}
{{
$t
(
'dataset.add_table'
)
}}
</el-button>
</el-button>
...
@@ -178,7 +178,7 @@
...
@@ -178,7 +178,7 @@
</span>
</span>
<span>
<span>
<span
@
click
.
stop
style=
"margin-left: 12px;"
>
<span
@
click
.
stop
style=
"margin-left: 12px;"
>
<el-dropdown
trigger=
"click"
@
command=
"clickMore"
>
<el-dropdown
trigger=
"click"
@
command=
"clickMore"
size=
"small"
>
<span
class=
"el-dropdown-link"
>
<span
class=
"el-dropdown-link"
>
<el-button
<el-button
icon=
"el-icon-more"
icon=
"el-icon-more"
...
@@ -268,11 +268,13 @@ export default {
...
@@ -268,11 +268,13 @@ export default {
this
.
tree
(
this
.
groupForm
);
this
.
tree
(
this
.
groupForm
);
this
.
tableTree
();
this
.
tableTree
();
this
.
$router
.
push
(
'/dataset'
);
this
.
$router
.
push
(
'/dataset'
);
this
.
$store
.
commit
(
'setTable'
,
null
);
},
},
activated
()
{
activated
()
{
this
.
tree
(
this
.
groupForm
);
this
.
tree
(
this
.
groupForm
);
this
.
tableTree
();
this
.
tableTree
();
this
.
$router
.
push
(
'/dataset'
);
this
.
$router
.
push
(
'/dataset'
);
this
.
$store
.
commit
(
'setTable'
,
null
);
},
},
watch
:
{
watch
:
{
// search(val){
// search(val){
...
@@ -523,6 +525,7 @@ export default {
...
@@ -523,6 +525,7 @@ export default {
sceneClick
(
data
,
node
)
{
sceneClick
(
data
,
node
)
{
// console.log(data);
// console.log(data);
this
.
$store
.
commit
(
'setTable'
,
null
);
this
.
$store
.
commit
(
'setTable'
,
data
.
id
);
this
.
$store
.
commit
(
'setTable'
,
data
.
id
);
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'table'
,
name
:
'table'
,
...
...
frontend/src/business/components/dataset/router.js
浏览文件 @
9212b73f
const
DataSet
=
()
=>
import
(
'@/business/components/dataset/DataSet'
);
const
DataSet
=
()
=>
import
(
'@/business/components/dataset/DataSet'
);
const
DataSetHome
=
()
=>
import
(
'@/business/components/dataset/data/DataHome'
);
const
DataSetHome
=
()
=>
import
(
'@/business/components/dataset/data/DataHome'
);
const
DataSetAddDB
=
()
=>
import
(
'@/business/components/dataset/data/AddDB'
);
const
DataSetTable
=
()
=>
import
(
'@/business/components/dataset/data/ViewTable'
);
const
DataSetTable
=
()
=>
import
(
'@/business/components/dataset/data/ViewTable'
);
const
DataSetAddDB
=
()
=>
import
(
'@/business/components/dataset/add/AddDB'
);
// const PerformanceTestHome = () => import('@/business/components/performance/home/PerformanceTestHome')
// const PerformanceTestHome = () => import('@/business/components/performance/home/PerformanceTestHome')
// const EditPerformanceTest = () => import('@/business/components/performance/test/EditPerformanceTest')
// const EditPerformanceTest = () => import('@/business/components/performance/test/EditPerformanceTest')
// const PerformanceTestList = () => import('@/business/components/performance/test/PerformanceTestList')
// const PerformanceTestList = () => import('@/business/components/performance/test/PerformanceTestList')
...
...
frontend/src/business/components/settings/router.js
浏览文件 @
9212b73f
...
@@ -32,6 +32,11 @@ export default {
...
@@ -32,6 +32,11 @@ export default {
component
:
()
=>
import
(
'@/business/components/settings/sys/role'
),
component
:
()
=>
import
(
'@/business/components/settings/sys/role'
),
meta
:
{
system
:
true
,
title
:
'commons.role'
}
meta
:
{
system
:
true
,
title
:
'commons.role'
}
},
},
{
path
:
'sysuser'
,
component
:
()
=>
import
(
'@/business/components/settings/sys/user'
),
meta
:
{
system
:
true
,
title
:
'commons.user'
}
},
// {
// {
// path: 'systemworkspace',
// path: 'systemworkspace',
// component: () => import('@/business/components/settings/system/SystemWorkspace'),
// component: () => import('@/business/components/settings/system/SystemWorkspace'),
...
...
frontend/src/business/components/settings/sys/role.vue
浏览文件 @
9212b73f
...
@@ -4,12 +4,12 @@
...
@@ -4,12 +4,12 @@
<el-aside
width=
"70%"
style=
"border: 1px solid #eee"
>
<el-aside
width=
"70%"
style=
"border: 1px solid #eee"
>
<el-card
class=
"table-card"
>
<el-card
class=
"table-card"
>
<template
v-slot:header
>
<template
v-slot:header
>
<ms-table-header
:condition
.
sync=
"condition"
@
search=
"search"
@
create=
"create"
:create-tip=
"$t('
user.create')"
:title=
"$t('commons.user
')"
/>
<ms-table-header
:condition
.
sync=
"condition"
@
search=
"search"
@
create=
"create"
:create-tip=
"$t('
role.add')"
:title=
"$t('commons.role
')"
/>
</
template
>
</
template
>
<el-table
border
class=
"adjust-table"
:data=
"tableData"
style=
"width: 100%;
"
>
<el-table
border
highlight-current-row
class=
"adjust-table"
:data=
"tableData"
style=
"width: 100%;"
@
row-click=
"rowClick
"
>
<el-table-column
prop=
"name"
label=
"名称"
/>
<el-table-column
prop=
"name"
label=
"名称"
/>
<el-table-column
:show-overflow-tooltip=
"true"
width=
"135px"
prop=
"createTime"
label=
"创建日期"
>
<el-table-column
:show-overflow-tooltip=
"true"
prop=
"createTime"
label=
"创建日期"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<span>
{{
scope
.
row
.
createTime
|
timestampFormatDate
}}
</span>
<span>
{{
scope
.
row
.
createTime
|
timestampFormatDate
}}
</span>
</
template
>
</
template
>
...
@@ -35,9 +35,8 @@
...
@@ -35,9 +35,8 @@
:load=
"getMenuDatas"
:load=
"getMenuDatas"
:props=
"defaultProps"
:props=
"defaultProps"
check-strictly
check-strictly
accordion
show-checkbox
show-checkbox
node-key=
"
menuI
d"
node-key=
"
i
d"
@
check=
"menuChange"
@
check=
"menuChange"
/>
/>
</el-tab-pane>
</el-tab-pane>
...
@@ -45,6 +44,26 @@
...
@@ -45,6 +44,26 @@
</el-tabs>
</el-tabs>
</el-main>
</el-main>
</el-container>
</el-container>
<el-dialog
:close-on-click-modal=
"false"
:title=
"formType=='add' ? $t('role.add') : $t('role.modify')"
:visible
.
sync=
"dialogVisible"
width=
"580px"
@
closed=
"closeFunc"
:destroy-on-close=
"true"
>
<el-form
ref=
"roleForm"
inline
:model=
"form"
:rules=
"rule"
size=
"small"
label-width=
"80px"
>
<el-form-item
label=
"角色名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
style=
"width: 380px;"
/>
</el-form-item>
<el-form-item
label=
"描述信息"
prop=
"description"
>
<el-input
v-model=
"form.description"
style=
"width: 380px;"
rows=
"5"
type=
"textarea"
/>
</el-form-item>
</el-form>
<
template
v-slot:footer
>
<ms-dialog-footer
@
cancel=
"dialogVisible = false"
@
confirm=
"saveRole('roleForm')"
/>
</
template
>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -55,7 +74,10 @@ import MsTableHeader from "../../common/components/MsTableHeader";
...
@@ -55,7 +74,10 @@ import MsTableHeader from "../../common/components/MsTableHeader";
import
MsTableOperator
from
"../../common/components/MsTableOperator"
;
import
MsTableOperator
from
"../../common/components/MsTableOperator"
;
import
MsDialogFooter
from
"../../common/components/MsDialogFooter"
;
import
MsDialogFooter
from
"../../common/components/MsDialogFooter"
;
import
MsTableOperatorButton
from
"../../common/components/MsTableOperatorButton"
;
import
MsTableOperatorButton
from
"../../common/components/MsTableOperatorButton"
;
import
{
listenGoBack
,
removeGoBackListener
}
from
"@/common/js/utils"
;
export
default
{
export
default
{
name
:
'role'
,
name
:
'role'
,
components
:
{
components
:
{
...
@@ -70,9 +92,12 @@ export default {
...
@@ -70,9 +92,12 @@ export default {
return
{
return
{
result
:
{},
result
:
{},
queryPath
:
'/api/role/roleGrid'
,
queryPath
:
'/api/role/roleGrid'
,
deletePath
:
'/user/special/delete/'
,
deletePath
:
'/api/role/delete/'
,
createPath
:
'/user/special/add'
,
createPath
:
'/api/role/create'
,
updatePath
:
'/user/special/update'
,
updatePath
:
'/api/role/update'
,
queryMenusPath
:
'/api/menu/childNodes/'
,
childMenusPath
:
'/api/menu/childMenus/'
,
saveRoleMenusPath
:
'/api/role/saveRolesMenus'
,
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
10
,
pageSize
:
10
,
total
:
0
,
total
:
0
,
...
@@ -80,37 +105,147 @@ export default {
...
@@ -80,37 +105,147 @@ export default {
tableData
:
[],
tableData
:
[],
menus
:
[],
menus
:
[],
menuIds
:
[],
menuIds
:
[],
defaultProps
:
{},
defaultProps
:
{
children
:
'children'
,
label
:
'label'
,
isLeaf
:
'isLeaf'
},
activeName
:
'second'
activeName
:
'first'
,
dialogVisible
:
false
,
formType
:
'add'
,
form
:
{},
rule
:
{
name
:
[
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
}
]
},
currentRow
:
null
};
};
},
},
activated
()
{
activated
()
{
this
.
search
();
this
.
search
();
},
},
watch
:
{
currentRow
:
'currentRowChange'
},
methods
:
{
methods
:
{
handleClick
(
tab
,
event
)
{
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
,
event
);
console
.
log
(
tab
,
event
);
},
},
create
(){},
create
(){
this
.
form
=
{}
this
.
formType
=
"add"
;
this
.
dialogVisible
=
true
listenGoBack
(
this
.
closeFunc
)
},
search
(){
search
(){
this
.
result
=
this
.
$post
(
this
.
queryPath
+
"/"
+
this
.
currentPage
+
"/"
+
this
.
pageSize
,
this
.
condition
,
response
=>
{
this
.
result
=
this
.
$post
(
this
.
queryPath
+
"/"
+
this
.
currentPage
+
"/"
+
this
.
pageSize
,
this
.
condition
,
response
=>
{
let
data
=
response
.
data
;
let
data
=
response
.
data
this
.
total
=
data
.
itemCount
;
this
.
total
=
data
.
itemCount
this
.
tableData
=
data
.
listObject
;
this
.
tableData
=
data
.
listObject
})
})
},
},
edit
(
row
){
edit
(
row
){
this
.
formType
=
'modify'
this
.
dialogVisible
=
true
this
.
form
=
Object
.
assign
({},
row
)
listenGoBack
(
this
.
closeFunc
)
},
saveRole
(
roleForm
){
this
.
$refs
[
roleForm
].
validate
(
valid
=>
{
if
(
valid
)
{
const
url
=
this
.
formType
==
'add'
?
this
.
createPath
:
this
.
updatePath
this
.
result
=
this
.
$post
(
url
,
this
.
form
,
()
=>
{
this
.
$success
(
this
.
$t
(
'commons.save_success'
))
this
.
search
();
this
.
dialogVisible
=
false
});
}
else
{
return
false
;
}
})
},
},
getMenuDatas
(
node
,
resolve
){
closeFunc
()
{
this
.
dialogVisible
=
false
removeGoBackListener
(
this
.
closeFunc
);
},
getMenuDatas
(
node
,
resolve
){
this
.
$post
(
this
.
queryMenusPath
+
(
node
.
data
.
id
?
node
.
data
.
id
:
0
),
null
,
(
res
)
=>
{
const
datas
=
res
.
data
const
nodes
=
datas
.
map
(
data
=>
this
.
formatNode
(
data
))
resolve
&&
resolve
(
nodes
)
})
},
formatNode
(
node
)
{
const
result
=
{
id
:
node
.
menuId
,
label
:
node
.
title
,
isLeaf
:
!
node
.
hasChildren
,
children
:
node
.
children
}
return
result
},
},
menuChange
(
menu
){
menuChange
(
menu
){
this
.
$post
(
this
.
childMenusPath
+
menu
.
id
,
null
,
res
=>
{
const
childIds
=
res
.
data
if
(
this
.
menuIds
.
indexOf
(
menu
.
id
)
!==
-
1
)
{
for
(
let
i
=
0
;
i
<
childIds
.
length
;
i
++
)
{
const
index
=
this
.
menuIds
.
indexOf
(
childIds
[
i
])
if
(
index
!==
-
1
)
{
this
.
menuIds
.
splice
(
index
,
1
)
}
}
}
else
{
for
(
let
i
=
0
;
i
<
childIds
.
length
;
i
++
)
{
const
index
=
this
.
menuIds
.
indexOf
(
childIds
[
i
])
if
(
index
===
-
1
)
{
this
.
menuIds
.
push
(
childIds
[
i
])
}
}
}
console
.
log
(
this
.
menuIds
)
this
.
$refs
.
menu
.
setCheckedKeys
(
this
.
menuIds
)
this
.
saveMenus
()
})
},
saveMenus
(){
if
(
!
this
.
currentRow
)
{
return
}
const
param
=
{
roleId
:
this
.
currentRow
.
roleId
,
menuIds
:
this
.
menuIds
}
this
.
$post
(
this
.
saveRoleMenusPath
,
param
,
res
=>
{
this
.
search
()
})
},
rowClick
(
row
,
column
,
event
){
this
.
currentRow
=
row
},
currentRowChange
(
newVal
,
oldVal
){
if
(
newVal
==
oldVal
)
{
return
}
if
(
!
newVal
)
{
this
.
menuIds
=
[]
return
}
this
.
menuIds
=
newVal
.
menuIds
;
this
.
$refs
.
menu
.
setCheckedKeys
(
this
.
menuIds
)
},
},
handleDelete
(
row
){
handleDelete
(
row
){
this
.
$confirm
(
'确认删除角色['
+
row
.
name
+
']?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
const
url
=
this
.
deletePath
+
row
.
roleId
this
.
$post
(
url
,
null
,
()
=>
{
this
.
$success
(
this
.
$t
(
'commons.modify_success'
))
this
.
search
()
});
}).
catch
(()
=>
{
})
}
}
}
}
}
}
...
...
frontend/src/business/components/settings/sys/user.vue
0 → 100644
浏览文件 @
9212b73f
差异被折叠。
点击展开。
frontend/src/i18n/en-US.js
浏览文件 @
9212b73f
差异被折叠。
点击展开。
frontend/src/i18n/zh-CN.js
浏览文件 @
9212b73f
差异被折叠。
点击展开。
frontend/src/i18n/zh-TW.js
浏览文件 @
9212b73f
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论