记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
652dfa28
Commit
652dfa28
authored
May 17, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
藏品列表根据 分批购开售时间排序
parent
fc82f198
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
14 deletions
+27
-14
GoblinNftJobServiceImpl.java
...ce/goblin/service/impl/inner/GoblinNftJobServiceImpl.java
+27
-14
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/inner/GoblinNftJobServiceImpl.java
View file @
652dfa28
...
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
...
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Service
@Service
@Slf4j
@Slf4j
...
@@ -60,6 +61,14 @@ public class GoblinNftJobServiceImpl {
...
@@ -60,6 +61,14 @@ public class GoblinNftJobServiceImpl {
query1
.
with
(
pageable
);
query1
.
with
(
pageable
);
// 查询
// 查询
List
<
GoblinNftGoodsSkuListJobVo
>
notStartSkuInfoVos
=
mongoTemplate
.
find
(
query1
,
GoblinNftGoodsSkuListJobVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
List
<
GoblinNftGoodsSkuListJobVo
>
notStartSkuInfoVos
=
mongoTemplate
.
find
(
query1
,
GoblinNftGoodsSkuListJobVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
// 获取分段购真实的时间
for
(
GoblinNftGoodsSkuListJobVo
info
:
notStartSkuInfoVos
)
{
HashMap
<
String
,
Object
>
mapData
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
nowTime
,
info
.
getSkuId
());
GoblinGoodsSkuInfoVo
skuInfoVo
=
(
GoblinGoodsSkuInfoVo
)
mapData
.
get
(
"vo"
);
String
listId
=
(
String
)
mapData
.
get
(
"listId"
);
info
.
setSaleStartTime
(
skuInfoVo
.
getSaleStartTime
());
info
.
setListId
(
listId
);
}
// mongo初始条件
// mongo初始条件
Query
query2
=
Query
.
query
(
Query
query2
=
Query
.
query
(
...
@@ -75,28 +84,32 @@ public class GoblinNftJobServiceImpl {
...
@@ -75,28 +84,32 @@ public class GoblinNftJobServiceImpl {
query2
.
with
(
pageable2
);
query2
.
with
(
pageable2
);
// 查询
// 查询
List
<
GoblinNftGoodsSkuListJobVo
>
startSkuInfoVos
=
mongoTemplate
.
find
(
query2
,
GoblinNftGoodsSkuListJobVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
List
<
GoblinNftGoodsSkuListJobVo
>
startSkuInfoVos
=
mongoTemplate
.
find
(
query2
,
GoblinNftGoodsSkuListJobVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
// 获取分段购真实的时间
List
<
String
>
startSkuIdList
=
CollectionUtil
.
arrayListString
();
for
(
GoblinNftGoodsSkuListJobVo
info
:
startSkuInfoVos
)
{
List
<
String
>
notStartSkuIdList
=
CollectionUtil
.
arrayListString
();
List
<
String
>
soldOutSkuIdList
=
CollectionUtil
.
arrayListString
();
for
(
GoblinNftGoodsSkuListJobVo
info
:
notStartSkuInfoVos
)
{
HashMap
<
String
,
Object
>
mapData
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
nowTime
,
info
.
getSkuId
());
HashMap
<
String
,
Object
>
mapData
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
nowTime
,
info
.
getSkuId
());
GoblinGoodsSkuInfoVo
skuInfoVo
=
(
GoblinGoodsSkuInfoVo
)
mapData
.
get
(
"vo"
);
GoblinGoodsSkuInfoVo
skuInfoVo
=
(
GoblinGoodsSkuInfoVo
)
mapData
.
get
(
"vo"
);
String
listId
=
(
String
)
mapData
.
get
(
"listId"
);
String
listId
=
(
String
)
mapData
.
get
(
"listId"
);
info
.
setSaleStartTime
(
skuInfoVo
.
getSaleStartTime
());
info
.
setSaleStartTime
(
skuInfoVo
.
getSaleStartTime
());
info
.
setListId
(
listId
);
info
.
setListId
(
listId
);
}
}
notStartSkuInfoVos
=
notStartSkuInfoVos
.
stream
().
sorted
(
Comparator
.
comparing
(
GoblinNftGoodsSkuListJobVo:
:
getSaleStartTime
)).
collect
(
Collectors
.
toList
());
for
(
GoblinNftGoodsSkuListJobVo
info
:
startSkuInfoVos
)
{
// 根据新的开售时间重新分配俩个list
HashMap
<
String
,
Object
>
mapData
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
nowTime
,
info
.
getSkuId
());
List
<
GoblinNftGoodsSkuListJobVo
>
notAndStartSkuInfoVos
=
Stream
.
of
(
notStartSkuInfoVos
,
startSkuInfoVos
).
flatMap
(
Collection:
:
stream
).
collect
(
Collectors
.
toList
());
GoblinGoodsSkuInfoVo
skuInfoVo
=
(
GoblinGoodsSkuInfoVo
)
mapData
.
get
(
"vo"
);
notStartSkuInfoVos
=
new
ArrayList
<>();
String
listId
=
(
String
)
mapData
.
get
(
"listId"
);
startSkuInfoVos
=
new
ArrayList
<>();
info
.
setSaleStartTime
(
skuInfoVo
.
getSaleStartTime
());
for
(
GoblinNftGoodsSkuListJobVo
skuInfoVo
:
notAndStartSkuInfoVos
)
{
info
.
setListId
(
listId
);
if
(
nowTime
.
isBefore
(
skuInfoVo
.
getSaleStartTime
()))
{
// 未开始的
notStartSkuInfoVos
.
add
(
skuInfoVo
);
}
else
{
// 已开始的
startSkuInfoVos
.
add
(
skuInfoVo
);
}
}
}
startSkuInfoVos
=
startSkuInfoVos
.
stream
().
sorted
(
Comparator
.
comparing
(
GoblinNftGoodsSkuListJobVo:
:
getSaleStartTime
,
Comparator
.
reverseOrder
())).
collect
(
Collectors
.
toList
());
notStartSkuInfoVos
=
notStartSkuInfoVos
.
stream
().
sorted
(
Comparator
.
comparing
(
GoblinNftGoodsSkuListJobVo:
:
getSaleStartTime
)).
collect
(
Collectors
.
toList
());
startSkuInfoVos
=
startSkuInfoVos
.
stream
().
sorted
(
Comparator
.
comparing
(
GoblinNftGoodsSkuListJobVo:
:
getSaleStartTime
,
Comparator
.
reverseOrder
())).
collect
(
Collectors
.
toList
());
List
<
String
>
startSkuIdList
=
CollectionUtil
.
arrayListString
();
List
<
String
>
notStartSkuIdList
=
CollectionUtil
.
arrayListString
();
List
<
String
>
soldOutSkuIdList
=
CollectionUtil
.
arrayListString
();
List
<
GoblinNftGoodsSkuListJobVo
>
jobVoArrayList
=
ObjectUtil
.
getGoblinNftGoodsSkuListJobVoArrayList
();
List
<
GoblinNftGoodsSkuListJobVo
>
jobVoArrayList
=
ObjectUtil
.
getGoblinNftGoodsSkuListJobVoArrayList
();
jobVoArrayList
.
addAll
(
notStartSkuInfoVos
);
jobVoArrayList
.
addAll
(
notStartSkuInfoVos
);
...
...
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