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

Commit 9945fb2f authored by jiangxiulong's avatar jiangxiulong

kylin消费nft超时支付关闭listId

parent 52f2dc4e
...@@ -171,12 +171,12 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin ...@@ -171,12 +171,12 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
goblinNftUtils.decrSkuCountByUid(nftOrder.getUserId(), nftOrder.getSkuId(), nftOrder.getNum()); goblinNftUtils.decrSkuCountByUid(nftOrder.getUserId(), nftOrder.getSkuId(), nftOrder.getNum());
LocalDateTime nowTime = LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
if (StringUtils.isEmpty(nftOrder.getBoxSkuId())) {// 购买藏品 if (StringUtils.isEmpty(nftOrder.getBoxSkuId())) {// 购买藏品
HashMap<String, Object> map = goblinNftUtils.getGoodsSkuInfoVo(nowTime, nftOrder.getSkuId()); GoblinListCollectVo goblinListCollectVo = goblinNftUtils.getCollectByNow(nowTime, nftOrder.getSkuId());
String listId = (String) map.get("listId"); String listId = (null == goblinListCollectVo) ? null : goblinListCollectVo.getListId();
goblinNftUtils.incrSkuStock(listId, nftOrder.getSkuId(), nftOrder.getNum()); goblinNftUtils.incrSkuStock(listId, nftOrder.getSkuId(), nftOrder.getNum());
} else {// 购买盲盒 } else {// 购买盲盒
HashMap<String, Object> map = goblinNftUtils.getGoodsSkuInfoVo(nowTime, nftOrder.getBoxSkuId()); GoblinListCollectVo goblinListCollectVo = goblinNftUtils.getCollectByNow(nowTime, nftOrder.getBoxSkuId());
String listId = (String) map.get("listId"); String listId = (null == goblinListCollectVo) ? null : goblinListCollectVo.getListId();
goblinNftUtils.incrSkuStock(listId, nftOrder.getBoxSkuId(), nftOrder.getNum()); goblinNftUtils.incrSkuStock(listId, nftOrder.getBoxSkuId(), nftOrder.getNum());
} }
......
...@@ -84,91 +84,31 @@ public class GoblinNftUtils { ...@@ -84,91 +84,31 @@ public class GoblinNftUtils {
} }
/** /**
* 获取 包含分段购的sku详情 HASHMAP * 根据时间获取当前分段购vo
* *
* @param now 当前时间 * @param now
* @param skuId skuId * @param skuId
* @return * @return
*/ */
public HashMap<String, Object> getGoodsSkuInfoVo(LocalDateTime now, String skuId) { public GoblinListCollectVo getCollectByNow(LocalDateTime now, String skuId) {
GoblinGoodsSkuInfoVo vo = getGoodsSkuInfoVo(skuId);
List<GoblinListCollectVo> collectVos = getGoblinListCollect(skuId);
GoblinListCollectVo collectVo = null; GoblinListCollectVo collectVo = null;
GoblinListCollectVo collectTemp = null;
List<GoblinListCollectVo> collectVos = getGoblinListCollect(skuId);
for (GoblinListCollectVo collectVoItem : collectVos) { for (GoblinListCollectVo collectVoItem : collectVos) {
if (now.isAfter(collectVoItem.getTimeStart()) && now.isBefore(collectVoItem.getTimeEnd())) { if (now.isAfter(collectVoItem.getTimeStart()) && collectVoItem.getTimeEnd() == null) {
if (collectTemp == null || collectTemp.getTimeStart().isBefore(collectVoItem.getTimeStart())) {
collectTemp = collectVoItem;
}
} else if (now.isAfter(collectVoItem.getTimeStart()) && now.isBefore(collectVoItem.getTimeEnd())) {
collectVo = collectVoItem; collectVo = collectVoItem;
break; break;
} }
} }
HashMap<String, Object> map = CollectionUtil.mapStringObject(); if (collectVo == null) {
Integer tagType = null; collectVo = collectTemp;
String listId = null;
if (collectVo != null) {
vo.setPrice(collectVo.getPrice());
vo.setPriceV(collectVo.getPriceV());
vo.setProductId(collectVo.getProductId());
vo.setSaleStartTime(collectVo.getTimeStart());
vo.setSaleStopTime(collectVo.getTimeEnd());
tagType = collectVo.getTagType();
listId = collectVo.getListId();
}
map.put("vo", vo);
map.put("tagType", tagType);
map.put("listId", listId);
return map;
}
/**
* 单品信息
*
* @param skuId 单品ID
* @return GoblinGoodsSkuInfoVo
*/
public GoblinGoodsSkuInfoVo getGoodsSkuInfoVo(String skuId) {
String pre = GoblinStatusConst.MarketPreStatus.getPre(skuId);
if (pre != null && pre.equals(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())) {
String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = getGoodsSkuInfoVoMdb(skuId))) {
redisUtil.set(rk, vo);
}
if (vo == null) {
return vo;
}
String marketrk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId);
GoblinGoodsSkuInfoVo marketVo = (GoblinGoodsSkuInfoVo) redisUtil.get(marketrk);
if (null == marketVo && null != (marketVo = getGoodsSkuInfoVoMdb(skuId))) {
redisUtil.set(marketrk, marketVo);
}
if (marketVo == null) {
return marketVo;
}
vo.setSpuId(marketVo.getSpuId());
vo.setSkuId(marketVo.getSkuId());
vo.setPrice(marketVo.getPrice());
vo.setPriceMember(marketVo.getPriceMember());
vo.setSkuStock(marketVo.getSkuStock());
vo.setBuyLimit(marketVo.getBuyLimit());
vo.setBuyRoster(marketVo.getBuyRoster());
vo.setBuyFactor(marketVo.getBuyFactor());
// vo.setDelFlg("0");
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
vo.setMarketId(marketVo.getMarketId());
vo.setCreatedAt(LocalDateTime.now());
return vo;
} else {
String rk = GoblinRedisConst.BASIC_GOODS_SKU.concat(skuId);
GoblinGoodsSkuInfoVo vo = (GoblinGoodsSkuInfoVo) redisUtil.get(rk);
if (null == vo && null != (vo = getGoodsSkuInfoVoMdb(skuId))) {
redisUtil.set(rk, vo);
}
return vo;
}
} }
// SKU信息 // lastStockToLastStock(1,collectVos, collectVo, skuId);
public GoblinGoodsSkuInfoVo getGoodsSkuInfoVoMdb(String skuId) { return collectVo;
return mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)),
GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
} }
/** /**
* 分段购获取 * 分段购获取
......
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