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

Commit 7abfa333 authored by 张国柄's avatar 张国柄

~api:不同数据链不同转赠约束配置调整;

parent 6af65f9f
...@@ -11,6 +11,7 @@ public class CollectionUtil { ...@@ -11,6 +11,7 @@ public class CollectionUtil {
private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>(); private static final HashMap<String, Object> STRING_OBJECT_HASH_MAP = new HashMap<>();
private static final HashMap<String, List<String>> STRING_LIST_HASH_MAP = new HashMap<>(); private static final HashMap<String, List<String>> STRING_LIST_HASH_MAP = new HashMap<>();
private static final HashMap<String, Integer> STRING_INTEGER_HASH_MAP = new HashMap<>(); private static final HashMap<String, Integer> STRING_INTEGER_HASH_MAP = new HashMap<>();
private static final HashMap<String, Long> STRING_LONG_HASH_MAP = new HashMap<>();
private static final HashMap<String, BigDecimal> STRING_BIG_DECIMAL_HASH_MAP = new HashMap<>(); private static final HashMap<String, BigDecimal> STRING_BIG_DECIMAL_HASH_MAP = new HashMap<>();
private static final HashMap<String, Map<String, Object>> STRING_MAP_HASH_MAP = new HashMap<>(); private static final HashMap<String, Map<String, Object>> STRING_MAP_HASH_MAP = new HashMap<>();
private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>(); private static final LinkedList<String> STRING_LINKED_LIST = new LinkedList<>();
...@@ -42,6 +43,10 @@ public class CollectionUtil { ...@@ -42,6 +43,10 @@ public class CollectionUtil {
return (HashMap<String, Integer>) STRING_INTEGER_HASH_MAP.clone(); return (HashMap<String, Integer>) STRING_INTEGER_HASH_MAP.clone();
} }
public static HashMap<String, Long> mapStringLong() {
return (HashMap<String, Long>) STRING_LONG_HASH_MAP.clone();
}
public static HashMap<String, BigDecimal> mapStringBigDecimal() { public static HashMap<String, BigDecimal> mapStringBigDecimal() {
return (HashMap<String, BigDecimal>) STRING_BIG_DECIMAL_HASH_MAP.clone(); return (HashMap<String, BigDecimal>) STRING_BIG_DECIMAL_HASH_MAP.clone();
} }
......
...@@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
@ApiSupport(order = 142000) @ApiSupport(order = 142000)
@Api(tags = "我的藏品管理") @Api(tags = "我的藏品管理")
...@@ -172,9 +173,9 @@ public class GoblinUserDigitalArtworkController { ...@@ -172,9 +173,9 @@ public class GoblinUserDigitalArtworkController {
GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(userDigitalArtworkVo.getSkuId()); GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(userDigitalArtworkVo.getSkuId());
if ("1".equals(goodsSkuInfoVo.getUnbox())) return ResponseDto.failure(ErrorMapping.get("140106"));// 盲盒 if ("1".equals(goodsSkuInfoVo.getUnbox())) return ResponseDto.failure(ErrorMapping.get("140106"));// 盲盒
if (1 != userDigitalArtworkVo.getState()) return ResponseDto.failure(ErrorMapping.get("140107"));// 未上链 if (1 != userDigitalArtworkVo.getState()) return ResponseDto.failure(ErrorMapping.get("140107"));// 未上链
List<String> transferConfList = goblinRedisUtils.getUserDigitalArtworkTransferConf(); Map<String, Long> artworkTransferConfMap = goblinRedisUtils.getUserDigitalArtworkTransferConfMap();
LocalDateTime transferAllowTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(Long.parseLong(transferConfList.get(0))); LocalDateTime transferAllowTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(artworkTransferConfMap.get(goodsSkuInfoVo.getRouteType()));
if (!transferConfList.contains(goodsSkuInfoVo.getRouteType())) return ResponseDto.failure(ErrorMapping.get("140111"));// 区块链路由未开放转赠 if (!artworkTransferConfMap.containsKey(goodsSkuInfoVo.getRouteType())) return ResponseDto.failure(ErrorMapping.get("140111"));// 区块链路由未开放转赠
if (transferAllowTime.isAfter(LocalDateTime.now())) return ResponseDto.failure(ErrorMapping.get("140112"));// 转赠过渡期内不可转赠 if (transferAllowTime.isAfter(LocalDateTime.now())) return ResponseDto.failure(ErrorMapping.get("140112"));// 转赠过渡期内不可转赠
String transferState = userDigitalArtworkVo.getTransferState(); String transferState = userDigitalArtworkVo.getTransferState();
if (StringUtils.isNotEmpty(transferState)) return ResponseDto.success(transferState);// 转赠状态不为空,标记已转赠或转赠中 if (StringUtils.isNotEmpty(transferState)) return ResponseDto.success(transferState);// 转赠状态不为空,标记已转赠或转赠中
......
...@@ -30,6 +30,7 @@ import javax.annotation.Resource; ...@@ -30,6 +30,7 @@ import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
@Slf4j @Slf4j
@Service @Service
...@@ -77,8 +78,7 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr ...@@ -77,8 +78,7 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr
return pageVo.setArtworkNum((int) artworkNum).setPagedResult(listVoPagedResult).setSystime(LocalDateTime.now()); return pageVo.setArtworkNum((int) artworkNum).setPagedResult(listVoPagedResult).setSystime(LocalDateTime.now());
} }
List<String> transferConfList = goblinRedisUtils.getUserDigitalArtworkTransferConf(); Map<String, Long> artworkTransferConfMap = goblinRedisUtils.getUserDigitalArtworkTransferConfMap();
long transferTimeLimit = Long.parseLong(transferConfList.get(0));
List<GoblinUserDigitalArtworkListVo> list = ObjectUtil.getGoblinUserDigitalArtworkListVoArrayList(); List<GoblinUserDigitalArtworkListVo> list = ObjectUtil.getGoblinUserDigitalArtworkListVoArrayList();
LocalDateTime now = LocalDateTime.now(), toCheckTime = now.minusSeconds(15); LocalDateTime now = LocalDateTime.now(), toCheckTime = now.minusSeconds(15);
...@@ -108,7 +108,8 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr ...@@ -108,7 +108,8 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr
// listVo.setCoverPic(goodsSkuInfoVo.getSkuPic()); // listVo.setCoverPic(goodsSkuInfoVo.getSkuPic());
// } // }
if (transferConfList.contains(goodsSkuInfoVo.getRouteType()) && StringUtils.isNotEmpty(userDigitalArtworkVo.getTradingAt())) { if (artworkTransferConfMap.containsKey(goodsSkuInfoVo.getRouteType()) && StringUtils.isNotEmpty(userDigitalArtworkVo.getTradingAt())) {
long transferTimeLimit = artworkTransferConfMap.get(goodsSkuInfoVo.getRouteType());
listVo.setTransferAllowTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(transferTimeLimit)); listVo.setTransferAllowTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(transferTimeLimit));
} }
...@@ -178,9 +179,10 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr ...@@ -178,9 +179,10 @@ public class GoblinUserDigitalArtworkServiceImpl implements IGoblinUserDigitalAr
artworkInfoVo.setDetails(goodsSkuInfoVo.getDetails()); artworkInfoVo.setDetails(goodsSkuInfoVo.getDetails());
artworkInfoVo.setArUrlIos(goodsSkuInfoVo.getArUrlIos()); artworkInfoVo.setArUrlIos(goodsSkuInfoVo.getArUrlIos());
artworkInfoVo.setArUrlAndroid(goodsSkuInfoVo.getArUrlAndroid()); artworkInfoVo.setArUrlAndroid(goodsSkuInfoVo.getArUrlAndroid());
List<String> transferConfList = goblinRedisUtils.getUserDigitalArtworkTransferConf(); Map<String, Long> artworkTransferConfMap = goblinRedisUtils.getUserDigitalArtworkTransferConfMap();
if (transferConfList.contains(artworkInfoVo.getRouteType()) && StringUtils.isNotEmpty(userDigitalArtworkVo.getTradingAt())) { if (artworkTransferConfMap.containsKey(artworkInfoVo.getRouteType()) && StringUtils.isNotEmpty(userDigitalArtworkVo.getTradingAt())) {
artworkInfoVo.setTransferAllowTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(Long.parseLong(transferConfList.get(0)))); long transferTimeLimit = artworkTransferConfMap.get(goodsSkuInfoVo.getRouteType());
artworkInfoVo.setTransferAllowTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(userDigitalArtworkVo.getTradingAt()).plusSeconds(transferTimeLimit));
} }
artworkInfoVo.setSystime(LocalDateTime.now()); artworkInfoVo.setSystime(LocalDateTime.now());
} }
......
...@@ -6,6 +6,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil; ...@@ -6,6 +6,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.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.RandomUtil; import com.liquidnet.commons.lang.util.RandomUtil;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
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.GoblinStoreMarketDto; import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto;
...@@ -2683,12 +2684,23 @@ public class GoblinRedisUtils { ...@@ -2683,12 +2684,23 @@ public class GoblinRedisUtils {
/** /**
* NFT转赠约束配置 * NFT转赠约束配置
* redis未配置默认返回24小时对应86400秒 * redis未配置默认返回180天对应15552000秒
* @return long(秒) * @return Map<String, Long>
*/ */
public List<String> getUserDigitalArtworkTransferConf() { public Map<String, Long> getUserDigitalArtworkTransferConfMap() {
String o = (String) redisUtil.get(GoblinRedisConst.NFT_TRANSFER_CONF); String val = (String) redisUtil.get(GoblinRedisConst.NFT_TRANSFER_CONF);
return StringUtils.isEmpty(o) ? Arrays.asList("15552000", "xuper") : Arrays.asList(o.split(",")); Map<String, Long> map;
if (StringUtils.isEmpty(val)) {
map = CollectionUtil.mapStringLong();
for (GalaxyEnum.RouterTypeEnum routerTypeEnum : GalaxyEnum.RouterTypeEnum.values()) {
map.put(routerTypeEnum.getCode(), 15552000L);
}
redisUtil.set(GoblinRedisConst.NFT_TRANSFER_CONF, JsonUtils.toJson(map));
} else {
map = JsonUtils.fromJson(val, new TypeReference<Map<String, Long>>() {
});
}
return map;
} }
/* ---------------------------------------- ---------------------------------------- */ /* ---------------------------------------- ---------------------------------------- */
......
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