Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
cloud-backend
Commits
47d93402
Commit
47d93402
authored
May 26, 2022
by
袁伟铭
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.0.0
parent
28516662
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
10 deletions
+46
-10
user-server/src/main/java/com/zq/user/service/UserService.java
+2
-3
xxx-common-utils/src/main/java/com/zq/common/utils/PagingUtils.java
+44
-7
No files found.
user-server/src/main/java/com/zq/user/service/UserService.java
View file @
47d93402
...
@@ -169,13 +169,12 @@ public class UserService {
...
@@ -169,13 +169,12 @@ public class UserService {
if
(
StrUtil
.
isNotBlank
(
vo
.
getAccount
()))
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getAccount
()))
{
lambdaQuery
.
like
(
AppUser:
:
getAccount
,
vo
.
getAccount
());
lambdaQuery
.
like
(
AppUser:
:
getAccount
,
vo
.
getAccount
());
vo
.
setAccount
(
null
);
}
}
if
(
StrUtil
.
isNotBlank
(
vo
.
getPhone
()))
{
if
(
StrUtil
.
isNotBlank
(
vo
.
getPhone
()))
{
lambdaQuery
.
like
(
AppUser:
:
getPhone
,
vo
.
getPhone
());
lambdaQuery
.
like
(
AppUser:
:
getPhone
,
vo
.
getPhone
());
vo
.
setPhone
(
null
);
}
}
return
PagingUtils
.
paging
(
vo
,
userDao
,
lambdaQuery
);
return
PagingUtils
.
paging
(
vo
,
userDao
,
lambdaQuery
,
AppUser
.
class
);
}
}
}
}
xxx-common-utils/src/main/java/com/zq/common/utils/PagingUtils.java
View file @
47d93402
package
com
.
zq
.
common
.
utils
;
package
com
.
zq
.
common
.
utils
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.ISqlSegment
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.segments.MergeSegments
;
import
com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -11,6 +15,7 @@ import com.zq.common.exception.BusinessException;
...
@@ -11,6 +15,7 @@ import com.zq.common.exception.BusinessException;
import
com.zq.common.vo.PageReqVo
;
import
com.zq.common.vo.PageReqVo
;
import
com.zq.common.vo.PageVo
;
import
com.zq.common.vo.PageVo
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -47,15 +52,15 @@ public abstract class PagingUtils {
...
@@ -47,15 +52,15 @@ public abstract class PagingUtils {
* @return
* @return
*/
*/
public
static
<
R
,
Q
extends
PageReqVo
>
PageVo
<
R
>
paging
(
Q
reqVo
,
BaseMapper
<
R
>
mapper
,
Class
<
R
>
clazz
)
{
public
static
<
R
,
Q
extends
PageReqVo
>
PageVo
<
R
>
paging
(
Q
reqVo
,
BaseMapper
<
R
>
mapper
,
Class
<
R
>
clazz
)
{
R
instance
;
R
entity
;
try
{
try
{
instance
=
clazz
.
newInstance
();
entity
=
clazz
.
newInstance
();
}
catch
(
InstantiationException
|
IllegalAccessException
e
)
{
}
catch
(
InstantiationException
|
IllegalAccessException
e
)
{
throw
new
BusinessException
(
"分页类型转换错误"
);
throw
new
BusinessException
(
"分页类型转换错误"
);
}
}
BeanUtil
.
copyProperties
(
reqVo
,
instance
);
BeanUtil
.
copyProperties
(
reqVo
,
entity
);
IPage
<
R
>
page
=
new
Page
<>(
reqVo
.
getPage
(),
reqVo
.
getSize
());
IPage
<
R
>
page
=
new
Page
<>(
reqVo
.
getPage
(),
reqVo
.
getSize
());
page
=
mapper
.
selectPage
(
page
,
Wrappers
.
lambdaQuery
(
instance
));
page
=
mapper
.
selectPage
(
page
,
Wrappers
.
lambdaQuery
(
entity
));
return
PageVo
.
ofReqVo
(
reqVo
,
page
.
getRecords
(),
Long
.
valueOf
(
page
.
getTotal
()).
intValue
());
return
PageVo
.
ofReqVo
(
reqVo
,
page
.
getRecords
(),
Long
.
valueOf
(
page
.
getTotal
()).
intValue
());
}
}
...
@@ -69,9 +74,18 @@ public abstract class PagingUtils {
...
@@ -69,9 +74,18 @@ public abstract class PagingUtils {
* @return
* @return
*/
*/
@SuppressWarnings
(
"all"
)
@SuppressWarnings
(
"all"
)
public
static
<
R
,
Q
extends
PageReqVo
>
PageVo
<
R
>
paging
(
Q
reqVo
,
BaseMapper
<
R
>
mapper
,
LambdaQueryWrapper
<
R
>
lambdaQuery
)
{
public
static
<
R
,
Q
extends
PageReqVo
>
PageVo
<
R
>
paging
(
Q
reqVo
,
BaseMapper
<
R
>
mapper
,
LambdaQueryWrapper
<
R
>
lambdaQuery
,
Class
<
R
>
clazz
)
{
R
entity
=
lambdaQuery
.
getEntity
();
R
entity
;
BeanUtil
.
copyProperties
(
reqVo
,
entity
);
try
{
entity
=
clazz
.
newInstance
();
}
catch
(
InstantiationException
|
IllegalAccessException
e
)
{
throw
new
BusinessException
(
"分页类型转换错误"
);
}
// 已设置在lambdaQuery的字段实体类中不应该重复设置
String
[]
whereFields
=
getWhereFields
(
lambdaQuery
);
BeanUtil
.
copyProperties
(
reqVo
,
entity
,
whereFields
);
lambdaQuery
.
setEntity
(
entity
);
lambdaQuery
.
setEntity
(
entity
);
IPage
<
R
>
page
=
new
Page
<>(
reqVo
.
getPage
(),
reqVo
.
getSize
());
IPage
<
R
>
page
=
new
Page
<>(
reqVo
.
getPage
(),
reqVo
.
getSize
());
...
@@ -79,4 +93,27 @@ public abstract class PagingUtils {
...
@@ -79,4 +93,27 @@ public abstract class PagingUtils {
return
PageVo
.
ofReqVo
(
reqVo
,
page
.
getRecords
(),
Long
.
valueOf
(
page
.
getTotal
()).
intValue
());
return
PageVo
.
ofReqVo
(
reqVo
,
page
.
getRecords
(),
Long
.
valueOf
(
page
.
getTotal
()).
intValue
());
}
}
/**
* 获取设置的条件字段名
*
* @param lambdaQuery
* @param <R>
* @return
*/
public
static
<
R
>
String
[]
getWhereFields
(
LambdaQueryWrapper
<
R
>
lambdaQuery
)
{
List
<
String
>
fields
=
new
ArrayList
<>();
MergeSegments
expression
=
lambdaQuery
.
getExpression
();
NormalSegmentList
normal
=
expression
.
getNormal
();
int
index
=
0
;
for
(
ISqlSegment
iSqlSegment
:
normal
)
{
if
(
index
%
4
==
0
)
{
fields
.
add
(
StrUtil
.
toCamelCase
(
iSqlSegment
.
getSqlSegment
()));
}
index
++;
}
return
fields
.
toArray
(
new
String
[]{});
}
}
}
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