Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Springboot Plus
Commits
29ef2d76
"vscode:/vscode.git/clone" did not exist on "653c403181f10cf48843a24ac57c8754d73b8db8"
Commit
29ef2d76
authored
Apr 06, 2020
by
trumansdo
Browse files
用户管理功能,待完成最后一个操作角色功能
parent
4614a9a3
Changes
28
Hide whitespace changes
Inline
Side-by-side
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/service/UserConsoleService.java
View file @
29ef2d76
...
@@ -184,7 +184,12 @@ public class UserConsoleService extends CoreBaseService<CoreUser> {
...
@@ -184,7 +184,12 @@ public class UserConsoleService extends CoreBaseService<CoreUser> {
sqlManager
.
insert
(
userRole
);
sqlManager
.
insert
(
userRole
);
}
}
public
List
<
UserExcelExportData
>
queryExcel
(
PageQuery
<
CoreUser
>
query
)
{
public
List
<
UserExcelExportData
>
queryExcel
(
CoreUserParam
coreUserParam
)
{
PageQuery
<
CoreUser
>
query
=
coreUserParam
.
createPageQuery
();
// 取出全部符合条件的
// page.setPageSize(Integer.MAX_VALUE);
// page.setPageNumber(1);
// page.setTotalRow(Integer.MAX_VALUE);
PageQuery
<
CoreUser
>
ret
=
userConsoleDao
.
queryByCondtion
(
query
);
PageQuery
<
CoreUser
>
ret
=
userConsoleDao
.
queryByCondtion
(
query
);
List
<
CoreUser
>
list
=
ret
.
getList
();
List
<
CoreUser
>
list
=
ret
.
getList
();
OrgItem
orgRoot
=
platformService
.
buildOrg
();
OrgItem
orgRoot
=
platformService
.
buildOrg
();
...
@@ -203,7 +208,7 @@ public class UserConsoleService extends CoreBaseService<CoreUser> {
...
@@ -203,7 +208,7 @@ public class UserConsoleService extends CoreBaseService<CoreUser> {
dict
=
dictService
.
findCoreDict
(
CoreDictType
.
JOB_TYPE
,
dictValue
);
dict
=
dictService
.
findCoreDict
(
CoreDictType
.
JOB_TYPE
,
dictValue
);
userItem
.
setJobType1Text
(
dict
.
getName
());
userItem
.
setJobType1Text
(
dict
.
getName
());
}
}
Long
orgId
=
user
.
getOrgId
(
);
Long
orgId
=
Optional
.
ofNullable
(
user
.
getOrg
()).
map
(
CoreOrg:
:
getId
).
orElse
(
1L
);
String
orgName
=
orgRoot
.
findChild
(
orgId
).
getName
();
String
orgName
=
orgRoot
.
findChild
(
orgId
).
getName
();
userItem
.
setOrgText
(
orgName
);
userItem
.
setOrgText
(
orgName
);
items
.
add
(
userItem
);
items
.
add
(
userItem
);
...
...
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/web/RoleCascaderElController.java
0 → 100644
View file @
29ef2d76
package
com.ibeetl.admin.console.web
;
import
com.ibeetl.admin.console.service.CoreOrgConsoleElService
;
import
com.ibeetl.admin.core.entity.CoreRole
;
import
com.ibeetl.admin.core.entity.ElCascaderData
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.service.CoreRoleService
;
import
com.ibeetl.admin.core.util.enums.RoleTypeEnum
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 角色字典数据获取
*
* @author 一日看尽长安花
*/
@Slf4j
@RestController
@RequestMapping
(
value
=
"/core/roles"
)
public
class
RoleCascaderElController
{
@Autowired
CorePlatformService
corePlatformService
;
@Autowired
CoreOrgConsoleElService
coreOrgConsoleElService
;
@Autowired
CoreRoleService
coreRoleService
;
@GetMapping
(
"/immediateLoad"
)
public
JsonResult
<
List
<
ElCascaderData
>>
immediateLoadCascaderDict
()
{
List
<
CoreRole
>
childDictList
=
coreRoleService
.
getAllRoles
(
RoleTypeEnum
.
ACCESS
.
getValue
());
return
JsonResult
.
success
(
coreRoleToElCascaderData
(
childDictList
));
}
/**
* .将字典树转成element级联器组件的格式
*
* @author 一日看尽长安花
* @return List<ElCascaderData>
*/
private
List
<
ElCascaderData
>
coreRoleToElCascaderData
(
List
<
CoreRole
>
coreRoles
)
{
List
<
ElCascaderData
>
elCascaderDatas
=
new
ArrayList
<
ElCascaderData
>(
coreRoles
.
size
());
for
(
CoreRole
role
:
coreRoles
)
{
ElCascaderData
data
=
new
ElCascaderData
();
data
.
setId
(
role
.
getId
());
data
.
setLabel
(
role
.
getName
());
data
.
setValue
(
role
.
getId
());
elCascaderDatas
.
add
(
data
);
}
return
elCascaderDatas
.
isEmpty
()
?
null
:
elCascaderDatas
;
}
}
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/web/RoleConsoleElController.java
0 → 100644
View file @
29ef2d76
package
com.ibeetl.admin.console.web
;
import
com.ibeetl.admin.console.service.FunctionConsoleService
;
import
com.ibeetl.admin.console.service.OrgConsoleService
;
import
com.ibeetl.admin.console.service.RoleConsoleService
;
import
com.ibeetl.admin.console.web.dto.RoleDataAccessFunction
;
import
com.ibeetl.admin.console.web.query.RoleQuery
;
import
com.ibeetl.admin.console.web.query.RoleUserQuery
;
import
com.ibeetl.admin.core.annotation.Function
;
import
com.ibeetl.admin.core.annotation.Query
;
import
com.ibeetl.admin.core.entity.CoreRole
;
import
com.ibeetl.admin.core.entity.CoreUser
;
import
com.ibeetl.admin.core.entity.ElCascaderData
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.util.AnnotationUtil
;
import
com.ibeetl.admin.core.util.ConvertUtil
;
import
com.ibeetl.admin.core.util.ValidateConfig
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.beetl.sql.core.engine.PageQuery
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.servlet.ModelAndView
;
/** 角色管理功能相关 */
@Slf4j
@RequestMapping
(
"/admin/roles"
)
@RestController
public
class
RoleConsoleElController
{
@Autowired
private
RoleConsoleService
roleConsoleService
;
@Autowired
private
FunctionConsoleService
functionConsoleService
;
@Autowired
CorePlatformService
platformService
;
/**
* 列表页、 分页数据
*
* @param condtion
* @return
*/
@PostMapping
(
"/list.json"
)
@Function
(
"role.query"
)
public
JsonResult
<
PageQuery
>
list
(
RoleQuery
condtion
)
{
PageQuery
page
=
condtion
.
getPageQuery
();
roleConsoleService
.
queryByCondtion
(
page
);
return
JsonResult
.
success
(
page
);
}
@GetMapping
(
"/all.json"
)
@Function
(
"role.query"
)
public
JsonResult
<
List
<
CoreRole
>>
all
()
{
List
<
CoreRole
>
list
=
roleConsoleService
.
queryAllPermissionList
();
return
JsonResult
.
success
(
list
);
}
/**
* 获取列表查询条件
*
* @return
*/
@PostMapping
(
"/list/condition.json"
)
@Function
(
"role.query"
)
public
JsonResult
<
List
<
Map
<
String
,
Object
>>>
listCondtion
()
{
List
<
Map
<
String
,
Object
>>
list
=
AnnotationUtil
.
getInstance
().
getAnnotations
(
Query
.
class
,
RoleQuery
.
class
);
return
JsonResult
.
success
(
list
);
}
/**
* 保存
*
* @return
*/
@PostMapping
(
"/add.json"
)
@Function
(
"role.add"
)
public
JsonResult
addRole
(
@Validated
(
ValidateConfig
.
ADD
.
class
)
CoreRole
role
)
{
CoreRole
role1
=
roleConsoleService
.
queryByCode
(
role
.
getCode
());
if
(
role1
!=
null
)
{
return
JsonResult
.
failMessage
(
"用户编号已存在"
);
}
JsonResult
result
=
new
JsonResult
();
role
.
setCreateTime
(
new
Date
());
roleConsoleService
.
save
(
role
);
platformService
.
clearFunctionCache
();
return
result
.
success
();
}
/**
* 更新
*
* @param role
* @return
*/
@PostMapping
(
"/update.json"
)
@Function
(
"role.edit"
)
public
JsonResult
<
String
>
update
(
@Validated
(
ValidateConfig
.
UPDATE
.
class
)
CoreRole
role
)
{
boolean
success
=
roleConsoleService
.
update
(
role
);
if
(
success
)
{
platformService
.
clearFunctionCache
();
return
new
JsonResult
().
success
();
}
else
{
return
JsonResult
.
failMessage
(
"保存失败"
);
}
}
/**
* 查询角色信息
*
* @param id
* @return
*/
@GetMapping
(
"/view.json"
)
@Function
(
"role.query"
)
public
JsonResult
<
CoreRole
>
queryInfo
(
Long
id
)
{
CoreRole
role
=
roleConsoleService
.
queryById
(
id
);
return
JsonResult
.
success
(
role
);
}
/**
* (批量)删除
*
* @param ids 角色id
* @return
*/
@PostMapping
(
"/delete.json"
)
@Function
(
"role.delete"
)
public
JsonResult
delete
(
String
ids
)
{
if
(
ids
.
endsWith
(
","
))
{
ids
=
StringUtils
.
substringBeforeLast
(
ids
,
","
);
}
List
<
Long
>
idList
=
ConvertUtil
.
str2longs
(
ids
);
roleConsoleService
.
deleteById
(
idList
);
return
new
JsonResult
().
success
();
}
/** 查询角色下授权用户列表 */
@PostMapping
(
"/user/list.json"
)
@Function
(
"role.user.query"
)
public
JsonResult
<
PageQuery
<
CoreUser
>>
userList
(
RoleUserQuery
query
)
{
PageQuery
page
=
query
.
getPageQuery
();
PageQuery
<
CoreUser
>
pageQuery
=
roleConsoleService
.
queryRoleUser
(
page
);
return
JsonResult
.
success
(
page
);
}
@PostMapping
(
"/function/ids.json"
)
@Function
(
"role.function.query"
)
public
JsonResult
<
List
<
Long
>>
getFunctionIdByRole
(
Long
roleId
)
{
List
<
Long
>
list
=
functionConsoleService
.
getFunctionByRole
(
roleId
);
return
JsonResult
.
success
(
list
);
}
@GetMapping
(
"/function/queryFunction.json"
)
@Function
(
"role.function.query"
)
public
JsonResult
<
List
<
RoleDataAccessFunction
>>
getQueryFunctionByRole
(
Long
roleId
)
{
List
<
RoleDataAccessFunction
>
list
=
functionConsoleService
.
getQueryFunctionByRole
(
roleId
);
return
JsonResult
.
success
(
list
);
}
@PostMapping
(
"/function/update.json"
)
@Function
(
"role.function.edit"
)
public
JsonResult
updateFunction
(
Long
roleId
,
String
ids
)
{
List
<
Long
>
all
=
ConvertUtil
.
str2longs
(
ids
);
List
<
Long
>
addIds
=
new
ArrayList
<
Long
>();
List
<
Long
>
delIds
=
new
ArrayList
<
Long
>();
List
<
Long
>
dbs
=
functionConsoleService
.
getFunctionByRole
(
roleId
);
Iterator
<
Long
>
it
=
all
.
iterator
();
for
(
Long
id
:
all
)
{
if
(!
dbs
.
contains
(
id
))
{
addIds
.
add
(
id
);
}
}
for
(
Long
id
:
dbs
)
{
if
(!
all
.
contains
(
id
))
{
delIds
.
add
(
id
);
}
}
functionConsoleService
.
updateSysRoleFunction
(
roleId
,
addIds
,
delIds
);
return
JsonResult
.
success
();
}
@PostMapping
(
"/function/updateDataAccess.json"
)
@Function
(
"role.function.updateDataAccess"
)
public
JsonResult
updateFunctionDataAccess
(
Long
roleId
,
Long
fnId
,
Integer
accessType
)
{
RoleDataAccessFunction
data
=
new
RoleDataAccessFunction
();
data
.
setRoleId
(
roleId
);
data
.
setId
(
fnId
);
data
.
setDataAccessType
(
accessType
);
functionConsoleService
.
updateFunctionAccessByRole
(
Arrays
.
asList
(
data
));
return
JsonResult
.
success
();
}
/*后端模板渲染*/
@PostMapping
(
"/function/dataAccess.do"
)
@Function
(
"role.function.updateDataAccess"
)
public
ModelAndView
datapage
(
Long
roleId
)
{
List
<
RoleDataAccessFunction
>
list
=
functionConsoleService
.
getQueryFunctionByRole
(
roleId
);
ModelAndView
view
=
new
ModelAndView
(
"/admin/role/dataConfigPart.html"
);
view
.
addObject
(
"list"
,
list
);
return
view
;
}
}
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/web/UserConsoleController.java
View file @
29ef2d76
package
com.ibeetl.admin.console.web
;
package
com.ibeetl.admin.console.web
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Properties
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.beetl.sql.core.engine.PageQuery
;
import
org.jxls.common.Context
;
import
org.jxls.util.JxlsHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.ibeetl.admin.console.service.OrgConsoleService
;
import
com.ibeetl.admin.console.service.OrgConsoleService
;
import
com.ibeetl.admin.console.service.RoleConsoleService
;
import
com.ibeetl.admin.console.service.RoleConsoleService
;
import
com.ibeetl.admin.console.service.UserConsoleService
;
import
com.ibeetl.admin.console.service.UserConsoleService
;
...
@@ -38,12 +13,32 @@ import com.ibeetl.admin.core.entity.CoreUserRole;
...
@@ -38,12 +13,32 @@ import com.ibeetl.admin.core.entity.CoreUserRole;
import
com.ibeetl.admin.core.file.FileItem
;
import
com.ibeetl.admin.core.file.FileItem
;
import
com.ibeetl.admin.core.file.FileService
;
import
com.ibeetl.admin.core.file.FileService
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.service.param.CoreUserParam
;
import
com.ibeetl.admin.core.util.AnnotationUtil
;
import
com.ibeetl.admin.core.util.AnnotationUtil
;
import
com.ibeetl.admin.core.util.ConvertUtil
;
import
com.ibeetl.admin.core.util.ConvertUtil
;
import
com.ibeetl.admin.core.util.PlatformException
;
import
com.ibeetl.admin.core.util.PlatformException
;
import
com.ibeetl.admin.core.util.ValidateConfig
;
import
com.ibeetl.admin.core.util.ValidateConfig
;
import
com.ibeetl.admin.core.util.enums.GeneralStateEnum
;
import
com.ibeetl.admin.core.util.enums.GeneralStateEnum
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.beetl.sql.core.engine.PageQuery
;
import
org.jxls.common.Context
;
import
org.jxls.util.JxlsHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.servlet.ModelAndView
;
/**
/**
* 用户管理接口
* 用户管理接口
...
@@ -223,12 +218,7 @@ public class UserConsoleController {
...
@@ -223,12 +218,7 @@ public class UserConsoleController {
return
new
JsonResult
().
success
();
return
new
JsonResult
().
success
();
}
}
/**
/** 用户所有授权角色列表 */
* 用户所有授权角色列表
*
* @param id 用户id
* @return
*/
@PostMapping
(
MODEL
+
"/role/list.json"
)
@PostMapping
(
MODEL
+
"/role/list.json"
)
@Function
(
"user.role"
)
@Function
(
"user.role"
)
@ResponseBody
@ResponseBody
...
@@ -271,14 +261,9 @@ public class UserConsoleController {
...
@@ -271,14 +261,9 @@ public class UserConsoleController {
@PostMapping
(
MODEL
+
"/excel/export.json"
)
@PostMapping
(
MODEL
+
"/excel/export.json"
)
@Function
(
"user.export"
)
@Function
(
"user.export"
)
@ResponseBody
@ResponseBody
public
JsonResult
<
String
>
export
(
HttpServletResponse
response
,
UserQuery
condtion
)
{
public
JsonResult
<
String
>
export
(
HttpServletResponse
response
,
CoreUserParam
coreUserParam
)
{
String
excelTemplate
=
"excelTemplates/admin/user/user_collection_template.xls"
;
String
excelTemplate
=
"excelTemplates/admin/user/user_collection_template.xls"
;
PageQuery
<
CoreUser
>
page
=
condtion
.
getPageQuery
();
List
<
UserExcelExportData
>
users
=
userConsoleService
.
queryExcel
(
coreUserParam
);
// 取出全部符合条件的
page
.
setPageSize
(
Integer
.
MAX_VALUE
);
page
.
setPageNumber
(
1
);
page
.
setTotalRow
(
Integer
.
MAX_VALUE
);
List
<
UserExcelExportData
>
users
=
userConsoleService
.
queryExcel
(
page
);
try
(
InputStream
is
=
try
(
InputStream
is
=
Thread
.
currentThread
().
getContextClassLoader
().
getResourceAsStream
(
excelTemplate
))
{
Thread
.
currentThread
().
getContextClassLoader
().
getResourceAsStream
(
excelTemplate
))
{
if
(
is
==
null
)
{
if
(
is
==
null
)
{
...
...
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/web/UserConsoleElController.java
View file @
29ef2d76
package
com.ibeetl.admin.console.web
;
package
com.ibeetl.admin.console.web
;
import
cn.hutool.core.convert.Convert
;
import
com.ibeetl.admin.console.service.UserConsoleService
;
import
com.ibeetl.admin.console.service.UserConsoleService
;
import
com.ibeetl.admin.console.util.VOUtil
;
import
com.ibeetl.admin.console.util.VOUtil
;
import
com.ibeetl.admin.console.web.dto.UserExcelExportData
;
import
com.ibeetl.admin.console.web.query.CoreUserElQuery
;
import
com.ibeetl.admin.console.web.query.CoreUserElQuery
;
import
com.ibeetl.admin.console.web.query.UserRoleQuery
;
import
com.ibeetl.admin.core.annotation.Function
;
import
com.ibeetl.admin.core.annotation.Function
;
import
com.ibeetl.admin.core.annotation.RequestBodyPlus
;
import
com.ibeetl.admin.core.annotation.RequestBodyPlus
;
import
com.ibeetl.admin.core.entity.CoreUser
;
import
com.ibeetl.admin.core.entity.CoreUser
;
import
com.ibeetl.admin.core.entity.CoreUserRole
;
import
com.ibeetl.admin.core.file.FileItem
;
import
com.ibeetl.admin.core.file.FileService
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.service.CorePlatformService
;
import
com.ibeetl.admin.core.service.param.CoreUserParam
;
import
com.ibeetl.admin.core.service.param.CoreUserParam
;
import
com.ibeetl.admin.core.util.PlatformException
;
import
com.ibeetl.admin.core.util.ValidateConfig
;
import
com.ibeetl.admin.core.util.ValidateConfig
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
com.ibeetl.admin.core.web.JsonResult
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
org.beetl.sql.core.engine.PageQuery
;
import
org.beetl.sql.core.engine.PageQuery
;
import
org.jxls.common.Context
;
import
org.jxls.util.JxlsHelper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
...
@@ -21,6 +37,7 @@ import org.springframework.web.bind.annotation.PostMapping;
...
@@ -21,6 +37,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
@Validated
@Validated
...
@@ -32,6 +49,8 @@ public class UserConsoleElController {
...
@@ -32,6 +49,8 @@ public class UserConsoleElController {
@Autowired
private
CorePlatformService
platformService
;
@Autowired
private
CorePlatformService
platformService
;
@Autowired
FileService
fileService
;
@Function
(
"user.query"
)
@Function
(
"user.query"
)
@GetMapping
(
"/metadata"
)
@GetMapping
(
"/metadata"
)
public
JsonResult
<
Map
>
usersMetedata
()
{
public
JsonResult
<
Map
>
usersMetedata
()
{
...
@@ -73,4 +92,69 @@ public class UserConsoleElController {
...
@@ -73,4 +92,69 @@ public class UserConsoleElController {
userConsoleService
.
batchDelSysUser
(
Arrays
.
asList
(
ids
));
userConsoleService
.
batchDelSysUser
(
Arrays
.
asList
(
ids
));
return
JsonResult
.
success
();
return
JsonResult
.
success
();
}
}
/** 用户所有授权角色列表 */
@GetMapping
(
"/roles"
)
@Function
(
"user.role"
)
@ResponseBody
public
JsonResult
<
List
<
CoreUserRole
>>
getRoleList
(
UserRoleQuery
roleQuery
)
{
List
<
CoreUserRole
>
list
=
userConsoleService
.
getUserRoles
(
roleQuery
);
return
JsonResult
.
success
(
list
);
}
/**
* 用户添加授权角色页
*
* @return
*/
@PostMapping
(
"/roles"
)
@Function
(
"user.role"
)
@ResponseBody
public
JsonResult
saveUserRole
(
@Validated
CoreUserRole
userRole
)
{
userRole
.
setCreateTime
(
new
Date
());
this
.
userConsoleService
.
saveUserRole
(
userRole
);
this
.
platformService
.
clearFunctionCache
();
return
JsonResult
.
success
(
userRole
.
getId
());
}
/**
* 删除用户角色授权
*
* @return
*/
@DeleteMapping
(
"/roles"
)
@Function
(
"user.role"
)
@ResponseBody
public
JsonResult
delUserRole
(
String
[]
ids
)
{
List
<
Long
>
dels
=
Arrays
.
stream
(
ids
)
.
map
(
id
->
Convert
.
toLong
(
id
,
null
))
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
());
userConsoleService
.
deleteUserRoles
(
dels
);
this
.
platformService
.
clearFunctionCache
();
return
JsonResult
.
success
();
}
@PostMapping
(
"/excel/export"
)
@Function
(
"user.export"
)
public
JsonResult
<
String
>
export
(
@RequestBody
CoreUserParam
coreUserParam
)
{
String
excelTemplate
=
"excelTemplates/admin/user/user_collection_template.xls"
;
List
<
UserExcelExportData
>
users
=
userConsoleService
.
queryExcel
(
coreUserParam
);
try
(
InputStream
is
=
Thread
.
currentThread
().
getContextClassLoader
().
getResourceAsStream
(
excelTemplate
))
{
if
(
is
==
null
)
{
throw
new
PlatformException
(
"模板资源不存在:"
+
excelTemplate
);
}
FileItem
item
=
fileService
.
createFileTemp
(
"user_collection.xls"
);
OutputStream
os
=
item
.
openOutpuStream
();
Context
context
=
new
Context
();
context
.
putVar
(
"users"
,
users
);
JxlsHelper
.
getInstance
().
processTemplate
(
is
,
os
,
context
);
// 下载参考FileSystemContorller
return
JsonResult
.
success
(
item
.
getPath
());
}
catch
(
IOException
e
)
{
throw
new
PlatformException
(
e
.
getMessage
());
}
}
}
}
plus-admin/admin-console/src/main/java/com/ibeetl/admin/console/web/query/UserRoleQuery.java
View file @
29ef2d76
package
com.ibeetl.admin.console.web.query
;
package
com.ibeetl.admin.console.web.query
;
import
com.ibeetl.admin.core.annotation.Query
;
import
com.ibeetl.admin.core.web.query.PageParam
;
import
com.ibeetl.admin.core.web.query.PageParam
;
import
lombok.Data
;
/** */
/**
* 用户管理》操作角色
* */
@Data
public
class
UserRoleQuery
extends
PageParam
{
public
class
UserRoleQuery
extends
PageParam
{
@Query
(
name
=
"角色"
,
display
=
true
,
type
=
Query
.
TYPE_CONTROL
,
control
=
"role"
)
private
Long
roleId
;
private
Long
roleId
;
@Query
(
name
=
"部门"
,
display
=
true
,
type
=
Query
.
TYPE_CONTROL
,
control
=
"org"
)
private
Long
orgId
;
private
Long
orgId
;
private
Long
userId
;
private
Long
userId
;
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
Long
getRoleId
()
{
return
roleId
;
}
public
void
setRoleId
(
Long
roleId
)
{
this
.
roleId
=
roleId
;
}
public
Long
getOrgId
()
{
return
orgId
;
}
public
void
setOrgId
(
Long
orgId
)
{
this
.
orgId
=
orgId
;
}
}
}
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/conf/beetl/processor/JsonBeanProcessor.java
View file @
29ef2d76
...
@@ -3,7 +3,6 @@ package com.ibeetl.admin.core.conf.beetl.processor;
...
@@ -3,7 +3,6 @@ package com.ibeetl.admin.core.conf.beetl.processor;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ClassUtil
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.DBColumnProperty
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.DBColumnProperty
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.GridCell
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.GridCell
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.GridHeader
;
import
com.ibeetl.admin.core.conf.beetl.resultmap.GridHeader
;
...
@@ -251,7 +250,7 @@ public class JsonBeanProcessor extends BeanProcessor {
...
@@ -251,7 +250,7 @@ public class JsonBeanProcessor extends BeanProcessor {
String
sqlId
,
ResultSet
resultSet
,
GridHeader
header
,
GridCell
virtualCell
)
{
String
sqlId
,
ResultSet
resultSet
,
GridHeader
header
,
GridCell
virtualCell
)
{
/*通过当前header获取对应的结果集列*/
/*通过当前header获取对应的结果集列*/
Map
<
String
,
Object
>
beanMap
=
extractMapFromRs
(
sqlId
,
resultSet
,
header
);
Map
<
String
,
Object
>
beanMap
=
extractMapFromRs
(
sqlId
,
resultSet
,
header
);
GridCell
realContainerCell
=
virtualCell
.
ad
dOrCreateNestedCell
(
header
,
beanMap
);
GridCell
realContainerCell
=
virtualCell
.
fin
dOrCreateNestedCell
(
header
,
beanMap
);
List
<
GridHeader
>
nestedHeaders
=
header
.
getNestedHeaders
();
List
<
GridHeader
>
nestedHeaders
=
header
.
getNestedHeaders
();
for
(
GridHeader
nestedHeader
:
nestedHeaders
)
{
for
(
GridHeader
nestedHeader
:
nestedHeaders
)
{
/*在 realContainerCell 中找到对应header的虚拟cell*/
/*在 realContainerCell 中找到对应header的虚拟cell*/
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/conf/beetl/resultmap/DBColumnProperty.java
View file @
29ef2d76
...
@@ -5,15 +5,16 @@ import java.sql.JDBCType;
...
@@ -5,15 +5,16 @@ import java.sql.JDBCType;
public
class
DBColumnProperty
{
public
class
DBColumnProperty
{
/** json映射中value */
/** json映射中value */
String
value
;
String
value
;
/** SQL select 中as 别名 */
/** SQL select 中
as 别名 */
String
columnLabel
;
String
columnLabel
;
/** 对应列索引位置,从1开始 */
/** 对应
resultset
列索引位置,从1开始 */
int
columnIndex
;
int
columnIndex
;
/** 对应的jdbc类型 */
/** 对应的jdbc类型 */
JDBCType
jdbcType
;
JDBCType
jdbcType
;
/**当前resultset是否存在对应的列,不存在就不需要获取,避免报错*/
boolean
hasEffective
;
boolean
hasEffective
;
public
DBColumnProperty
(
String
columnLabel
)
{
public
DBColumnProperty
(
String
columnLabel
)
{
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/conf/beetl/resultmap/GridCell.java
View file @
29ef2d76
...
@@ -18,24 +18,28 @@ import java.util.Set;
...
@@ -18,24 +18,28 @@ import java.util.Set;
*/
*/
public
class
GridCell
implements
Serializable
{
public
class
GridCell
implements
Serializable
{
/** 对应的
属性
与数据库中值的映射,用于map to Bean 转换 */
/** 对应的
pojo字段
与数据库中值的映射,用于map to Bean 转换 */
Map
<
String
,
Object
>
beanMap
=
MapUtil
.
newHashMap
();
Map
<
String
,
Object
>
beanMap
=
MapUtil
.
newHashMap
();
/** 映射类型 */
/**
当前节点的
映射类型 */
Class
resultType
;
Class
resultType
;
/** 一个
单元格
包含一个对象中的所有数据列,通过对这些数据列进行hash得到数据列的唯一性 */
/** 一个
节点
包含一个对象中的所有数据列,通过对这些数据列进行hash得到数据列的唯一性 */
Integer
hashKey
;
Integer
hashKey
;
/** 包含的网格单元格 */
/** 包含的网格单元格 */
List
<
GridCell
>
nestedCell
=
CollUtil
.<
GridCell
>
newArrayList
();
List
<
GridCell
>
nestedCell
=
CollUtil
.<
GridCell
>
newArrayList
();
/**
归属的网格单元格
*/
/**
父节点
*/
GridCell
parentCell
;
GridCell
parentCell
;
/**对应的gridheader节点,在to bean时,需要json映射规则的信息*/
GridHeader
relationGridHeader
;
GridHeader
relationGridHeader
;
/** 是否是作为容器 */
/**
* 是否是作为容器
* 并没有用到
* */
boolean
hasContainer
;
boolean
hasContainer
;
public
Map
<
String
,
Object
>
getBeanMap
()
{
public
Map
<
String
,
Object
>
getBeanMap
()
{
...
@@ -108,7 +112,7 @@ public class GridCell implements Serializable {
...
@@ -108,7 +112,7 @@ public class GridCell implements Serializable {
return
this
.
relationGridHeader
;
return
this
.
relationGridHeader
;
}
}
public
GridCell
ad
dOrCreateNestedCell
(
GridHeader
header
,
Map
<
String
,
Object
>
beanMap
)
{
public
GridCell
fin
dOrCreateNestedCell
(
GridHeader
header
,
Map
<
String
,
Object
>
beanMap
)
{
GridCell
contentCell
=
new
GridCell
();
GridCell
contentCell
=
new
GridCell
();
contentCell
.
setHasContainer
(
false
);
contentCell
.
setHasContainer
(
false
);
contentCell
.
setRelationGridHeader
(
header
);
contentCell
.
setRelationGridHeader
(
header
);
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/conf/beetl/resultmap/GridHeader.java
View file @
29ef2d76
...
@@ -17,27 +17,33 @@ import java.util.Map.Entry;
...
@@ -17,27 +17,33 @@ import java.util.Map.Entry;
import
java.util.Set
;
import
java.util.Set
;
/**
/**
*
网格头
,保存了属性与列的映射关系,以及映射的java类型。<br>
*
节点
,保存了属性与列的映射关系,以及映射的java类型。<br>
* 内嵌的
网格头,内嵌网格头
的映射java类型,是否是映射至List集合字段
* 内嵌的
节点,内嵌节点
的映射java类型,是否是映射至List集合字段
*/
*/
public
class
GridHeader
implements
Serializable
{
public
class
GridHeader
implements
Serializable
{
/** java属性名与数据库列名的对应。顺序:prop:column */
/** java属性名与数据库列名的对应。顺序:prop:column */
Map
<
JavaFieldProperty
,
DBColumnProperty
>
fieldToColumnMap
=
new
HashMap
<>();
Map
<
JavaFieldProperty
,
DBColumnProperty
>
fieldToColumnMap
=
new
HashMap
<>();
/** 当前
网格头
对应映射java类型,只有嵌套的是非基本类型和string才有值 */
/** 当前
节点
对应映射java类型,只有嵌套的是非基本类型和string才有值
(也可以将包装类型赋值,为了简单处理,我并没有做)
*/
Class
resultType
;
Class
resultType
;
/** 嵌套类型的
网格头
*/
/** 嵌套类型的
子节点,可以改为map存储field:gridheader
*/
List
<
GridHeader
>
nestedHeaders
=
CollUtil
.<
GridHeader
>
newArrayList
();
List
<
GridHeader
>
nestedHeaders
=
CollUtil
.<
GridHeader
>
newArrayList
();
/** 嵌套类型的
网格头
*/
/** 嵌套类型的
父节点
*/
GridHeader
parentHeader
;
GridHeader
parentHeader
;
/** 当前header所属上级的嵌套字段名。如果是第一级就说明没有嵌套,为null */
/**
* 当前header所属上级的嵌套字段名。如果是第一级就说明没有嵌套,为null。
* 保存这个信息,是为了在处理当前节点转换为pojo时,有个是否为数组的判断
* */
JavaFieldProperty
belongNestedField
;
JavaFieldProperty
belongNestedField
;
/** 网格头所属的网格映射 */
/**
* 节点所属的Gridmapping
* 只是尽可能的保留上下文而已,可以设法用其它的外部信息类保持,不过也没有使用到它
* */
GridMapping
belongMapping
;
GridMapping
belongMapping
;
public
GridHeader
(
Map
<
String
,
Object
>
resultMapping
,
GridMapping
belongMapping
)
{
public
GridHeader
(
Map
<
String
,
Object
>
resultMapping
,
GridMapping
belongMapping
)
{
...
@@ -118,7 +124,7 @@ public class GridHeader implements Serializable {
...
@@ -118,7 +124,7 @@ public class GridHeader implements Serializable {
keyField
.
setKey
(
key
);
keyField
.
setKey
(
key
);
Class
<?>
valClass
=
ClassUtil
.
getClass
(
value
);
Class
<?>
valClass
=
ClassUtil
.
getClass
(
value
);
if
(
Collection
.
class
.
isAssignableFrom
(
valClass
))
{
if
(
Collection
.
class
.
isAssignableFrom
(
valClass
))
{
/*生成嵌套
网格头
,此嵌套的类型对应集合字段*/
/*生成嵌套
节点
,此嵌套的类型对应集合字段*/
Map
<
String
,
Object
>
nestedMapping
=
Map
<
String
,
Object
>
nestedMapping
=
(
Map
<
String
,
Object
>)
(
Map
<
String
,
Object
>)
((
Collection
)
value
).
stream
().
findFirst
().
orElse
(
MapUtil
.
newHashMap
(
0
));
((
Collection
)
value
).
stream
().
findFirst
().
orElse
(
MapUtil
.
newHashMap
(
0
));
...
@@ -127,7 +133,7 @@ public class GridHeader implements Serializable {
...
@@ -127,7 +133,7 @@ public class GridHeader implements Serializable {
nestedHeader
.
setBelongNestedField
(
keyField
);
nestedHeader
.
setBelongNestedField
(
keyField
);
this
.
getNestedHeaders
().
add
(
nestedHeader
);
this
.
getNestedHeaders
().
add
(
nestedHeader
);
}
else
if
(
Map
.
class
.
isAssignableFrom
(
valClass
))
{
}
else
if
(
Map
.
class
.
isAssignableFrom
(
valClass
))
{
/*生成嵌套
网格头
,此嵌套的类型对应单个对象字段*/
/*生成嵌套
节点
,此嵌套的类型对应单个对象字段*/
Map
<
String
,
Object
>
nestedMapping
=
(
Map
<
String
,
Object
>)
value
;
Map
<
String
,
Object
>
nestedMapping
=
(
Map
<
String
,
Object
>)
value
;
GridHeader
nestedHeader
=
new
GridHeader
(
nestedMapping
,
this
.
getBelongMapping
());
GridHeader
nestedHeader
=
new
GridHeader
(
nestedMapping
,
this
.
getBelongMapping
());
nestedHeader
.
setParentHeader
(
this
);
nestedHeader
.
setParentHeader
(
this
);
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/conf/beetl/resultmap/GridMapping.java
View file @
29ef2d76
...
@@ -19,9 +19,10 @@ public class GridMapping implements Serializable {
...
@@ -19,9 +19,10 @@ public class GridMapping implements Serializable {
/** 当前映射配置对应的class类型 */
/** 当前映射配置对应的class类型 */
String
resultType
;
String
resultType
;
/**
网格头
*/
/**
root节点
*/
GridHeader
header
;
GridHeader
header
;
/** 虚拟root节点,为了递归算法需要一个虚拟root节点*/
GridCell
virtualCell
;
GridCell
virtualCell
;
public
GridMapping
(
Map
<
String
,
Object
>
resultMapping
)
{
public
GridMapping
(
Map
<
String
,
Object
>
resultMapping
)
{
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/file/LocalFileItem.java
View file @
29ef2d76
...
@@ -49,15 +49,14 @@ public class LocalFileItem extends PersistFileItem {
...
@@ -49,15 +49,14 @@ public class LocalFileItem extends PersistFileItem {
try
{
try
{
input
.
close
();
input
.
close
();
os
.
close
();
os
.
close
();
if
(
isTemp
)
{
this
.
delete
();
}
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
// TODO Auto-generated catch block
// TODO Auto-generated catch block
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
if
(
isTemp
)
{
this
.
delete
();
}
}
}
@Override
@Override
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreRoleService.java
View file @
29ef2d76
...
@@ -2,13 +2,9 @@ package com.ibeetl.admin.core.service;
...
@@ -2,13 +2,9 @@ package com.ibeetl.admin.core.service;
import
com.ibeetl.admin.core.dao.CoreRoleDao
;
import
com.ibeetl.admin.core.dao.CoreRoleDao
;
import
com.ibeetl.admin.core.entity.CoreRole
;
import
com.ibeetl.admin.core.entity.CoreRole
;
import
com.ibeetl.admin.core.entity.CoreUserRole
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
lombok.extern.log4j.Log4j2
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.slf4j.Logger
;
import
org.beetl.sql.core.query.Query
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -25,9 +21,17 @@ public class CoreRoleService extends CoreBaseService<CoreRole> {
...
@@ -25,9 +21,17 @@ public class CoreRoleService extends CoreBaseService<CoreRole> {
@Autowired
private
CoreRoleDao
roleDao
;
@Autowired
private
CoreRoleDao
roleDao
;
/**
*
* @param type : R0 操作角色;R1 是工作流角色
*
* @author 一日看尽长安花
*/
public
List
<
CoreRole
>
getAllRoles
(
String
type
)
{
public
List
<
CoreRole
>
getAllRoles
(
String
type
)
{
CoreRole
template
=
new
CoreRole
();
return
roleDao
template
.
setType
(
type
);
.
getSQLManager
()
return
roleDao
.
template
(
template
);
.
lambdaQuery
(
CoreRole
.
class
)
.
andEq
(
CoreRole:
:
getType
,
Query
.
filterEmpty
(
type
))
.
select
();
}
}
}
}
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/util/enums/RoleTypeEnum.java
View file @
29ef2d76
package
com.ibeetl.admin.core.util.enums
;
package
com.ibeetl.admin.core.util.enums
;
import
com.fasterxml.jackson.annotation.JsonCreator
;
import
com.fasterxml.jackson.annotation.JsonValue
;
import
org.beetl.sql.core.annotatoin.EnumMapping
;
import
org.beetl.sql.core.annotatoin.EnumMapping
;
/**
/**
* 描述:
工作流角色
* 描述:
角色字典枚举
*
*
* @author : Administrator
* @author : Administrator
*/
*/
@EnumMapping
(
"value"
)
@EnumMapping
(
"value"
)
public
enum
RoleTypeEnum
{
public
enum
RoleTypeEnum
implements
DictTypeEnum
<
RoleTypeEnum
>
{
/** 操作角色 */
/** 操作角色 */
ACCESS
(
"R0"
),
ACCESS
(
"R0"
),
...
@@ -21,6 +23,7 @@ public enum RoleTypeEnum {
...
@@ -21,6 +23,7 @@ public enum RoleTypeEnum {
this
.
value
=
value
;
this
.
value
=
value
;
}
}
@JsonValue
public
String
getValue
()
{
public
String
getValue
()
{
return
value
;
return
value
;
}
}
...
@@ -29,17 +32,15 @@ public enum RoleTypeEnum {
...
@@ -29,17 +32,15 @@ public enum RoleTypeEnum {
this
.
value
=
value
;
this
.
value
=
value
;
}
}
public
static
RoleTypeEnum
getEnum
(
String
value
)
{
@JsonCreator
for
(
RoleTypeEnum
stateEnum
:
RoleTypeEnum
.
values
())
{
@Override
if
(
stateEnum
.
value
==
value
)
{
public
RoleTypeEnum
findEnum
(
String
value
)
{
return
stateEnum
;
RoleTypeEnum
[]
values
=
values
();
for
(
RoleTypeEnum
typeEnum
:
values
)
{
if
(
typeEnum
.
value
.
equals
(
value
))
{
return
typeEnum
;
}
}
}
}
return
null
;
return
null
;
}
}
@Override
public
String
toString
()
{
return
String
.
valueOf
(
this
.
value
);
}
}
}
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/web/FileSystemElContorller.java
View file @
29ef2d76
...
@@ -16,6 +16,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -16,6 +16,7 @@ import javax.servlet.http.HttpServletResponse;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
...
@@ -113,15 +114,11 @@ public class FileSystemElContorller {
...
@@ -113,15 +114,11 @@ public class FileSystemElContorller {
*/
*/
@GetMapping
(
"/download"
)
@GetMapping
(
"/download"
)
public
void
downloadFileByPath
(
HttpServletResponse
response
,
String
path
)
throws
IOException
{
public
void
downloadFileByPath
(
HttpServletResponse
response
,
String
path
)
throws
IOException
{
response
.
setContentType
(
"text/html; charset = UTF-8"
);
FileItem
fileItem
=
fileService
.
loadFileItemByPath
(
path
);
FileItem
fileItem
=
fileService
.
loadFileItemByPath
(
path
);
response
.
setHeader
(
response
.
setHeader
(
"Content-Disposition"
,
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
java
.
net
.
URLEncoder
.
encode
(
fileItem
.
getName
(),
"UTF-8"
));
"attachment; filename="
+
java
.
net
.
URLEncoder
.
encode
(
fileItem
.
getName
(),
"UTF-8"
));
fileItem
.
copy
(
response
.
getOutputStream
());
fileItem
.
copy
(
response
.
getOutputStream
());
if
(
fileItem
.
isTemp
())
{
fileItem
.
delete
();
}
}
}
@GetMapping
(
"/downloadTemplate"
)
@GetMapping
(
"/downloadTemplate"
)
...
...
plus-admin/admin-core/src/main/java/com/ibeetl/admin/core/web/query/PageParam.java
View file @
29ef2d76
...
@@ -31,6 +31,11 @@ public class PageParam {
...
@@ -31,6 +31,11 @@ public class PageParam {
this
.
limit
=
limit
;
this
.
limit
=
limit
;
}
}
/**
* 以当前类中被{@link Query} 注解的字段为SQL参数
* @author 一日看尽长安花
* Created on 2020/3/26
*/
@JsonIgnore
@JsonIgnore
public
PageQuery
getPageQuery
()
{
public
PageQuery
getPageQuery
()
{
Field
[]
fs
=
this
.
getClass
().
getDeclaredFields
();
Field
[]
fs
=
this
.
getClass
().
getDeclaredFields
();
...
@@ -62,6 +67,11 @@ public class PageParam {
...
@@ -62,6 +67,11 @@ public class PageParam {
return
query
;
return
query
;
}
}
/**
* 以当前类所有字段为SQL 参数
*
* @author 一日看尽长安花
*/
@JsonIgnore
@JsonIgnore
public
PageQuery
createPageQuery
()
{
public
PageQuery
createPageQuery
()
{
PageQuery
query
=
new
PageQuery
();
PageQuery
query
=
new
PageQuery
();
...
...
ve-admin/admin-web/package.json
View file @
29ef2d76
...
@@ -56,6 +56,7 @@
...
@@ -56,6 +56,7 @@
"file-saver"
:
"2.0.1"
,
"file-saver"
:
"2.0.1"
,
"fuse.js"
:
"3.4.4"
,
"fuse.js"
:
"3.4.4"
,
"js-cookie"
:
"2.2.0"
,
"js-cookie"
:
"2.2.0"
,
"js-file-download"
:
"^0.4.10"
,
"jsonlint"
:
"1.6.3"
,
"jsonlint"
:
"1.6.3"
,
"jszip"
:
"3.2.1"
,
"jszip"
:
"3.2.1"
,
"lodash"
:
"^4.17.15"
,
"lodash"
:
"^4.17.15"
,
...
...
ve-admin/admin-web/src/api/file.js
View file @
29ef2d76
/*
/*
* @Author: 一日看尽长安花
* @Author: 一日看尽长安花
* @since: 2020-03-16 11:16:52
* @since: 2020-03-16 11:16:52
* @LastEditTime: 2020-03-
19 21:04:54
* @LastEditTime: 2020-03-
27 20:49:27
* @LastEditors: 一日看尽长安花
* @LastEditors: 一日看尽长安花
* @Description:
* @Description:
*/
*/
import
request
from
'
@/utils/request
'
;
import
request
from
'
@/utils/request
'
;
import
fileDownload
from
'
js-file-download
'
;
/**
/**
* 一些常量
* 一些常量
*/
*/
...
@@ -42,10 +42,18 @@ export function downloadMutipleFile(params) {
...
@@ -42,10 +42,18 @@ export function downloadMutipleFile(params) {
* @param {object} params 包含的参数:path
* @param {object} params 包含的参数:path
*/
*/
export
function
download
(
params
)
{
export
function
download
(
params
)
{
const
_fileDownload
=
fileDownload
;
return
request
({
return
request
({
url
:
'
/core/file/download
'
,
url
:
'
/core/file/download
'
,
method
:
'
get
'
,
method
:
'
get
'
,
responseType
:
'
blob
'
,
timeout
:
undefined
,
params
params
}).
then
((
response
,
b
,
c
,
d
)
=>
{
const
matchs
=
/filename=
(
.*
)
/gi
.
exec
(
response
.
headers
[
'
content-disposition
'
]
);
_fileDownload
(
response
.
data
,
matchs
[
1
]);
});
});
}
}
...
...
ve-admin/admin-web/src/api/role.js
View file @
29ef2d76
import
request
from
'
@/utils/request
'
import
request
from
'
@/utils/request
'
;
export
function
getRoutes
()
{
export
function
getRoutes
()
{
return
request
({
return
request
({
url
:
'
/routes
'
,
url
:
'
/routes
'
,
method
:
'
get
'
method
:
'
get
'
})
})
;
}
}
export
function
get
Roles
()
{
export
function
immaditeLoad
Roles
()
{
return
request
({
return
request
({
url
:
'
/
roles
'
,
url
:
'
/
core/roles/immediateLoad
'
,
method
:
'
get
'
method
:
'
get
'
})
})
;
}
}
export
function
addRole
(
data
)
{
export
function
addRole
(
data
)
{
...
@@ -19,7 +19,7 @@ export function addRole(data) {
...
@@ -19,7 +19,7 @@ export function addRole(data) {
url
:
'
/role
'
,
url
:
'
/role
'
,
method
:
'
post
'
,
method
:
'
post
'
,
data
data
})
})
;
}
}
export
function
updateRole
(
id
,
data
)
{
export
function
updateRole
(
id
,
data
)
{
...
@@ -27,12 +27,12 @@ export function updateRole(id, data) {
...
@@ -27,12 +27,12 @@ export function updateRole(id, data) {
url
:
`/role/
${
id
}
`
,
url
:
`/role/
${
id
}
`
,
method
:
'
put
'
,
method
:
'
put
'
,
data
data
})
})
;
}
}
export
function
deleteRole
(
id
)
{
export
function
deleteRole
(
id
)
{
return
request
({
return
request
({
url
:
`/role/
${
id
}
`
,
url
:
`/role/
${
id
}
`
,
method
:
'
delete
'
method
:
'
delete
'
})
})
;
}
}
ve-admin/admin-web/src/api/user.js
View file @
29ef2d76
...
@@ -68,3 +68,19 @@ export function deleteUserData(data) {
...
@@ -68,3 +68,19 @@ export function deleteUserData(data) {
data
data
});
});
}
}
export
function
exportExcelUserData
(
data
)
{
return
request
({
url
:
'
/users/excel/export
'
,
method
:
'
post
'
,
data
});
}
export
function
getUserRoles
(
params
)
{
return
request
({
url
:
'
/users/roles
'
,
method
:
'
get
'
,
params
});
}
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment