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

Commit 596c4a85 authored by GaoHu's avatar GaoHu

忽略正在热卖预约nft展示,新增根据spuId获取创作者、发行方

parent 1736d17a
......@@ -92,6 +92,11 @@ public class NoticeGoblinGoodsSkuInfoVo implements Serializable, Cloneable {
@ApiModelProperty(position = 70, value = "分批购活动id")
private String listId;
@ApiModelProperty(position = 12, value = "创作者")
private String author;
@ApiModelProperty(position = 13, value = "发行方")
private String publisher;
private static final NoticeGoblinGoodsSkuInfoVo obj = new NoticeGoblinGoodsSkuInfoVo();
......
......@@ -438,8 +438,10 @@ public class DataUtils {
LocalDateTime now = LocalDateTime.now();
List<NoticeGoblinGoodsSkuInfoVo> toDayNftVoList = toDaysNftList.stream().map(goblinGoodsSkuInfoVo -> {
NoticeGoblinGoodsSkuInfoVo noticeGoblinGoodsSkuInfoVo = NoticeGoblinGoodsSkuInfoVo.getNew().copy(goblinGoodsSkuInfoVo);
//获取预约开始结束时间
Object valueVo = redisUtil.get(anticipateKey.concat(goblinGoodsSkuInfoVo.getSkuId()));
/*Object valueVo = redisUtil.get(anticipateKey.concat(goblinGoodsSkuInfoVo.getSkuId()));
if (valueVo != null) {
noticeGoblinGoodsSkuInfoVo = noticeGoblinGoodsSkuInfoVo.valueCopy((GoblinGoodsAnticipateValueVo) valueVo);
noticeGoblinGoodsSkuInfoVo.setTagType(2);
......@@ -452,7 +454,19 @@ public class DataUtils {
noticeGoblinGoodsSkuInfoVo.setTagType(tagType);
noticeGoblinGoodsSkuInfoVo.setListId(listId);
}
}*/
//非预约sku 查询优先购分批购
HashMap<String, Object> map = goblinRedisUtils.getGoodsSkuInfoVo(now, goblinGoodsSkuInfoVo.getSkuId());
if (map != null) {
Integer tagType = (Integer) map.get("tagType");
String listId = (String) map.get("listId");
noticeGoblinGoodsSkuInfoVo.setTagType(tagType);
noticeGoblinGoodsSkuInfoVo.setListId(listId);
}
//根据spuId获取创作者 发行方
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinGoodsSkuInfoVo.getSpuId());
noticeGoblinGoodsSkuInfoVo.setPublisher(goodsInfoVo.getPublisher());
noticeGoblinGoodsSkuInfoVo.setAuthor(goodsInfoVo.getAuthor());
//普通数字藏品
if (noticeGoblinGoodsSkuInfoVo.getTagType() == null) {
noticeGoblinGoodsSkuInfoVo.setTagType(3);
......@@ -614,15 +628,15 @@ public class DataUtils {
//查询预约(当天)
// List<GoblinGoodsSkuInfoVo> toDayAboutNft = getAboutNftByStartAndEndTime(nowTimeTime, toDayEndTime,0);
// List<String> toDayAboutNftSkuIds = toDayAboutNft.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
List<String> toDayAboutNft = getAboutNftByStartAndEndTime(nowTimeTime, toDayEndTime, 0);
/*List<String> toDayAboutNft = getAboutNftByStartAndEndTime(nowTimeTime, toDayEndTime, 0);*/
//查询预约(三天)
// List<GoblinGoodsSkuInfoVo> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime,1);
// List<String> threeDayAboutNftSkuIds = threeDayAboutNft.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
// toDayAboutNftSkuIds.addAll(threeDayAboutNftSkuIds);
List<String> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime, 1);
ArrayList<String> allListSkuIds = new ArrayList<>();
/*List<String> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime, 1);*/
/*ArrayList<String> allListSkuIds = new ArrayList<>();
allListSkuIds.addAll(toDayAboutNft);
allListSkuIds.addAll(threeDayAboutNft);
allListSkuIds.addAll(threeDayAboutNft);*/
//当天
Query queryToDayNft = new Query();
......@@ -630,28 +644,28 @@ public class DataUtils {
queryToDayNft.addCriteria(Criteria.where("delFlg").is("0"));
queryToDayNft.addCriteria(Criteria.where("saleStartTime").gte(nowTimeTime).lt(toDayEndTime));
// queryToDayNft.addCriteria(Criteria.where("skuId").nin(toDayAboutNftSkuIds));
queryToDayNft.addCriteria(Criteria.where("skuId").nin(allListSkuIds));
/* queryToDayNft.addCriteria(Criteria.where("skuId").nin(allListSkuIds));*/
queryToDayNft.addCriteria(Criteria.where("shelvesHandle").ne("3"));
Sort sortNameToDayNft = Sort.by(Sort.Direction.ASC, "saleStartTime");
queryToDayNft.with(sortNameToDayNft);
List<GoblinGoodsSkuInfoVo> toDaysNftList = mongoTemplate.find(queryToDayNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
// toDaysNftList.addAll(toDayAboutNft);
List<String> toDayNftIds = toDaysNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
toDayNftIds.addAll(toDayAboutNft);
/*toDayNftIds.addAll(toDayAboutNft);*/
//三天的
Query queryThreeNft = new Query();
queryThreeNft.addCriteria(Criteria.where("skuType").is(1));
queryThreeNft.addCriteria(Criteria.where("delFlg").is("0"));
queryThreeNft.addCriteria(Criteria.where("saleStartTime").gte(toDayEndTime).lt(threeEndTime));
queryThreeNft.addCriteria(Criteria.where("skuId").nin(allListSkuIds));
/*queryThreeNft.addCriteria(Criteria.where("skuId").nin(allListSkuIds));*/
queryThreeNft.addCriteria(Criteria.where("shelvesHandle").ne("3"));
Sort sortThreeNft = Sort.by(Sort.Direction.ASC, "saleStartTime");
queryThreeNft.with(sortThreeNft);
List<GoblinGoodsSkuInfoVo> threeNftList = mongoTemplate.find(queryThreeNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
// threeNftList.addAll(threeDayAboutNft);
List<String> threeNftIds = threeNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
threeNftIds.addAll(threeDayAboutNft);
/*threeNftIds.addAll(threeDayAboutNft);*/
//组合购
......
package com.liquidnet.service.kylin.utils;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
......@@ -20,4 +21,12 @@ public class GoblinMongodbUtils {
return mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)),
GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
}
// SPU信息
public GoblinGoodsInfoVo getGoodsInfoVo(String spuId) {
// return mongoTemplate.findOne(Query.query(Criteria.where("spuId").is(spuId).and("delFlg").is("0").and("shelvesStatus").is("3")),
// return mongoTemplate.findOne(Query.query(Criteria.where("spuId").is(spuId).and("delFlg").is("0")),
return mongoTemplate.findOne(Query.query(Criteria.where("spuId").is(spuId)),
GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
}
}
......@@ -4,6 +4,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinListCollectVo;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -215,4 +216,53 @@ public class GoblinRedisUtils {
}
return collectVo;
}
/**
* 商品基础信息
*
* @param spuId 商品ID
* @return GoblinGoodsInfoVo
*/
public GoblinGoodsInfoVo getGoodsInfoVo(String spuId) {
String pre = GoblinStatusConst.MarketPreStatus.getPre(spuId);
if (pre != null && pre.equals(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())) {
String[] spuSplitArr = spuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue());
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuSplitArr[0]);
GoblinGoodsInfoVo vo = (GoblinGoodsInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(rk, vo);
}
if (vo == null) {
return vo;
}
String marketrk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
GoblinGoodsInfoVo marketVo = (GoblinGoodsInfoVo) redisUtil.get(marketrk);
if (null == marketVo && null != (marketVo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(marketrk, marketVo);
}
if (marketVo == null) {
return marketVo;
}
vo.setSpuId(marketVo.getSpuId());
List<String> skuIdList = CollectionUtil.linkedListString();
for (String skuIds : vo.getSkuIdList()) {
skuIdList.add(skuIds.concat(pre).concat(spuSplitArr[1]));
}
vo.setSkuIdList(skuIdList);
vo.setPriceGe(marketVo.getPriceGe());
vo.setPriceLe(marketVo.getPriceLe());
vo.setMarketId(marketVo.getMarketId());
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
return vo;
} else {
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
GoblinGoodsInfoVo vo = (GoblinGoodsInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = goblinMongoUtils.getGoodsInfoVo(spuId))) {
redisUtil.set(rk, vo);
}
return vo;
}
}
}
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