AssetServiceTest.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package com.izouma.nineth.service;
  2. import com.izouma.nineth.ApplicationTests;
  3. import com.izouma.nineth.TokenHistory;
  4. import com.izouma.nineth.domain.*;
  5. import com.izouma.nineth.dto.NFT;
  6. import com.izouma.nineth.dto.NFTAccount;
  7. import com.izouma.nineth.repo.*;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.junit.jupiter.api.Test;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import java.util.Arrays;
  12. import java.util.List;
  13. class AssetServiceTest extends ApplicationTests {
  14. @Autowired
  15. private OrderRepo orderRepo;
  16. @Autowired
  17. private BlindBoxItemRepo blindBoxItemRepo;
  18. @Autowired
  19. private AssetService assetService;
  20. @Autowired
  21. private CollectionRepo collectionRepo;
  22. @Autowired
  23. private UserRepo userRepo;
  24. @Autowired
  25. private CollectionService collectionService;
  26. @Autowired
  27. private AssetMintService assetMintService;
  28. @Autowired
  29. private AssetRepo assetRepo;
  30. @Autowired
  31. private NFTService nftService;
  32. @Autowired
  33. private TokenHistoryRepo tokenHistoryRepo;
  34. @Test
  35. void createAsset() {
  36. BlindBoxItem item = blindBoxItemRepo.findById(1860L).get();
  37. Order order = orderRepo.findById(1922L).get();
  38. }
  39. @Test
  40. void cancelConsignment() {
  41. assetService.cancelConsignment(1209L);
  42. }
  43. @Test
  44. void testCancelConsignment() {
  45. }
  46. @Test
  47. public void testLock() throws InterruptedException {
  48. assetService.testLock("123", "ddd");
  49. }
  50. @Test
  51. public void testCreateAsset() {
  52. Order order = orderRepo.findById(4618L).get();
  53. Collection collection = collectionRepo.findById(order.getCollectionId()).get();
  54. BlindBoxItem blindBoxItem = blindBoxItemRepo.findById(4250L).get();
  55. User user = userRepo.findById(order.getUserId()).get();
  56. assetService.createAsset(blindBoxItem, user, order.getId(), order.getPrice(), "出售", 1);
  57. }
  58. @Test
  59. public void mint() {
  60. Asset asset = assetRepo.findById(4622L).get();
  61. assetMintService.mint(asset, 1L);
  62. }
  63. @Test
  64. public void setHistory() {
  65. assetService.setHistory();
  66. }
  67. @Test
  68. public void cancelCon() {
  69. for (Asset asset : assetRepo.findNoAccount()) {
  70. try {
  71. assetService.cancelConsignment(asset.getId());
  72. } catch (Exception e) {
  73. }
  74. }
  75. }
  76. @Test
  77. public void fixHash() throws Exception {
  78. for (Asset asset : assetRepo.findByTxHash("1")) {
  79. User user = userRepo.findById(asset.getUserId()).get();
  80. if (StringUtils.isEmpty(user.getPublicKey())) {
  81. NFTAccount account = nftService.createAccount(user.getUsername() + "_");
  82. user.setNftAccount(account.getAccountId());
  83. user.setKmsId(account.getAccountKmsId());
  84. user.setPublicKey(account.getPublicKey());
  85. userRepo.save(user);
  86. }
  87. NFT nft = nftService.createToken(user.getNftAccount());
  88. if (nft != null) {
  89. asset.setTokenId(nft.getTokenId());
  90. asset.setBlockNumber(nft.getBlockNumber());
  91. asset.setTxHash(nft.getTxHash());
  92. asset.setGasUsed(nft.getGasUsed());
  93. assetRepo.save(asset);
  94. List<TokenHistory> list = tokenHistoryRepo.findByTokenIdOrderByCreatedAtDesc(asset.getTokenId());
  95. for (TokenHistory tokenHistory : list) {
  96. tokenHistory.setTokenId(asset.getTokenId());
  97. }
  98. tokenHistoryRepo.saveAll(list);
  99. }
  100. }
  101. }
  102. @Test
  103. public void fixHash1() throws Exception {
  104. List<Long> ids = Arrays.asList(27206L, 27216L, 27242L, 27271L, 27276L, 27280L, 27292L, 27294L, 43485L);
  105. for (Asset asset : assetRepo.findByIdIn(ids)) {
  106. User user = userRepo.findById(asset.getUserId()).get();
  107. if (StringUtils.isEmpty(user.getPublicKey())) {
  108. NFTAccount account = nftService.createAccount(user.getUsername() + "_");
  109. user.setNftAccount(account.getAccountId());
  110. user.setKmsId(account.getAccountKmsId());
  111. user.setPublicKey(account.getPublicKey());
  112. userRepo.save(user);
  113. }
  114. NFT nft = nftService.createToken(user.getNftAccount());
  115. if (nft != null) {
  116. asset.setTokenId(nft.getTokenId());
  117. asset.setBlockNumber(nft.getBlockNumber());
  118. asset.setTxHash(nft.getTxHash());
  119. asset.setGasUsed(nft.getGasUsed());
  120. assetRepo.save(asset);
  121. TokenHistory tokenHistory = tokenHistoryRepo.save(TokenHistory.builder()
  122. .tokenId(asset.getTokenId())
  123. .fromUser(asset.getMinter())
  124. .fromUserId(asset.getMinterId())
  125. .fromAvatar(asset.getMinterAvatar())
  126. .toUser(user.getNickname())
  127. .toUserId(user.getId())
  128. .toAvatar(user.getAvatar())
  129. .operation("出售")
  130. .price(asset.getPrice())
  131. .tokenId(asset.getTokenId())
  132. .build());
  133. tokenHistory.setCreatedAt(asset.getCreatedAt());
  134. tokenHistoryRepo.save(tokenHistory);
  135. }
  136. }
  137. }
  138. @Test
  139. public void fixNoHistory() {
  140. List<Asset> assets = assetRepo.findByNoHistory();
  141. for (Asset asset : assets) {
  142. if (StringUtils.isNotBlank(asset.getTokenId())){
  143. User user = userRepo.findById(asset.getUserId()).get();
  144. TokenHistory tokenHistory = tokenHistoryRepo.save(TokenHistory.builder()
  145. .tokenId(asset.getTokenId())
  146. .fromUser(asset.getMinter())
  147. .fromUserId(asset.getMinterId())
  148. .fromAvatar(asset.getMinterAvatar())
  149. .toUser(user.getNickname())
  150. .toUserId(user.getId())
  151. .toAvatar(user.getAvatar())
  152. .operation("出售")
  153. .price(asset.getPrice())
  154. .tokenId(asset.getTokenId())
  155. .build());
  156. tokenHistory.setCreatedAt(asset.getCreatedAt());
  157. tokenHistoryRepo.save(tokenHistory);
  158. }
  159. }
  160. System.out.println(assets);
  161. }
  162. }