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