Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1a64803c
由
LN
编写于
2021-07-20 09:10:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加组管理查询方法
1 个父辈
7ecd0925
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
137 行增加
和
7 行删除
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
src/main/java/com/neotel/smfcore/security/rest/bean/dto/GroupDto.java
src/main/java/com/neotel/smfcore/security/rest/bean/dto/MenuDto.java
src/main/java/com/neotel/smfcore/security/rest/bean/mapstruct/GroupMapper.java
src/main/java/com/neotel/smfcore/security/rest/bean/query/MenuQueryCondition.java
src/main/java/com/neotel/smfcore/security/service/manager/IGroupManager.java
src/main/java/com/neotel/smfcore/security/service/manager/impl/GroupManagerImpl.java
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
查看文件 @
1a64803
package
com
.
neotel
.
smfcore
.
security
.
rest
;
package
com
.
neotel
.
smfcore
.
security
.
rest
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.security.rest.bean.dto.MenuDto
;
import
com.neotel.smfcore.security.rest.bean.mapstruct.GroupMapper
;
import
com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition
;
import
com.neotel.smfcore.security.service.manager.IGroupManager
;
import
com.neotel.smfcore.security.service.manager.IMenuManager
;
import
com.neotel.smfcore.security.service.po.Group
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.java.Log
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.regex.Pattern
;
@RestController
@RestController
@RequiredArgsConstructor
@RequiredArgsConstructor
...
@@ -12,4 +34,74 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -12,4 +34,74 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping
(
"/api/groups"
)
@RequestMapping
(
"/api/groups"
)
@Slf4j
@Slf4j
public
class
GroupController
{
public
class
GroupController
{
@Autowired
IGroupManager
groupManager
;
@Autowired
GroupMapper
groupMapper
;
@GetMapping
@ApiOperation
(
"查询组列表"
)
// @PreAuthorize("@el.check('groups:list')")
public
ResponseEntity
<
Object
>
query
(
@RequestParam
String
groupname
)
throws
Exception
{
Criteria
criteria
=
new
Criteria
().
and
(
"groupName"
).
regex
(
".*?\\"
+
groupname
.
trim
()
+
".*"
);
Query
query
=
new
Query
(
criteria
);
List
<
Group
>
groups
=
groupManager
.
findByQuery
(
query
);
return
new
ResponseEntity
<>(
groupMapper
.
toDto
(
groups
),
HttpStatus
.
OK
);
}
@ApiOperation
(
"新增分组"
)
@PostMapping
@PreAuthorize
(
"@el.check('group:add')"
)
public
ResponseEntity
<
Object
>
create
(
@RequestBody
Group
resources
){
if
(
resources
.
getGroupName
()
!=
null
)
{
// throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID");
log
.
info
(
"新增分组: 组名称为空"
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
//验证名称是否重复
Group
hasGroup
=
groupManager
.
findOneByGroupName
(
resources
.
getGroupName
());
if
(
hasGroup
!=
null
){
log
.
info
(
"新增分组: 组名称["
+
resources
.
getGroupName
()+
"]已存在"
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
try
{
groupManager
.
save
(
resources
);
}
catch
(
ValidateException
e
)
{
log
.
error
(
"新增分组["
+
resources
.
getGroupName
()+
"]出错:"
+
e
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
return
new
ResponseEntity
<>(
HttpStatus
.
CREATED
);
}
@ApiOperation
(
"修改分组"
)
@PutMapping
@PreAuthorize
(
"@el.check('group:edit')"
)
public
ResponseEntity
<
Object
>
update
(
@RequestBody
Group
resources
){
//验证名称是否重复
Group
hasGroup
=
groupManager
.
findOneByGroupName
(
resources
.
getGroupName
());
if
(
hasGroup
!=
null
&&(
hasGroup
.
getId
()!=
resources
.
getId
())){
log
.
info
(
"新增分组: 组名称["
+
resources
.
getGroupName
()+
"]已存在"
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
try
{
groupManager
.
save
(
resources
);
}
catch
(
ValidateException
e
)
{
log
.
error
(
"修改分组["
+
resources
.
getGroupName
()+
"]出错:"
+
e
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
return
new
ResponseEntity
<>(
HttpStatus
.
NO_CONTENT
);
}
@ApiOperation
(
"删除分组"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('group:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
String
>
ids
){
Set
<
Group
>
menuSet
=
new
HashSet
<>();
for
(
String
id
:
ids
)
{
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
}
src/main/java/com/neotel/smfcore/security/rest/MenuController.java
查看文件 @
1a64803
...
@@ -19,10 +19,12 @@ import cn.hutool.core.collection.CollectionUtil;
...
@@ -19,10 +19,12 @@ import cn.hutool.core.collection.CollectionUtil;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.rest.bean.dto.MenuDto
;
import
com.neotel.smfcore.security.rest.bean.dto.MenuDto
;
import
com.neotel.smfcore.security.rest.bean.mapstruct.MenuMapper
;
import
com.neotel.smfcore.security.rest.bean.mapstruct.MenuMapper
;
import
com.neotel.smfcore.security.rest.bean.query.MenuQueryCondition
;
import
com.neotel.smfcore.security.rest.bean.vo.MenuVo
;
import
com.neotel.smfcore.security.rest.bean.vo.MenuVo
;
import
com.neotel.smfcore.security.service.manager.IMenuManager
;
import
com.neotel.smfcore.security.service.manager.IMenuManager
;
import
com.neotel.smfcore.security.service.po.Menu
;
import
com.neotel.smfcore.security.service.po.Menu
;
...
@@ -81,8 +83,10 @@ public class MenuController {
...
@@ -81,8 +83,10 @@ public class MenuController {
@ApiOperation
(
"导出菜单数据"
)
@ApiOperation
(
"导出菜单数据"
)
@GetMapping
(
value
=
"/download"
)
@GetMapping
(
value
=
"/download"
)
@PreAuthorize
(
"@el.check('menu:list')"
)
@PreAuthorize
(
"@el.check('menu:list')"
)
public
void
download
(
HttpServletResponse
response
,
QueryCondition
criteria
)
throws
Exception
{
public
void
download
(
HttpServletResponse
response
,
MenuQueryCondition
criteria
)
throws
Exception
{
Query
query
=
new
Query
(
Criteria
.
where
(
"type"
).
ne
(
2
));
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
query
.
addCriteria
(
Criteria
.
where
(
"type"
).
ne
(
2
));
//Query query=new Query(Criteria.where("type").ne(2));
menuManager
.
download
(
menuManager
.
findByQuery
(
query
),
response
);
menuManager
.
download
(
menuManager
.
findByQuery
(
query
),
response
);
}
}
//
//
...
@@ -108,8 +112,9 @@ public class MenuController {
...
@@ -108,8 +112,9 @@ public class MenuController {
@GetMapping
@GetMapping
@ApiOperation
(
"查询菜单"
)
@ApiOperation
(
"查询菜单"
)
@PreAuthorize
(
"@el.check('menu:list')"
)
@PreAuthorize
(
"@el.check('menu:list')"
)
public
ResponseEntity
<
Object
>
query
(
QueryCondition
criteria
)
throws
Exception
{
public
ResponseEntity
<
Object
>
query
(
MenuQueryCondition
criteria
)
throws
Exception
{
Query
query
=
new
Query
(
Criteria
.
where
(
"type"
).
ne
(
2
));
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
query
.
addCriteria
(
Criteria
.
where
(
"type"
).
ne
(
2
));
List
<
MenuDto
>
menuDtoList
=
menuMapper
.
toDto
(
menuManager
.
findByQuery
(
query
));
List
<
MenuDto
>
menuDtoList
=
menuMapper
.
toDto
(
menuManager
.
findByQuery
(
query
));
return
new
ResponseEntity
<>(
PageUtil
.
toPage
(
menuDtoList
,
menuDtoList
.
size
()),
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
PageUtil
.
toPage
(
menuDtoList
,
menuDtoList
.
size
()),
HttpStatus
.
OK
);
}
}
...
...
src/main/java/com/neotel/smfcore/security/rest/bean/dto/GroupDto.java
0 → 100644
查看文件 @
1a64803
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
@Getter
@Setter
public
class
GroupDto
implements
Serializable
{
private
String
id
;
private
String
groupName
;
}
src/main/java/com/neotel/smfcore/security/rest/bean/dto/MenuDto.java
查看文件 @
1a64803
...
@@ -9,6 +9,8 @@ import java.util.List;
...
@@ -9,6 +9,8 @@ import java.util.List;
@Getter
@Getter
@Setter
@Setter
public
class
MenuDto
implements
Serializable
{
public
class
MenuDto
implements
Serializable
{
private
String
id
;
/**
/**
* 子菜单
* 子菜单
*/
*/
...
...
src/main/java/com/neotel/smfcore/security/rest/bean/mapstruct/GroupMapper.java
0 → 100644
查看文件 @
1a64803
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.security.rest.bean.dto.GroupDto
;
import
com.neotel.smfcore.security.service.po.Group
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
GroupMapper
extends
BaseMapper
<
GroupDto
,
Group
>
{
}
src/main/java/com/neotel/smfcore/security/rest/bean/query/MenuQueryCondition.java
查看文件 @
1a64803
...
@@ -20,5 +20,5 @@ public class MenuQueryCondition {
...
@@ -20,5 +20,5 @@ public class MenuQueryCondition {
private
Boolean
pidIsNull
;
private
Boolean
pidIsNull
;
@QueryCondition
@QueryCondition
private
Lo
ng
pid
;
private
Stri
ng
pid
;
}
}
src/main/java/com/neotel/smfcore/security/service/manager/IGroupManager.java
查看文件 @
1a64803
...
@@ -4,4 +4,5 @@ import com.neotel.smfcore.common.base.IBaseManager;
...
@@ -4,4 +4,5 @@ import com.neotel.smfcore.common.base.IBaseManager;
import
com.neotel.smfcore.security.service.po.Group
;
import
com.neotel.smfcore.security.service.po.Group
;
public
interface
IGroupManager
extends
IBaseManager
<
Group
>
{
public
interface
IGroupManager
extends
IBaseManager
<
Group
>
{
Group
findOneByGroupName
(
String
groupName
);
}
}
src/main/java/com/neotel/smfcore/security/service/manager/impl/GroupManagerImpl.java
查看文件 @
1a64803
...
@@ -39,4 +39,9 @@ public class GroupManagerImpl implements IGroupManager {
...
@@ -39,4 +39,9 @@ public class GroupManagerImpl implements IGroupManager {
public
List
<
Group
>
findByQuery
(
Query
query
)
{
public
List
<
Group
>
findByQuery
(
Query
query
)
{
return
groupDao
.
findByQuery
(
query
);
return
groupDao
.
findByQuery
(
query
);
}
}
@Override
public
Group
findOneByGroupName
(
String
groupName
)
{
return
groupDao
.
findOneByCondition
(
new
String
[]{
"groupName"
},
new
String
[]{
groupName
});
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论