Commit 120b3f6d authored by 童得柱's avatar 童得柱

Merge remote-tracking branch 'origin/dev' into dev

parents 609d3b3a 32c8e97f
......@@ -96,7 +96,7 @@ public class UserAssetTransferRecordServiceImpl extends ServiceImpl<UserAssetTra
/**
* 链上转账
*/
transferInChain(user.getAddress(), record.getCoin(), record.getToAddress(), record.getNum(), record.getTransferRecordId(), hash, tokenId);
transferInChain(user.getAddress(), record.getCoin(), record.getToAddress(), record.getNum(), record.getTransferRecordId(), hash, tokenId, sku.getCoinName());
}
}
......@@ -127,7 +127,7 @@ public class UserAssetTransferRecordServiceImpl extends ServiceImpl<UserAssetTra
* @param toAddress
* @param num
*/
private void transferInChain(String fromAddress, String coin, String toAddress, Integer num, String transferRecordId, String hash, Long tokenId) {
private void transferInChain(String fromAddress, String coin, String toAddress, Integer num, String transferRecordId, String hash, Long tokenId, String goodsCoin) {
/**
* 如果配置为不走链,则不操作链上资产
*/
......@@ -144,6 +144,8 @@ public class UserAssetTransferRecordServiceImpl extends ServiceImpl<UserAssetTra
tranDto.setTableType(TranDto.USER_ASSET_TRANSFER);
tranDto.setHash(hash);
tranDto.setTokenId(tokenId);
tranDto.setGoodsCoin(goodsCoin);
tranDto.setCoinType(TranDto.COIN_TYPE_NFT_IN);
producer.sendTTL(JSON.toJSONString(tranDto), QueueTTLTypeEnum.MALL_USER_ASSET_TRANSFER_TTL, 5 * 1000);
}
......
......@@ -141,7 +141,7 @@ public class UserAssetTransferConsumer {
* 成功:增加接收方的资产
* 失败:不做任何操作
*/
updateReciverAsset(transferRecord, successed);
updateReciverAsset(transferRecord, successed, tranDto.getGoodsCoin());
/**
* 转赠流水记录
......@@ -176,7 +176,7 @@ public class UserAssetTransferConsumer {
private String getHash(TranDto tranDto) {
String hash;
if (tranDto.getCoinType().equals(TranDto.COIN_TYPE_NFT_IN)) {
if (tranDto.getCoinType().equals(TranDto.COIN_TYPE_NFT_OUT)) {
long[] tokenIds = new long[]{tranDto.getTokenId()};
long[] amounts = new long[]{tranDto.getAmount().longValue()};
hash = chainUtil.evmExec(tokenIds, amounts, tranDto.getFromAddr(), tranDto.getToAddr());
......@@ -217,7 +217,7 @@ public class UserAssetTransferConsumer {
}
}
private void updateReciverAsset(UserAssetTransferRecord transferRecord, boolean successed) {
private void updateReciverAsset(UserAssetTransferRecord transferRecord, boolean successed, String goodsCoin) {
if (!successed) {
return;
}
......@@ -232,6 +232,7 @@ public class UserAssetTransferConsumer {
receiveAsset.setUid(transferRecord.getToUid());
receiveAsset.setType(1);
receiveAsset.setAmount(reNumber);
receiveAsset.setGoodsCoin(goodsCoin);
boolean reSave = userAssetService.save(receiveAsset);
if (!reSave) {
log.error("save asset fail, uid:" + receiveAsset.getUid() + "coin:" + receiveAsset.getCoin());
......
......@@ -58,4 +58,9 @@ public class TranDto {
* 1.外部nft;2.内部nft;3.内部普通
*/
private Integer coinType;
/**
* 复制的nft商品币前缀(原外部NFT)
*/
private String goodsCoin;
}
......@@ -704,7 +704,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.tranToken(m.getTokenIssueAddr(),"",user.getAddress(),new BigDecimal(orderDetail.getNumber()),coinName);
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......@@ -746,7 +746,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.tranToken(m.getTokenIssueAddr(),"",user.getAddress(),new BigDecimal(orderDetail.getNumber()),coinName);
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......@@ -790,7 +790,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getAmount().longValue());
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......@@ -888,7 +888,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.tranToken(m.getTokenIssueAddr(),"",user.getAddress(),new BigDecimal(orderDetail.getNumber()),coinName);
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......@@ -955,7 +955,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.tranToken(m.getTokenIssueAddr(),"",user.getAddress(),new BigDecimal(orderDetail.getNumber()),coinName);
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......@@ -1023,7 +1023,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
} else {
userAssetService.addCoin(coin.getId(), new BigDecimal(orderDetail.getNumber()));
}
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(orderDetail.getCoin()),orderDetail.getAmount().longValue());
String coinName = orderDetail.getCoin().replace(MALLGlobalConfig.GOODS_NFT_PREFIX, "");
String hash = chainUtil.evmTransfer(user.getAddress(),m.getTokenIssueAddr(),Long.valueOf(coinName),orderDetail.getNumber().longValue());
UserAssetRecord userAssetRecord = new UserAssetRecord();
userAssetRecord.setUid(order.getUid());
userAssetRecord.setAmount(new BigDecimal(orderDetail.getNumber()));
......
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