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

Commit 4eb7e81a authored by anjiabin's avatar anjiabin

修改购买逻辑

parent 25e6c361
......@@ -12,6 +12,7 @@ package com.liquidnet.service.galaxy.constant;
public class GalaxyConstant {
public static final String REDIS_KET_GALAXY_USER="galaxy:user:";
public static final String REDIS_KET_GALAXY_SERIES="galaxy:series:";
public static final String REDIS_KET_GALAXY_TRADE="galaxy:trade:order:";
public static final String SERIES_NAME_PREFIX="NOW_ZXL_";// 系列存储目录名称和系列声明
......
package com.liquidnet.service.galaxy.dto.bo;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: GalaxyNftOrderBo
* @Package com.liquidnet.service.galaxy.dto.bo
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/17 11:16
*/
@Data
public class GalaxyNftOrderBo implements Serializable,Cloneable {
private String userId;
/**
* 应用系统购买系列唯一ID
*/
private String skuId;
/**
* 系列的唯一名称
*/
private String seriesName;
/**
* 系列的唯一Id
*/
private String seriesId;
/**
* 接入方买入唯一标识
*/
private String orderPayId;
/**
* nftId
*/
private String nftId;
/**
* nft价格
*/
private Long nftPrice;
/**
* 转出方地址
*/
private String fromAddress;
/**
* 转入方地址
*/
private String toAddress;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyNftOrderBo obj = new GalaxyNftOrderBo();
public static GalaxyNftOrderBo getNew() {
try {
return (GalaxyNftOrderBo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyNftOrderBo();
}
}
}
package com.liquidnet.service.galaxy.dto.vo.mongo;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: GalaxyNftOrderBo
* @Package com.liquidnet.service.galaxy.dto.bo
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/17 11:16
*/
@Data
public class GalaxyNftOrderVo implements Serializable,Cloneable {
private String userId;
/**
* 应用系统购买系列唯一ID
*/
private String skuId;
/**
* 系列的唯一名称
*/
private String seriesName;
/**
* 系列的唯一Id
*/
private String seriesId;
/**
* 接入方买入唯一标识
*/
private String orderPayId;
/**
* nftId
*/
private String nftId;
/**
* nft价格
*/
private Long nftPrice;
/**
* 转出方地址
*/
private String fromAddress;
/**
* 转入方地址
*/
private String toAddress;
/**
* 创建时间
*/
private String createdAt;
/**
* 更新时间
*/
private String updatedAt;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyNftOrderVo obj = new GalaxyNftOrderVo();
public static GalaxyNftOrderVo getNew() {
try {
return (GalaxyNftOrderVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyNftOrderVo();
}
}
}
package com.liquidnet.service.galaxy.dto.vo.mongo;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: GalaxySeriesInfoBo
* @Package com.liquidnet.service.galaxy.dto.bo
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/15 15:03
*/
@Data
public class GalaxySeriesInfoVo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String skuId;
/**
* 本地系列唯一名称(前缀+skuid)
*/
private String seriesName;
/**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/
private String seriesId;
/**
* 系列发行总量
*/
private Long totalCount;
/**
* 系列已发行个数
*/
private Long crtCount;
/**
* nft素材原始地址
*/
private String nftOriginalUrl;
/**
* 系列发布状态
*/
private String publishStatus;
//======================================
//=============以下都为购买信息=============
//======================================
/**
* 作者名,中文+英文(数字或符号为非法输入) 不超过30个字符
*/
private String author;
/**
* nft名字(sku名称),中英文数字均可,不超过256个字符
*/
private String nftName;
/**
* nft素材地址
*/
private String nftUrl;
/**
* 预览图url,不超过1024个字符。(至信链浏览器展示预览图尺寸为290*290,请上传比例为1:1的图片)
*/
private String displayUrl;
/**
* nft简介,500个字符以内
*/
private String nftDesc;
/**
* 标签,【文创】,游戏,动漫,30个字符以内
* 非必填
*/
private String nftFlag;
/**
* 可售状态下有意义,表示售卖多少积分
*/
private BigDecimal sellCount;
/**
* 系列显示封面
*/
private String coverUrl;
/**
* 系列描述信息,不超过500个字符
*/
private String seriesDesc;
/**
* 创建时间
*/
private String createdAt;
/**
* 更新时间
*/
private String updatedAt;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxySeriesInfoVo obj = new GalaxySeriesInfoVo();
public static GalaxySeriesInfoVo getNew() {
try {
return (GalaxySeriesInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxySeriesInfoVo();
}
}
}
package com.liquidnet.service.galaxy.dto.vo.mongo;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: 用户注册信息
* @class: GalaxyUserInfoBo
* @Package com.liquidnet.service.galaxy
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/15 14:34
*/
@Data
public class GalaxyUserInfoVo implements Serializable,Cloneable{
private String userId;
/**
* 用户姓名
*/
private String userName;
/**
* 移动手机号
*/
private String mobile;
/**
* 证件类型
*/
private String idCardType;
/**
* 证件号码
*/
private String idCard;
/**
* 助记词
*/
private String mnemonic;
/**
* 助记词绑定索引
*/
private String index;
/**
* 用户唯一ID
*/
private String userIdentification;
/**
* 用户公钥
*/
private String userPubKey;
/**
* 用户私钥
*/
private String userPriKey;
/**
* 路由类型
*/
private String routerType;
/**
* 用户平台地址
*/
private String blockChainAddress;
/**
* 创建时间
*/
private String createdAt;
/**
* 更新时间
*/
private String updatedAt;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyUserInfoVo obj = new GalaxyUserInfoVo();
public static GalaxyUserInfoVo getNew() {
try {
return (GalaxyUserInfoVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyUserInfoVo();
}
}
}
package com.liquidnet.service.galaxy.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
......@@ -58,6 +61,33 @@ public class DataUtils {
}
}
public void setNftOrderBo(String routeType,String skuId, GalaxyNftOrderBo nftOrderBo) {
redisUtil.set(GalaxyConstant.REDIS_KET_GALAXY_TRADE.concat(routeType).concat(":") + skuId,nftOrderBo,keyExpireTime);
/**
* 入库mongo
*/
GalaxyNftOrderVo nftOrderVo = GalaxyNftOrderVo.getNew();
BeanUtil.copy(nftOrderBo,nftOrderVo);
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);
if(obj!=null){
return (GalaxyNftOrderBo) obj;
}else {
GalaxyNftOrderVo nftOrderVo = mongoTemplate.findOne(Query.query(Criteria.where("orderPayId").is(orderPayId)), 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);
return nftOrderBo;
}
}
// public void updateOrderStatus(String code, DragonOrdersDto dragonOrdersDto) {
// redisUtil.set(GalaxyConstant.REDIS_KET_PAY_CODE + code, dragonOrdersDto,keyExpireTime);
// }
......
......@@ -84,7 +84,7 @@ public class TestZxlnftSdkUtil {
// 68c8e0af922c450e35316977548971a1e5c335b1f5a4e21133257f0749b5c0a2
reqDto.setPersonName("安家宾");
// reqDto.setEmail("");
reqDto.setMobile("13811314082");
reqDto.setMobile("15711095580");
reqDto.setIdCard(ID_CARD_1);
// reqDto.setPersonName("周焕");
......
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