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

Commit 652dfa28 authored by jiangxiulong's avatar jiangxiulong

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

parent fc82f198
......@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
@Slf4j
......@@ -60,6 +61,14 @@ public class GoblinNftJobServiceImpl {
query1.with(pageable);
// 查询
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初始条件
Query query2 = Query.query(
......@@ -75,28 +84,32 @@ public class GoblinNftJobServiceImpl {
query2.with(pageable2);
// 查询
List<GoblinNftGoodsSkuListJobVo> startSkuInfoVos = mongoTemplate.find(query2, GoblinNftGoodsSkuListJobVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
List<String> startSkuIdList = CollectionUtil.arrayListString();
List<String> notStartSkuIdList = CollectionUtil.arrayListString();
List<String> soldOutSkuIdList = CollectionUtil.arrayListString();
for (GoblinNftGoodsSkuListJobVo info : notStartSkuInfoVos) {
// 获取分段购真实的时间
for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) {
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);
}
notStartSkuInfoVos = notStartSkuInfoVos.stream().sorted(Comparator.comparing(GoblinNftGoodsSkuListJobVo::getSaleStartTime)).collect(Collectors.toList());
for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) {
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);
// 根据新的开售时间重新分配俩个list
List<GoblinNftGoodsSkuListJobVo> notAndStartSkuInfoVos = Stream.of(notStartSkuInfoVos, startSkuInfoVos).flatMap(Collection::stream).collect(Collectors.toList());
notStartSkuInfoVos = new ArrayList<>();
startSkuInfoVos = new ArrayList<>();
for (GoblinNftGoodsSkuListJobVo skuInfoVo : notAndStartSkuInfoVos) {
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();
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