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

Commit ed9c2d28 authored by anjiabin's avatar anjiabin

实现购买相关逻辑

parent 0481d33d
......@@ -20,7 +20,8 @@ public enum GalaxyErrorEnum {
SERIES_CLAIM_PROCESSING("NFT0010008","系列声明正在处理中,不允许重复声明!"),
SERIES_CLAIM_SUCCESSED("NFT0010009","系列已声明成功,不允许重复声明!"),
SERIES_CLAIM_NOT_EXIST("NFT0010010","系列声明初始化信息不存在,请检查是否已上传对应素材!"),
PUBLISH_ORDER_NOT_EXIST("NFT0010011","NFT购买订单不存在!");
PUBLISH_ORDER_NOT_EXIST("NFT0010011","NFT购买订单不存在!"),
NFT_BUY_TASK_NOT_EXIST("NFT0010012","NFT购买执行任务不存在");
private String code;
private String message;
......
......@@ -61,7 +61,7 @@ public class ZxinPublishBiz {
public ResponseDto<GalaxyNftPublishRespDto> nftPublish(GalaxyNftPublishReqDto reqDto) {
//获取订单信息
GalaxyNftOrderBo nftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
if(StringUtil.isNotNull(nftOrderBo)&&StringUtil.isNotEmpty(nftOrderBo.getNftId())){
if(StringUtil.isNotNull(nftOrderBo)){
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL_ALREADY_EXIST.getCode(), GalaxyErrorEnum.PUBLISH_FAIL_ALREADY_EXIST.getMessage());
}
......@@ -168,11 +168,20 @@ public class ZxinPublishBiz {
if(nft035RespDtoTemp.isSuccess()){
GalaxyNftPublishResultQueryRespDto nftPublishResultQueryRespDto = GalaxyNftPublishResultQueryRespDto.getNew();
BeanUtil.copy(nft035RespDtoTemp.getData(),nftPublishResultQueryRespDto);
//设置时间
String nowTimeStr = DateUtil.format(new Date(nft035RespDtoTemp.getData().getChainTimestamp().longValue()*1000),DateUtil.Formatter.yyyyMMddHHmmss);
nftPublishResultQueryRespDto.setChainTimestamp(nowTimeStr);
//转换任务状态
Integer taskStatus = Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),nft035RespDtoTemp.getData().getTaskStatus().toString()).getCode());
nftPublishResultQueryRespDto.setTaskStatus(taskStatus);
nftPublishResultQueryRespDto.setChainTimestamp(nowTimeStr);
//更新缓存数据状态
nftOrderBo.setNftId(nft035RespDtoTemp.getData().getNftIdBegin());
dataUtils.updateNftOrderInfo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
return ResponseDto.success(nftPublishResultQueryRespDto);
}else{
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL.getCode(), GalaxyErrorEnum.PUBLISH_FAIL.getMessage());
......
......@@ -223,6 +223,9 @@ public class ZxinTradeBiz {
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_ORDER_NOT_EXIST.getCode(), GalaxyErrorEnum.PUBLISH_ORDER_NOT_EXIST.getMessage());
}
if(StringUtil.isEmpty(nftOrderBo.getNftBuyTaskId())){
return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getCode(), GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getMessage());
}
//3.2.4查询NFT购买结果
Nft044BuyResultReqDto nft044ReqDto = Nft044BuyResultReqDto.getNew();
nft044ReqDto.setTaskId(nftOrderBo.getNftBuyTaskId());
......
......@@ -94,21 +94,32 @@ public class DataUtils {
mongoTemplate.save(nftOrderVo,GalaxyNftOrderVo.class.getSimpleName());
}
public GalaxyNftOrderBo getNftOrderBo(String routeType, String orderPayId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + orderPayId);
public GalaxyNftOrderBo getNftOrderBo(String routeType, String nftOrderPayId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + nftOrderPayId);
if(obj!=null){
return (GalaxyNftOrderBo) obj;
}else {
GalaxyNftOrderVo nftOrderVo = mongoTemplate.findOne(Query.query(Criteria.where("nftOrderPayId").is(orderPayId)), GalaxyNftOrderVo.class, GalaxyNftOrderVo.class.getSimpleName());
GalaxyNftOrderVo nftOrderVo = mongoTemplate.findOne(Query.query(Criteria.where("nftOrderPayId").is(nftOrderPayId)), GalaxyNftOrderVo.class, GalaxyNftOrderVo.class.getSimpleName());
if (nftOrderVo == null) {
return null;
}
GalaxyNftOrderBo nftOrderBo = GalaxyNftOrderBo.getNew();
BeanUtil.copy(nftOrderVo,nftOrderBo);
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + orderPayId, nftOrderBo);
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + nftOrderPayId, nftOrderBo);
return nftOrderBo;
}
}
public void updateNftOrderInfo(String routeType,String nftOrderPayId,GalaxyNftOrderBo nftOrderBo) {
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + nftOrderPayId,nftOrderBo,keyExpireTime);
Query query = Query.query(Criteria.where("nftOrderPayId").is(nftOrderBo.getNftOrderPayId()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(nftOrderBo)));
update.set("nftId", nftOrderBo.getNftId());
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now());
update.set("updatedAt",nowTimeStr);
UpdateResult result = mongoTemplate.updateFirst(query,update, GalaxyNftOrderBo.class,GalaxyNftOrderBo.class.getSimpleName());
log.info("updateNftOrderInfo result:{}",result.toString());
}
}
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