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

Commit da953468 authored by jiangxiulong's avatar jiangxiulong

优化

parent 92007c4b
...@@ -131,6 +131,7 @@ public class GoblinRedisConst { ...@@ -131,6 +131,7 @@ public class GoblinRedisConst {
public static final String REDIS_GOBLIN_NFT_ORDER_BUG_LOCK = PREFIX.concat("nft:order:lock:");// nft购买用户锁 userId public static final String REDIS_GOBLIN_NFT_ORDER_BUG_LOCK = PREFIX.concat("nft:order:lock:");// nft购买用户锁 userId
public static final String REDIS_GOBLIN_NFT_ORDER_EX_LOCK = PREFIX.concat("nft:order:exLock:");// nft兑换码锁 code public static final String REDIS_GOBLIN_NFT_ORDER_EX_LOCK = PREFIX.concat("nft:order:exLock:");// nft兑换码锁 code
public static final String REDIS_GOBLIN_NFT_GOODS_LIST = PREFIX.concat("nft:goodsList");// nft商品列表 public static final String REDIS_GOBLIN_NFT_GOODS_LIST = PREFIX.concat("nft:goodsList");// nft商品列表
public static final String REDIS_GOBLIN_NFT_GOODS_LIST_INFO = PREFIX.concat("nft:goodsList:info:");// nft商品列表单藏品详情 skuId
public static final String REDIS_GOBLIN_NFT_NUM_ACCOUNT = PREFIX.concat("nft:account:");// nft用户数字账户是否开通 userId public static final String REDIS_GOBLIN_NFT_NUM_ACCOUNT = PREFIX.concat("nft:account:");// nft用户数字账户是否开通 userId
......
...@@ -102,6 +102,44 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService { ...@@ -102,6 +102,44 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
return ResponseDto.success(listVoPagedResult); return ResponseDto.success(listVoPagedResult);
} }
/*@Override
public ResponseDto<PagedResult<GoblinNftGoodsSkuListVo>> goodsList(int page) {
List<String> startSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("1");
List<String> notStartSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("2");
List<String> soldOutSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("3");
List<String> allIdList = Stream.of(startSkuIdList, notStartSkuIdList, soldOutSkuIdList).flatMap(Collection::stream).collect(Collectors.toList());
int finalCount = (page - 1) * size;
int initCount = page * size;
if (finalCount < 0) {
finalCount = 0;
}
int allSize = allIdList.size();
if (initCount > allSize) {
initCount = allSize;
}
List<GoblinNftGoodsSkuListVo> skuList = ObjectUtil.getGoblinNftGoodsSkuListVoArrayList();
for (int i = finalCount; i < initCount; i++) {
String skuId = allIdList.get(i);
// sku信息
GoblinNftGoodsSkuListVo goblinNftGoodsListInfoVo = goblinRedisUtils.getGoblinNftGoodsListInfoVo(skuId);
if (null != goblinNftGoodsListInfoVo) {
// 库存、预约
if (soldOutSkuIdList.contains(skuId)) {// 是售罄的
goblinNftGoodsListInfoVo.setIsStock(0);
} else {
goblinNftGoodsListInfoVo.setIsStock(1);
}
// 写入列表
skuList.add(goblinNftGoodsListInfoVo);
}
}
PagedResult<GoblinNftGoodsSkuListVo> listVoPagedResult = ObjectUtil.getGoblinNftGoodsSkuListVoPagedResult();
listVoPagedResult.setList(skuList).setPageSize(GoblinNftGoodsAppServiceImpl.size).setCurrentPage(page);
return ResponseDto.success(listVoPagedResult);
}*/
@Override @Override
public GoblinNftGoodsSkuInfoVo goodsDetail(String skuId) { public GoblinNftGoodsSkuInfoVo goodsDetail(String skuId) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
......
package com.liquidnet.service.goblin.service.impl.inner; package com.liquidnet.service.goblin.service.impl.inner;
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.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
...@@ -49,7 +48,7 @@ public class GoblinNftJobServiceImpl { ...@@ -49,7 +48,7 @@ public class GoblinNftJobServiceImpl {
* *
* @return * @return
*/ */
public ResponseDto<Boolean> goodsListBack() { public ResponseDto<Boolean> goodsList() {
// mongo初始条件 // mongo初始条件
Query query1 = Query.query( Query query1 = Query.query(
Criteria.where("skuType").is(1).and("delFlg").is("0") Criteria.where("skuType").is(1).and("delFlg").is("0")
...@@ -146,7 +145,7 @@ public class GoblinNftJobServiceImpl { ...@@ -146,7 +145,7 @@ public class GoblinNftJobServiceImpl {
return ResponseDto.success(); return ResponseDto.success();
} }
public ResponseDto<Boolean> goodsList() { /*public ResponseDto<Boolean> goodsList() {
// mongo初始条件 // mongo初始条件
Query query1 = Query.query( Query query1 = Query.query(
Criteria.where("skuType").is(1).and("delFlg").is("0") Criteria.where("skuType").is(1).and("delFlg").is("0")
...@@ -185,6 +184,7 @@ public class GoblinNftJobServiceImpl { ...@@ -185,6 +184,7 @@ public class GoblinNftJobServiceImpl {
for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) { for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) {
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");
Integer tagType = (Integer) mapData.get("tagType");
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);
...@@ -193,10 +193,23 @@ public class GoblinNftJobServiceImpl { ...@@ -193,10 +193,23 @@ public class GoblinNftJobServiceImpl {
} else {// 已开始的 } else {// 已开始的
startSkuInfoVosNew.add(info); startSkuInfoVosNew.add(info);
} }
// 写入listvo
GoblinNftGoodsSkuListVo goblinNftGoodsSkuListVo = GoblinNftGoodsSkuListVo.getNew().copy(skuInfoVo);
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinNftGoodsSkuListVo.getSpuId());
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
goblinNftGoodsSkuListVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
goblinNftGoodsSkuListVo.setIsStock(0);
goblinNftGoodsSkuListVo.setTagType(tagType);
AnticipateValueVo anticipateValueVo = goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(info.getSkuId(), 0);
goblinNftGoodsSkuListVo.setAnticipateValueVo(anticipateValueVo);
goblinRedisUtils.setGoblinNftGoodsListInfoVo(info.getSkuId(), goblinNftGoodsSkuListVo);
} }
for (GoblinNftGoodsSkuListJobVo info : notStartSkuInfoVos) { 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");
Integer tagType = (Integer) mapData.get("tagType");
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);
...@@ -205,6 +218,18 @@ public class GoblinNftJobServiceImpl { ...@@ -205,6 +218,18 @@ public class GoblinNftJobServiceImpl {
} else {// 已开始的 } else {// 已开始的
startSkuInfoVosNew.add(info); startSkuInfoVosNew.add(info);
} }
// 写入listvo
GoblinNftGoodsSkuListVo goblinNftGoodsSkuListVo = GoblinNftGoodsSkuListVo.getNew().copy(skuInfoVo);
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinNftGoodsSkuListVo.getSpuId());
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
goblinNftGoodsSkuListVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
goblinNftGoodsSkuListVo.setTagType(tagType);
goblinNftGoodsSkuListVo.setIsStock(0);
AnticipateValueVo anticipateValueVo = goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(info.getSkuId(), 0);
goblinNftGoodsSkuListVo.setAnticipateValueVo(anticipateValueVo);
goblinRedisUtils.setGoblinNftGoodsListInfoVo(info.getSkuId(), goblinNftGoodsSkuListVo);
} }
// 根据新的vos排序 未开卖 时间正序 // 根据新的vos排序 未开卖 时间正序
...@@ -238,7 +263,7 @@ public class GoblinNftJobServiceImpl { ...@@ -238,7 +263,7 @@ public class GoblinNftJobServiceImpl {
goblinRedisUtils.setGoblinNftGoodsInfoListVo(soldOutSkuIdList, "3"); goblinRedisUtils.setGoblinNftGoodsInfoListVo(soldOutSkuIdList, "3");
return ResponseDto.success(); return ResponseDto.success();
} }*/
/** /**
* 处理[未开售/开售]五分钟内的nft[优先购/分批购]库存job * 处理[未开售/开售]五分钟内的nft[优先购/分批购]库存job
......
...@@ -1999,6 +1999,20 @@ public class GoblinRedisUtils { ...@@ -1999,6 +1999,20 @@ public class GoblinRedisUtils {
} }
} }
public void setGoblinNftGoodsListInfoVo(String skuId, GoblinNftGoodsSkuListVo data) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_GOODS_LIST_INFO.concat(skuId);
redisUtil.set(redisKey, data);
}
public GoblinNftGoodsSkuListVo getGoblinNftGoodsListInfoVo(String skuId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_GOODS_LIST_INFO.concat(skuId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return null;
} else {
return (GoblinNftGoodsSkuListVo) obj;
}
}
public void setGoblinNftGoodsInfoListVo(List<String> spuList, String num) { public void setGoblinNftGoodsInfoListVo(List<String> spuList, String num) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_GOODS_LIST.concat(num); String redisKey = GoblinRedisConst.REDIS_GOBLIN_NFT_GOODS_LIST.concat(num);
redisUtil.set(redisKey, spuList); redisUtil.set(redisKey, spuList);
......
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