Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
cash-loan-flow-boss
Commits
c5271f96
Commit
c5271f96
authored
Dec 07, 2020
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户角色查询
parent
5e8c4b3d
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
13 deletions
+33
-13
UserRepository.java
.../cashloanflowboss/api/user/repository/UserRepository.java
+12
-9
UserServiceImpl.java
...up/cashloanflowboss/api/user/service/UserServiceImpl.java
+21
-4
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/user/repository/UserRepository.java
View file @
c5271f96
...
@@ -27,15 +27,18 @@ public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificat
...
@@ -27,15 +27,18 @@ public interface UserRepository extends JpaRepository<User, Long>, JpaSpecificat
User
getUserByUsername
(
String
username
);
User
getUserByUsername
(
String
username
);
@Query
(
value
=
"select user.* from user,user_role_mapping urm where urm.user_id= user.id "
+
// @Query(value = "select u.* from user u,user_role_mapping urm where urm.user_id= u.id "+
"and IF ( ?1 =\"\",1=1, user.nickname = ?1) "
+
// "and IF (?1 =\"\",1=1, u.nickname = ?1) " +
"and IF (?2 =\"\", 1=1, urm.role_id= ?2) "
// "and IF (?2 =\"\", 1=1, urm.role_id= ?2) "
+
"ORDER BY ?#{#pageable}"
,
// + "ORDER BY ?#{#pageable}",
countQuery
=
"select count(user.id) from user,user_role_mapping urm where urm.user_id= user.id "
+
// countQuery = "select count(u.id) from user u,user_role_mapping urm where urm.user_id= u.id "+
"and IF ( ?1 =\"\",1=1, user.nickname = ?1) "
+
// "and IF (?1 =\"\",1=1, u.nickname = ?1) " +
"and IF (?2 =\"\", 1=1, urm.role_id= ?2) "
,
// "and IF (?2 =\"\", 1=1, urm.role_id= ?2) ",
nativeQuery
=
true
)
// nativeQuery = true)
Page
<
User
>
getUserByNicknameAndRoleId
(
String
nickname
,
String
roleId
,
Pageable
pageable
);
// @Query(value = "select u.* from user u left join user_role_mapping on urm where urm.user_id= u.id",
// countQuery = "select count(u.id) from user u left join user_role_mapping on urm where urm.user_id= u.id",
// nativeQuery = true)
// Page<User> getUserByNicknameAndRoleId(Pageable pageable);
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/service/UserServiceImpl.java
View file @
c5271f96
...
@@ -330,12 +330,29 @@ public class UserServiceImpl implements UserService {
...
@@ -330,12 +330,29 @@ public class UserServiceImpl implements UserService {
String
nickname
=
queryUserListModel
.
getNickname
();
String
nickname
=
queryUserListModel
.
getNickname
();
Long
roleId
=
queryUserListModel
.
getRoleId
();
Long
roleId
=
queryUserListModel
.
getRoleId
();
PageRequest
pageRequest
=
new
PageRequest
(
queryUserListModel
.
getPageNumber
(),
queryUserListModel
.
getPageSize
(),
new
Sort
(
Sort
.
Direction
.
DESC
,
"id"
));
Page
<
User
>
page
=
this
.
userRepository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
{
List
<
Predicate
>
predicates
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotEmpty
(
queryUserListModel
.
getNickname
()))
{
predicates
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
"nickname"
),
queryUserListModel
.
getNickname
()));
}
if
(
Objects
.
nonNull
(
queryUserListModel
.
getRoleId
()))
{
predicates
.
add
(
criteriaBuilder
.
equal
(
root
.
get
(
"role"
).
get
(
"id"
),
queryUserListModel
.
getRoleId
()));
}
criteriaQuery
.
where
(
criteriaBuilder
.
and
(
predicates
.
toArray
(
new
Predicate
[
predicates
.
size
()])));
// 指定排序
criteriaQuery
.
orderBy
(
criteriaBuilder
.
desc
(
root
.
get
(
"id"
)));
return
criteriaQuery
.
getRestriction
();
},
new
PageRequest
(
queryUserListModel
.
getPageNumber
(),
queryUserListModel
.
getPageSize
()));
Page
<
User
>
userPage
=
userRepository
.
getUserByNicknameAndRoleId
(
nickname
==
null
?
""
:
nickname
,
roleId
==
null
?
""
:
roleId
.
toString
(),
// PageRequest pageRequest = new PageRequest(queryUserListModel.getPageNumber(), queryUserListModel.getPageSize(), new Sort(Sort.Direction.DESC, "id"));
pageRequest
);
//
// Page<User> userPage = userRepository.getUserByNicknameAndRoleId(pageRequest);
return
Result
.
buildSuccess
(
userP
age
);
return
Result
.
buildSuccess
(
p
age
);
}
}
@Override
@Override
...
...
Write
Preview
Markdown
is supported
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