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

Commit 208e96d9 authored by anjiabin's avatar anjiabin

优化相关策略实现

parent 457779e2
......@@ -53,6 +53,10 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* 系列声明状态
*/
private String seriesClaimStatus;
/**
* 系列声明时间
*/
private String seriesClaimTime;
//======================================
//=============以下都为购买信息=============
......
......@@ -46,9 +46,13 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
*/
private String originalDisplayUrl;
/**
* 系列发布状态
* 系列声明任务ID
*/
private String publishStatus;
private String seriesClaimTaskId;
/**
* 系列声明状态
*/
private String seriesClaimStatus;
//======================================
//=============以下都为购买信息=============
......
......@@ -29,6 +29,7 @@ import org.springframework.stereotype.Component;
import java.io.File;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -302,6 +303,9 @@ public class ZxinArtworkBiz {
if(StringUtil.isNull(seriesInfoBo)||StringUtil.isEmpty(seriesInfoBo.getSeriesClaimTaskId())){
return ResponseDto.failure(GalaxyErrorEnum.SERIES_NOT_EXIST.getCode(), GalaxyErrorEnum.SERIES_NOT_EXIST.getMessage());
}
if(seriesInfoBo.getSeriesClaimStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
}
//查询NFT系列声明结果
Nft031SeriesClaimResultReqDto nft031SeriesClaimResultReqDto = Nft031SeriesClaimResultReqDto.getNew();
......@@ -309,13 +313,25 @@ public class ZxinArtworkBiz {
nft031SeriesClaimResultReqDto.setPlatformPubKey(zxlnftConfig.getNftPlatformPubKey());
ZxlnftResponseDto<Nft031SeriesClaimResultRespDto> resp = zxlnftSdkUtil.nft031SeriesClaimResult(nft031SeriesClaimResultReqDto);
if(resp.isSuccess()){
GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew();
BeanUtil.copy(resp.getData(),resultQueryRespDto);
resultQueryRespDto.setTaskStatus(Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),resp.getData().getTaskStatus().toString()).getCode()));
return ResponseDto.success(resultQueryRespDto);
}else{
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR.getMessage());
if(resp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
//设置系列声明状态
seriesInfoBo.setSeriesClaimStatus(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode());
String nowTimeStr = DateUtil.format(new Date(resp.getData().getChainTimestamp().longValue()*1000),DateUtil.Formatter.yyyyMMddHHmmss);
seriesInfoBo.setSeriesClaimTime(nowTimeStr);
seriesInfoBo.setSeriesId(resp.getData().getSeriesId());
dataUtils.updateSeriesClaimStatus(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
//设置成功返回参数
GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew();
BeanUtil.copy(resp.getData(),resultQueryRespDto);
resultQueryRespDto.setTaskStatus(Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),resp.getData().getTaskStatus().toString()).getCode()));
return ResponseDto.success(resultQueryRespDto);
}else if(resp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
seriesInfoBo.setSeriesClaimStatus(GalaxyEnum.SeriesClaimStatusEnum.FAIL.getCode());
dataUtils.updateSeriesClaimStatus(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR.getMessage());
}
}
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR.getMessage());
}
private String getFullFilePath(String seriesName,String originalUrl){
......
......@@ -2,17 +2,27 @@ package com.liquidnet.service.galaxy.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.vo.mongo.GalaxyNftOrderVo;
import com.liquidnet.service.galaxy.dto.vo.mongo.GalaxySeriesInfoVo;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@Slf4j
@Component
public class DataUtils {
@Autowired
......@@ -61,6 +71,18 @@ public class DataUtils {
}
}
public void updateSeriesClaimStatus(String routeType,String skuId, GalaxySeriesInfoBo seriesInfoBo) {
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_SERIES.concat(routeType).concat(":") + skuId,seriesInfoBo,keyExpireTime);
Query query = Query.query(Criteria.where("skuId").is(seriesInfoBo.getSkuId()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(seriesInfoBo)));
update.set("seriesClaimStatus", seriesInfoBo.getSeriesClaimStatus());
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now());
update.set("updatedAt",nowTimeStr);
UpdateResult result = mongoTemplate.updateFirst(query,update, GalaxySeriesInfoVo.class,GalaxySeriesInfoVo.class.getSimpleName());
log.info("updateSeriesClaimStatus result:{}",result.toString());
}
public void setNftOrderBo(String routeType,String nftOrderPayId, GalaxyNftOrderBo nftOrderBo) {
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + nftOrderPayId,nftOrderBo,keyExpireTime);
......@@ -88,11 +110,5 @@ public class DataUtils {
}
}
// public void updateOrderStatus(String code, DragonOrdersDto dragonOrdersDto) {
// redisUtil.set(GalaxyConstant.REDIS_KET_PAY_CODE + code, dragonOrdersDto,keyExpireTime);
// }
//
// public void setRefundNotifyUrl(String code, String notifyUrl) {
// redisUtil.set(GalaxyConstant.REFUND_REDIS_KET + code, notifyUrl,keyExpireTime);
// }
}
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