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

Commit 596c4a85 authored by GaoHu's avatar GaoHu

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

parent 1736d17a
...@@ -92,6 +92,11 @@ public class NoticeGoblinGoodsSkuInfoVo implements Serializable, Cloneable { ...@@ -92,6 +92,11 @@ public class NoticeGoblinGoodsSkuInfoVo implements Serializable, Cloneable {
@ApiModelProperty(position = 70, value = "分批购活动id") @ApiModelProperty(position = 70, value = "分批购活动id")
private String listId; private String listId;
@ApiModelProperty(position = 12, value = "创作者")
private String author;
@ApiModelProperty(position = 13, value = "发行方")
private String publisher;
private static final NoticeGoblinGoodsSkuInfoVo obj = new NoticeGoblinGoodsSkuInfoVo(); private static final NoticeGoblinGoodsSkuInfoVo obj = new NoticeGoblinGoodsSkuInfoVo();
......
...@@ -438,8 +438,10 @@ public class DataUtils { ...@@ -438,8 +438,10 @@ public class DataUtils {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
List<NoticeGoblinGoodsSkuInfoVo> toDayNftVoList = toDaysNftList.stream().map(goblinGoodsSkuInfoVo -> { List<NoticeGoblinGoodsSkuInfoVo> toDayNftVoList = toDaysNftList.stream().map(goblinGoodsSkuInfoVo -> {
NoticeGoblinGoodsSkuInfoVo noticeGoblinGoodsSkuInfoVo = NoticeGoblinGoodsSkuInfoVo.getNew().copy(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) { if (valueVo != null) {
noticeGoblinGoodsSkuInfoVo = noticeGoblinGoodsSkuInfoVo.valueCopy((GoblinGoodsAnticipateValueVo) valueVo); noticeGoblinGoodsSkuInfoVo = noticeGoblinGoodsSkuInfoVo.valueCopy((GoblinGoodsAnticipateValueVo) valueVo);
noticeGoblinGoodsSkuInfoVo.setTagType(2); noticeGoblinGoodsSkuInfoVo.setTagType(2);
...@@ -452,7 +454,19 @@ public class DataUtils { ...@@ -452,7 +454,19 @@ public class DataUtils {
noticeGoblinGoodsSkuInfoVo.setTagType(tagType); noticeGoblinGoodsSkuInfoVo.setTagType(tagType);
noticeGoblinGoodsSkuInfoVo.setListId(listId); 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) { if (noticeGoblinGoodsSkuInfoVo.getTagType() == null) {
noticeGoblinGoodsSkuInfoVo.setTagType(3); noticeGoblinGoodsSkuInfoVo.setTagType(3);
...@@ -614,15 +628,15 @@ public class DataUtils { ...@@ -614,15 +628,15 @@ public class DataUtils {
//查询预约(当天) //查询预约(当天)
// List<GoblinGoodsSkuInfoVo> toDayAboutNft = getAboutNftByStartAndEndTime(nowTimeTime, toDayEndTime,0); // List<GoblinGoodsSkuInfoVo> toDayAboutNft = getAboutNftByStartAndEndTime(nowTimeTime, toDayEndTime,0);
// List<String> toDayAboutNftSkuIds = toDayAboutNft.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList()); // 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<GoblinGoodsSkuInfoVo> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime,1);
// List<String> threeDayAboutNftSkuIds = threeDayAboutNft.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList()); // List<String> threeDayAboutNftSkuIds = threeDayAboutNft.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
// toDayAboutNftSkuIds.addAll(threeDayAboutNftSkuIds); // toDayAboutNftSkuIds.addAll(threeDayAboutNftSkuIds);
List<String> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime, 1); /*List<String> threeDayAboutNft = getAboutNftByStartAndEndTime(toDayEndTime, threeEndTime, 1);*/
ArrayList<String> allListSkuIds = new ArrayList<>(); /*ArrayList<String> allListSkuIds = new ArrayList<>();
allListSkuIds.addAll(toDayAboutNft); allListSkuIds.addAll(toDayAboutNft);
allListSkuIds.addAll(threeDayAboutNft); allListSkuIds.addAll(threeDayAboutNft);*/
//当天 //当天
Query queryToDayNft = new Query(); Query queryToDayNft = new Query();
...@@ -630,28 +644,28 @@ public class DataUtils { ...@@ -630,28 +644,28 @@ public class DataUtils {
queryToDayNft.addCriteria(Criteria.where("delFlg").is("0")); queryToDayNft.addCriteria(Criteria.where("delFlg").is("0"));
queryToDayNft.addCriteria(Criteria.where("saleStartTime").gte(nowTimeTime).lt(toDayEndTime)); queryToDayNft.addCriteria(Criteria.where("saleStartTime").gte(nowTimeTime).lt(toDayEndTime));
// queryToDayNft.addCriteria(Criteria.where("skuId").nin(toDayAboutNftSkuIds)); // 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")); queryToDayNft.addCriteria(Criteria.where("shelvesHandle").ne("3"));
Sort sortNameToDayNft = Sort.by(Sort.Direction.ASC, "saleStartTime"); Sort sortNameToDayNft = Sort.by(Sort.Direction.ASC, "saleStartTime");
queryToDayNft.with(sortNameToDayNft); queryToDayNft.with(sortNameToDayNft);
List<GoblinGoodsSkuInfoVo> toDaysNftList = mongoTemplate.find(queryToDayNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()); List<GoblinGoodsSkuInfoVo> toDaysNftList = mongoTemplate.find(queryToDayNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
// toDaysNftList.addAll(toDayAboutNft); // toDaysNftList.addAll(toDayAboutNft);
List<String> toDayNftIds = toDaysNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList()); List<String> toDayNftIds = toDaysNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
toDayNftIds.addAll(toDayAboutNft); /*toDayNftIds.addAll(toDayAboutNft);*/
//三天的 //三天的
Query queryThreeNft = new Query(); Query queryThreeNft = new Query();
queryThreeNft.addCriteria(Criteria.where("skuType").is(1)); queryThreeNft.addCriteria(Criteria.where("skuType").is(1));
queryThreeNft.addCriteria(Criteria.where("delFlg").is("0")); queryThreeNft.addCriteria(Criteria.where("delFlg").is("0"));
queryThreeNft.addCriteria(Criteria.where("saleStartTime").gte(toDayEndTime).lt(threeEndTime)); 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")); queryThreeNft.addCriteria(Criteria.where("shelvesHandle").ne("3"));
Sort sortThreeNft = Sort.by(Sort.Direction.ASC, "saleStartTime"); Sort sortThreeNft = Sort.by(Sort.Direction.ASC, "saleStartTime");
queryThreeNft.with(sortThreeNft); queryThreeNft.with(sortThreeNft);
List<GoblinGoodsSkuInfoVo> threeNftList = mongoTemplate.find(queryThreeNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()); List<GoblinGoodsSkuInfoVo> threeNftList = mongoTemplate.find(queryThreeNft, GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
// threeNftList.addAll(threeDayAboutNft); // threeNftList.addAll(threeDayAboutNft);
List<String> threeNftIds = threeNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList()); List<String> threeNftIds = threeNftList.stream().map(GoblinGoodsSkuInfoVo::getSkuId).collect(Collectors.toList());
threeNftIds.addAll(threeDayAboutNft); /*threeNftIds.addAll(threeDayAboutNft);*/
//组合购 //组合购
......
package com.liquidnet.service.kylin.utils; package com.liquidnet.service.kylin.utils;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
...@@ -20,4 +21,12 @@ public class GoblinMongodbUtils { ...@@ -20,4 +21,12 @@ public class GoblinMongodbUtils {
return mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), return mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)),
GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()); 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; ...@@ -4,6 +4,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst; 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.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinListCollectVo; import com.liquidnet.service.goblin.dto.vo.GoblinListCollectVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -215,4 +216,53 @@ public class GoblinRedisUtils { ...@@ -215,4 +216,53 @@ public class GoblinRedisUtils {
} }
return collectVo; 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