|
|
@@ -81,7 +81,7 @@ public class AssetService {
|
|
|
asset.setIpfsUrl(ipfsUpload(collection.getPic().get(0).getUrl()));
|
|
|
assetRepo.save(asset);
|
|
|
|
|
|
- tokenHistoryRepo.save(TokenHistory.builder()
|
|
|
+ TokenHistory tokenHistory = tokenHistoryRepo.save(TokenHistory.builder()
|
|
|
.tokenId(asset.getTokenId())
|
|
|
.fromUser(collection.getMinter())
|
|
|
.fromUserId(collection.getMinterId())
|
|
|
@@ -90,7 +90,7 @@ public class AssetService {
|
|
|
.operation(type)
|
|
|
.price(price)
|
|
|
.build());
|
|
|
-
|
|
|
+ mint(asset, tokenHistory.getId());
|
|
|
return asset;
|
|
|
}
|
|
|
|
|
|
@@ -100,7 +100,7 @@ public class AssetService {
|
|
|
asset.setPrice(price);
|
|
|
asset.setIpfsUrl(ipfsUpload(winItem.getPic().get(0).getUrl()));
|
|
|
assetRepo.save(asset);
|
|
|
- tokenHistoryRepo.save(TokenHistory.builder()
|
|
|
+ TokenHistory tokenHistory = tokenHistoryRepo.save(TokenHistory.builder()
|
|
|
.tokenId(asset.getTokenId())
|
|
|
.fromUser(winItem.getMinter())
|
|
|
.fromUserId(winItem.getMinterId())
|
|
|
@@ -109,11 +109,11 @@ public class AssetService {
|
|
|
.operation(type)
|
|
|
.price(price)
|
|
|
.build());
|
|
|
-
|
|
|
+ mint(asset, tokenHistory.getId());
|
|
|
return asset;
|
|
|
}
|
|
|
|
|
|
- public void mint(Asset asset) {
|
|
|
+ public void mint(Asset asset, Long historyId) {
|
|
|
User user = userRepo.findById(asset.getUserId()).orElseThrow(new BusinessException("用户不存在"));
|
|
|
if (StringUtils.isEmpty(user.getPublicKey())) {
|
|
|
NFTAccount account = nftService.createAccount(user.getUsername());
|
|
|
@@ -131,6 +131,11 @@ public class AssetService {
|
|
|
asset.setGasUsed(nft.getGasUsed());
|
|
|
asset.setIpfsUrl(ipfsUpload(asset.getPic().get(0).getUrl()));
|
|
|
assetRepo.save(asset);
|
|
|
+
|
|
|
+ tokenHistoryRepo.findById(historyId).ifPresent(tokenHistory -> {
|
|
|
+ tokenHistory.setTokenId(nft.getTokenId());
|
|
|
+ tokenHistoryRepo.save(tokenHistory);
|
|
|
+ });
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|