记得上下班打卡 | git大法好,push需谨慎

Commit 652dfa28 authored by jiangxiulong's avatar jiangxiulong

藏品列表根据 分批购开售时间排序

parent fc82f198
...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment