Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
62422985
Commit
62422985
authored
Nov 17, 2020
by
unset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员统计信息修改
parent
2b5e39e0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
43 deletions
+40
-43
BaseUserMemberExportBiz.java
...b/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
+40
-43
No files found.
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
View file @
62422985
...
...
@@ -26,7 +26,6 @@ import java.time.Instant;
import
java.util.*
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -52,7 +51,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
@Autowired
private
ThreadPoolTaskExecutor
threadPoolTaskExecutor
;
private
final
int
BORDER_NUM
=
250
;
private
final
int
BORDER_NUM
=
250
;
private
BaseUserMemberExport
baseUserMemberExport
;
...
...
@@ -87,22 +86,22 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
.
rentFreeDays
(
userMemberSaveDTO
.
getRentFreeDays
())
.
memberName
(
userMemberSaveDTO
.
getMemberName
())
.
discount
(
level
==
null
?
0
:
level
.
getDiscount
()
==
null
?
0
:
level
.
getDiscount
())
.
status
(
hasUsed
?
1
:
0
)
.
userId
(
hasUsed
?
phoneAndUserIdMap
.
get
(
userMemberSaveDTO
.
getPhone
()):
null
)
.
status
(
hasUsed
?
1
:
0
)
.
userId
(
hasUsed
?
phoneAndUserIdMap
.
get
(
userMemberSaveDTO
.
getPhone
())
:
null
)
.
source
(
0
)
.
crtId
(
userId
)
.
crtName
(
name
)
.
crtTime
(
Instant
.
now
().
toEpochMilli
())
.
verificationTime
(
hasUsed
?
Instant
.
now
().
toEpochMilli
():
0
)
.
verificationTime
(
hasUsed
?
Instant
.
now
().
toEpochMilli
()
:
0
)
.
isDel
(
0
)
.
build
();
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"当前组装的数据:【{}】"
,
memberExport
);
}
Integer
id
=
userMemberSaveDTO
.
getId
()
==
null
?
0
:
userMemberSaveDTO
.
getId
();
if
(
id
==
0
){
Integer
id
=
userMemberSaveDTO
.
getId
()
==
null
?
0
:
userMemberSaveDTO
.
getId
();
if
(
id
==
0
)
{
mapper
.
insertSelective
(
memberExport
);
}
else
{
}
else
{
memberExport
.
setId
(
id
);
mapper
.
updateByPrimaryKeySelective
(
memberExport
);
}
...
...
@@ -115,24 +114,22 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
List
<
BaseUserMemberExport
>
baseUserMemberExports
=
new
ArrayList
<>();
List
<
BaseUserMemberLevel
>
levesls
=
userMemberLevelBiz
.
getLevesls
();
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
=
levesls
.
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
Function
.
identity
()));
Map
<
String
,
Integer
>
leavelNameAndLeaveMap
=
levelAndbaseUserMemberMap
.
values
().
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getName
,
BaseUserMemberLevel:
:
getLevel
));
Map
<
String
,
List
<
BaseUserMemberLevel
>>
levelAndbaseUserMemberMap
=
levesls
.
stream
().
collect
(
Collectors
.
groupingBy
(
BaseUserMemberLevel:
:
getName
));
List
<
String
>
phones
=
userMemberData
.
stream
().
map
(
x
->
x
[
0
]).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
Integer
>
phoneAndUserIdMap
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phones
);
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
=
leavelNameAndLeaveMap
.
entrySet
();
Integer
memberLevel
=
1
;
Integer
memberLevel
=
1
;
Integer
discount
=
0
;
AtomicInteger
counter
=
new
AtomicInteger
(
0
);
int
threadNums
=
userMemberData
.
size
()/
BORDER_NUM
==
0
?
1
:
userMemberData
.
size
()/
BORDER_NUM
;
int
threadNums
=
userMemberData
.
size
()
/
BORDER_NUM
==
0
?
1
:
userMemberData
.
size
()
/
BORDER_NUM
;
CountDownLatch
latch
=
new
CountDownLatch
(
threadNums
);
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
=
new
HashMap
<>(
userMemberData
.
size
());
for
(
int
i
=
0
;
i
<
threadNums
;
i
++)
{
int
startIndex
=
i
*
BORDER_NUM
;
int
endIndex
=
i
==(
threadNums
-
1
)?
userMemberData
.
size
():(
i
+
1
)*
BORDER_NUM
;
List
<
String
[]>
subResultDate
=
userMemberData
.
subList
(
startIndex
,
endIndex
);
threadPoolTaskExecutor
.
execute
(()
->
{
wrapperData
(
subResultDate
,
userId
,
userName
,
baseUserMemberExports
,
levelAndbaseUserMemberMap
,
phoneAndUserIdMap
,
leaveNameAndLeaveEntry
,
memberLevel
,
discount
,
counter
,
numAndUserMemberMap
);
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
=
new
HashMap
<>(
userMemberData
.
size
());
for
(
int
i
=
0
;
i
<
threadNums
;
i
++)
{
int
startIndex
=
i
*
BORDER_NUM
;
int
endIndex
=
i
==
(
threadNums
-
1
)
?
userMemberData
.
size
()
:
(
i
+
1
)
*
BORDER_NUM
;
List
<
String
[]>
subResultDate
=
userMemberData
.
subList
(
startIndex
,
endIndex
);
threadPoolTaskExecutor
.
execute
(()
->
{
wrapperData
(
subResultDate
,
userId
,
userName
,
baseUserMemberExports
,
levelAndbaseUserMemberMap
,
phoneAndUserIdMap
,
memberLevel
,
discount
,
counter
,
numAndUserMemberMap
);
latch
.
countDown
();
});
}
...
...
@@ -147,8 +144,8 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
for
(
Map
.
Entry
<
Integer
,
UserMemberDTO
>
memberDTOEntry
:
entries
)
{
try
{
baseUserMemberBiz
.
updUserMemberByUserId
(
memberDTOEntry
.
getValue
());
}
catch
(
Exception
ex
)
{
log
.
error
(
"当前行数:【{}】"
,
memberDTOEntry
.
getKey
());
}
catch
(
Exception
ex
)
{
log
.
error
(
"当前行数:【{}】"
,
memberDTOEntry
.
getKey
());
log
.
error
(
"会员更新错误:【{}】"
,
ex
.
getMessage
());
throw
new
BaseException
(
""
);
}
...
...
@@ -157,22 +154,22 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
}
private
void
wrapperData
(
List
<
String
[]>
userMemberData
,
Integer
userId
,
String
userName
,
List
<
BaseUserMemberExport
>
baseUserMemberExports
,
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
,
Map
<
String
,
Integer
>
phoneAndUserIdMap
,
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
,
Integer
memberLevel
,
Integer
discount
,
AtomicInteger
counter
,
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
)
{
List
<
BaseUserMemberExport
>
baseUserMemberExports
,
Map
<
String
,
List
<
BaseUserMemberLevel
>
>
levelAndbaseUserMemberMap
,
Map
<
String
,
Integer
>
phoneAndUserIdMap
,
Integer
memberLevel
,
Integer
discount
,
AtomicInteger
counter
,
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
)
{
for
(
String
[]
data
:
userMemberData
)
{
String
phone
=
data
[
0
];
phone
=
StringUtils
.
hasText
(
phone
)
?
phone
.
trim
():
""
;
phone
=
StringUtils
.
hasText
(
phone
)
?
phone
.
trim
()
:
""
;
String
memberLevelName
=
data
[
1
];
String
memberName
=
data
[
2
];
String
totalNumber
=
data
[
3
];
String
rentFreeDays
=
data
[
4
];
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
leaveNameAndLeaveEntry
)
{
if
(
entry
.
getKey
().
contains
(
memberLevelName
.
substring
(
0
,
1
))){
memberLevel
=
entry
.
getValue
();
discount
=
levelAndbaseUserMemberMap
.
get
(
memberLevel
).
getDiscount
();
break
;
if
(
levelAndbaseUserMemberMap
.
get
(
memberLevelName
.
substring
(
0
,
1
))
!=
null
)
{
List
<
BaseUserMemberLevel
>
list
=
levelAndbaseUserMemberMap
.
get
(
memberLevelName
.
substring
(
0
,
1
));
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
memberLevel
=
list
.
get
(
0
).
getLevel
();
discount
=
list
.
get
(
0
).
getDiscount
()
;
}
}
...
...
@@ -186,7 +183,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
userMemberDTO
.
setIsBind
(
1
);
userMemberDTO
.
setMemberName
(
memberName
);
userMemberDTO
.
setBuyCount
(
0
);
numAndUserMemberMap
.
put
(
counter
.
incrementAndGet
(),
userMemberDTO
);
numAndUserMemberMap
.
put
(
counter
.
incrementAndGet
(),
userMemberDTO
);
/* try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) {
...
...
@@ -203,14 +200,14 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
.
totalNumber
(
Integer
.
valueOf
(
totalNumber
))
.
rentFreeDays
(
Integer
.
valueOf
(
rentFreeDays
))
.
discount
(
discount
)
.
status
(
hasUsed
?
1
:
0
)
.
userId
(
hasUsed
?
phoneAndUserIdMap
.
get
(
phone
):
null
)
.
status
(
hasUsed
?
1
:
0
)
.
userId
(
hasUsed
?
phoneAndUserIdMap
.
get
(
phone
)
:
null
)
.
crtId
(
userId
)
.
memberName
(
memberName
)
.
source
(
0
)
.
crtName
(
userName
)
.
crtTime
(
Instant
.
now
().
toEpochMilli
())
.
verificationTime
(
hasUsed
?
Instant
.
now
().
toEpochMilli
():
null
)
.
verificationTime
(
hasUsed
?
Instant
.
now
().
toEpochMilli
()
:
null
)
.
isDel
(
0
)
.
build
();
if
(
log
.
isDebugEnabled
())
{
...
...
@@ -249,8 +246,8 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
}
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
void
updateUserMemberExportDataToLoseEfficacyByPhone
(
String
phone
,
Integer
userId
)
{
mapper
.
updateUserMemberExportDataToLoseEfficacyByPhone
(
phone
,
userId
,
Instant
.
now
().
toEpochMilli
());
public
void
updateUserMemberExportDataToLoseEfficacyByPhone
(
String
phone
,
Integer
userId
)
{
mapper
.
updateUserMemberExportDataToLoseEfficacyByPhone
(
phone
,
userId
,
Instant
.
now
().
toEpochMilli
());
}
public
PageDataVO
<
BaseUserMemberExportVo
>
findUserMemberExportDataPage
(
BaseUserMemberExportDataFindDTO
exportDataFindDTO
)
{
...
...
@@ -282,7 +279,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
}
@Override
public
void
insertSelective
(
BaseUserMemberExport
baseUserMemberExport
){
public
void
insertSelective
(
BaseUserMemberExport
baseUserMemberExport
)
{
mapper
.
insertSelective
(
baseUserMemberExport
);
}
}
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