AssetServiceTest.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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.exception.BusinessException;
  6. import com.izouma.nineth.repo.*;
  7. import org.apache.commons.lang3.StringUtils;
  8. import org.junit.jupiter.api.Test;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import java.util.List;
  11. class AssetServiceTest extends ApplicationTests {
  12. @Autowired
  13. private OrderRepo orderRepo;
  14. @Autowired
  15. private BlindBoxItemRepo blindBoxItemRepo;
  16. @Autowired
  17. private AssetService assetService;
  18. @Autowired
  19. private CollectionRepo collectionRepo;
  20. @Autowired
  21. private UserRepo userRepo;
  22. @Autowired
  23. private CollectionService collectionService;
  24. @Autowired
  25. private AssetMintService assetMintService;
  26. @Autowired
  27. private AssetRepo assetRepo;
  28. @Autowired
  29. private NFTService nftService;
  30. @Autowired
  31. private TokenHistoryRepo tokenHistoryRepo;
  32. @Test
  33. void createAsset() {
  34. BlindBoxItem item = blindBoxItemRepo.findById(1860L).get();
  35. Order order = orderRepo.findById(1922L).get();
  36. }
  37. @Test
  38. void cancelConsignment() {
  39. assetService.cancelConsignment(1209L);
  40. }
  41. @Test
  42. void testCancelConsignment() {
  43. }
  44. @Test
  45. public void testLock() throws InterruptedException {
  46. assetService.testLock("123", "ddd");
  47. }
  48. @Test
  49. public void testCreateAsset() {
  50. Order order = orderRepo.findById(4618L).get();
  51. Collection collection = collectionRepo.findById(order.getCollectionId()).get();
  52. BlindBoxItem blindBoxItem = blindBoxItemRepo.findById(4250L).get();
  53. User user = userRepo.findById(order.getUserId()).get();
  54. assetService.createAsset(blindBoxItem, user, order.getId(), order.getPrice(), "出售", 1);
  55. }
  56. @Test
  57. public void mint() {
  58. Asset asset = assetRepo.findById(4622L).get();
  59. assetMintService.mint(asset);
  60. }
  61. @Test
  62. public void setHistory() {
  63. assetService.setHistory();
  64. }
  65. @Test
  66. public void cancelCon() {
  67. for (Asset asset : assetRepo.findNoAccount()) {
  68. try {
  69. assetService.cancelConsignment(asset.getId());
  70. } catch (Exception e) {
  71. }
  72. }
  73. }
  74. @Test
  75. public void fixNoHistory() {
  76. List<Asset> assets = assetRepo.findByNoHistory();
  77. for (Asset asset : assets) {
  78. if (StringUtils.isNotBlank(asset.getTokenId())) {
  79. User user = userRepo.findById(asset.getUserId()).get();
  80. TokenHistory tokenHistory = tokenHistoryRepo.save(TokenHistory.builder()
  81. .tokenId(asset.getTokenId())
  82. .fromUser(asset.getMinter())
  83. .fromUserId(asset.getMinterId())
  84. .fromAvatar(asset.getMinterAvatar())
  85. .toUser(user.getNickname())
  86. .toUserId(user.getId())
  87. .toAvatar(user.getAvatar())
  88. .operation("出售")
  89. .price(asset.getPrice())
  90. .tokenId(asset.getTokenId())
  91. .build());
  92. tokenHistory.setCreatedAt(asset.getCreatedAt());
  93. tokenHistoryRepo.save(tokenHistory);
  94. }
  95. }
  96. System.out.println(assets);
  97. }
  98. @Test
  99. public void fixHistoryPrice() {
  100. List<TokenHistory> list = tokenHistoryRepo.findByOperationAndPriceNull("转让");
  101. System.out.println(list.size());
  102. StringBuilder builder = new StringBuilder();
  103. list.parallelStream().forEach(tokenHistory -> {
  104. List<Asset> assets = assetRepo.findByTokenIdAndCreatedAtBetween(tokenHistory.getTokenId(), tokenHistory.getCreatedAt()
  105. .minusSeconds(10), tokenHistory.getCreatedAt().plusSeconds(1));
  106. if (assets.size() != 1) {
  107. throw new BusinessException("");
  108. }
  109. Order order = orderRepo.findById(assets.get(0).getOrderId())
  110. .orElseThrow(new BusinessException(assets.get(0).getId() + "订单没找到"));
  111. builder.append(order.getId()).append(",").append(order.getPrice()).append("\n");
  112. });
  113. System.out.println(builder);
  114. }
  115. @Test
  116. public void del() {
  117. for (String s : new String[]{"5df454549a0f4373ce6bb81fe7bbb941",
  118. "61773ab99f4a402cbe2a667d53fdc11c",
  119. "69d43dda0dfdf08dd9ecea3ad1f9d50",
  120. "6de0578f99af8ae285b6eefd7e834f22",
  121. "7433fedd607cd9df192e4303206ebbf4",
  122. "7e4e23b9eebf1ab16d820da5c5eb3064",
  123. "86d9437a6551174bf7b8d4c46ba01690",
  124. "8e16830b0a36d661b90d5b1d8723f0d5",
  125. "953862a50f982d0495edf294c2c0c8c0",
  126. "a1da155eb43ef398ea30b4dffad8e184",
  127. "b74c8d9d59df3675e26d846892e2dad4",
  128. "bc47260b0ef9c3fe2616b80c31385677",
  129. "c50f01943fd38ebadb26fb68877477ae",
  130. "d0667e1585327bd42c75fd98ca414487",
  131. "d646bd4e0357fbe067ab8d0504ed57c4",
  132. "e0ddee55cfe14fbc18770631b10386bb",
  133. "e398353b6838b6b9ce9c903b448eaeb3",
  134. "ee35149d07d34e39adb18dfb1a0c7021",
  135. "faebc681f3698bf0da6136d0c8be87ac",
  136. "fc38421ee6d402a24e5c25ba2d870831",
  137. "43800381853ce6e07bec0fd602a54a69",
  138. "48918cf5bd017164ea5d1927708e8b9c",
  139. "493f285ae429aa4b1760db3e37e2a76f",
  140. "49bfe48771acf39e084e331be79e762d",
  141. "52ba65e1416fde9c3e9528e34b587454"
  142. }) {
  143. Asset asset = assetRepo.findFirstByTokenId(s);
  144. if (asset != null) {
  145. assetRepo.delete(asset);
  146. }
  147. }
  148. }
  149. }