|
|
@@ -2,12 +2,15 @@ package com.izouma.nineth.service;
|
|
|
|
|
|
import com.izouma.nineth.ApplicationTests;
|
|
|
import com.izouma.nineth.domain.*;
|
|
|
+import com.izouma.nineth.enums.AssetStatus;
|
|
|
+import com.izouma.nineth.enums.OrderStatus;
|
|
|
import com.izouma.nineth.repo.*;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
class AssetServiceTest extends ApplicationTests {
|
|
|
@@ -27,6 +30,8 @@ class AssetServiceTest extends ApplicationTests {
|
|
|
private AssetMintService assetMintService;
|
|
|
@Autowired
|
|
|
private AssetRepo assetRepo;
|
|
|
+ @Autowired
|
|
|
+ private GiftOrderRepo giftOrderRepo;
|
|
|
|
|
|
@Test
|
|
|
void createAsset() {
|
|
|
@@ -88,4 +93,47 @@ class AssetServiceTest extends ApplicationTests {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void fixstatus() {
|
|
|
+ List<Asset> assets = assetRepo.findByStatusIn(Arrays.asList(AssetStatus.GIFTING, AssetStatus.TRADING));
|
|
|
+ System.out.println(assets.size());
|
|
|
+ for (Asset asset : assets) {
|
|
|
+ if (asset.getCreatedAt().isAfter(LocalDateTime.of(2022, 3, 6, 0, 0, 0))) continue;
|
|
|
+ if (assetRepo.findByFromAssetId(asset.getId()).isEmpty()) {
|
|
|
+ if (asset.getStatus() == AssetStatus.GIFTING) {
|
|
|
+ List<GiftOrder> list = giftOrderRepo.findByAssetIdAndStatusIn(asset.getId(), Arrays.asList(OrderStatus.PROCESSING, OrderStatus.FINISH));
|
|
|
+ if (list.size() == 1) {
|
|
|
+ System.out.println(asset.getId() + "," + list.get(0).getId());
|
|
|
+ User user = userRepo.findById(list.get(0).getToUserId()).get();
|
|
|
+ assetService.transfer(asset, asset.getPrice(), user, "转赠", null);
|
|
|
+ try {
|
|
|
+ Thread.sleep(500);
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ System.out.println("@" + asset.getId());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<Order> list = orderRepo.findByAssetIdAndStatusIn(asset.getId(), Arrays.asList(OrderStatus.PROCESSING, OrderStatus.FINISH));
|
|
|
+ if (list.size() == 1) {
|
|
|
+ System.out.println(asset.getId() + "," + list.get(0).getId());
|
|
|
+ Order order = list.get(0);
|
|
|
+ User user = userRepo.findById(list.get(0).getUserId()).get();
|
|
|
+ assetService.transfer(asset, order.getPrice(), user, "转让", order.getId());
|
|
|
+ try {
|
|
|
+ Thread.sleep(500);
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ System.out.println("#" + asset.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ System.out.println("*" + asset.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|