wangqifan 2 ani în urmă
părinte
comite
773c8b517e
1 a modificat fișierele cu 235 adăugiri și 232 ștergeri
  1. 235 232
      src/main/java/com/izouma/nineth/service/AssetService.java

+ 235 - 232
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -121,8 +121,9 @@ public class AssetService {
         }
         // 取出资产中未开启盲盒数据
         List<Asset> blindBoxClosedAssets = assets.stream()
-                .filter(asset -> !asset.isOpened() && CollectionType.BLIND_BOX.equals(asset.getType()))
-                .collect(Collectors.toList());
+                                                 .filter(asset -> !asset.isOpened() && CollectionType.BLIND_BOX
+                                                         .equals(asset.getType()))
+                                                 .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(blindBoxClosedAssets)) {
             blindBoxClosedAssets.forEach(asset -> {
                 assetDTOs.add(AssetDTO.create(Lists.newArrayList(asset)));
@@ -132,8 +133,8 @@ public class AssetService {
         }
         // 取出资产中所有未设置prefixName的值
         List<Asset> prefixNameIsNullAssets = assets.stream()
-                .filter(asset -> StringUtils.isBlank(asset.getPrefixName()))
-                .collect(Collectors.toList());
+                                                   .filter(asset -> StringUtils.isBlank(asset.getPrefixName()))
+                                                   .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(prefixNameIsNullAssets)) {
             prefixNameIsNullAssets.forEach(asset -> {
                 assetDTOs.add(AssetDTO.create(Lists.newArrayList(asset)));
@@ -143,14 +144,14 @@ public class AssetService {
         if (CollectionUtils.isNotEmpty(assets)) {
             // 取出资产中所有prefixName
             List<String> prefixNames = assets.stream()
-                    .map(Asset::getPrefixName)
-                    .distinct()
-                    .collect(Collectors.toList());
+                                             .map(Asset::getPrefixName)
+                                             .distinct()
+                                             .collect(Collectors.toList());
             // 将资产中相同prefixName归类(除未开启盲盒和未设置prefixName)
             prefixNames.forEach(str -> {
                 List<Asset> collect = assets.stream()
-                        .filter(asset -> str.equals(asset.getPrefixName()))
-                        .collect(Collectors.toList());
+                                            .filter(asset -> str.equals(asset.getPrefixName()))
+                                            .collect(Collectors.toList());
                 assetDTOs.add(AssetDTO.create(collect));
             });
         }
@@ -182,17 +183,17 @@ public class AssetService {
         }
         assetRepo.saveAndFlush(asset);
         tokenHistoryRepo.save(TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(collection.getMinter())
-                .fromUserId(collection.getMinterId())
-                .fromAvatar(collection.getMinterAvatar())
-                .toUser((safeFlag ? fakeUser : user).getNickname())
-                .toUserId((safeFlag ? fakeUser : user).getId())
-                .toAvatar((safeFlag ? fakeUser : user).getAvatar())
-                .operation(type)
-                .price(price)
-                .companyId(asset.getCompanyId())
-                .build());
+                                          .tokenId(asset.getTokenId())
+                                          .fromUser(collection.getMinter())
+                                          .fromUserId(collection.getMinterId())
+                                          .fromAvatar(collection.getMinterAvatar())
+                                          .toUser((safeFlag ? fakeUser : user).getNickname())
+                                          .toUserId((safeFlag ? fakeUser : user).getId())
+                                          .toAvatar((safeFlag ? fakeUser : user).getAvatar())
+                                          .operation(type)
+                                          .price(price)
+                                          .companyId(asset.getCompanyId())
+                                          .build());
 
         //绿洲石
         rockRecordService.addRock(user.getId(), price, "购买");
@@ -241,17 +242,17 @@ public class AssetService {
         }
         assetRepo.saveAndFlush(asset);
         tokenHistoryRepo.save(TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(photoAsset.getUserName())
-                .fromUserId(photoAsset.getUserId())
-                .fromAvatar(photoAsset.getUserAvatar())
-                .toUser((safeFlag ? fakeUser : user).getNickname())
-                .toUserId((safeFlag ? fakeUser : user).getId())
-                .toAvatar((safeFlag ? fakeUser : user).getAvatar())
-                .operation(type)
-                .price(price)
-                .companyId(asset.getCompanyId())
-                .build());
+                                          .tokenId(asset.getTokenId())
+                                          .fromUser(photoAsset.getUserName())
+                                          .fromUserId(photoAsset.getUserId())
+                                          .fromAvatar(photoAsset.getUserAvatar())
+                                          .toUser((safeFlag ? fakeUser : user).getNickname())
+                                          .toUserId((safeFlag ? fakeUser : user).getId())
+                                          .toAvatar((safeFlag ? fakeUser : user).getAvatar())
+                                          .operation(type)
+                                          .price(price)
+                                          .companyId(asset.getCompanyId())
+                                          .build());
 
         //绿洲石
 //        rockRecordService.addRock(user.getId(), price, "购买");
@@ -298,17 +299,17 @@ public class AssetService {
         }
         assetRepo.saveAndFlush(asset);
         tokenHistoryRepo.save(TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(domainOrder.getUserName())
-                .fromUserId(domainOrder.getUserId())
-                .fromAvatar(domainOrder.getUserAvatar())
-                .toUser((safeFlag ? fakeUser : user).getNickname())
-                .toUserId((safeFlag ? fakeUser : user).getId())
-                .toAvatar((safeFlag ? fakeUser : user).getAvatar())
-                .operation(type)
-                .price(price)
-                .companyId(asset.getCompanyId())
-                .build());
+                                          .tokenId(asset.getTokenId())
+                                          .fromUser(domainOrder.getUserName())
+                                          .fromUserId(domainOrder.getUserId())
+                                          .fromAvatar(domainOrder.getUserAvatar())
+                                          .toUser((safeFlag ? fakeUser : user).getNickname())
+                                          .toUserId((safeFlag ? fakeUser : user).getId())
+                                          .toAvatar((safeFlag ? fakeUser : user).getAvatar())
+                                          .operation(type)
+                                          .price(price)
+                                          .companyId(asset.getCompanyId())
+                                          .build());
 
         //绿洲石
 //        rockRecordService.addRock(user.getId(), price, "购买");
@@ -335,17 +336,17 @@ public class AssetService {
         }
         assetRepo.saveAndFlush(asset);
         tokenHistoryRepo.save(TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(tradeAuction.getMinter())
-                .fromUserId(Long.valueOf(tradeAuction.getMinterId()))
-                .fromAvatar(tradeAuction.getMinterAvatar())
-                .toUser((safeFlag ? fakeUser : user).getNickname())
-                .toUserId((safeFlag ? fakeUser : user).getId())
-                .toAvatar((safeFlag ? fakeUser : user).getAvatar())
-                .operation(type)
-                .price(null)
-                .companyId(asset.getCompanyId())
-                .build());
+                                          .tokenId(asset.getTokenId())
+                                          .fromUser(tradeAuction.getMinter())
+                                          .fromUserId(Long.valueOf(tradeAuction.getMinterId()))
+                                          .fromAvatar(tradeAuction.getMinterAvatar())
+                                          .toUser((safeFlag ? fakeUser : user).getNickname())
+                                          .toUserId((safeFlag ? fakeUser : user).getId())
+                                          .toAvatar((safeFlag ? fakeUser : user).getAvatar())
+                                          .operation(type)
+                                          .price(null)
+                                          .companyId(asset.getCompanyId())
+                                          .build());
 
         //绿洲石
 //        rockRecordService.addRock(user.getId(), price, "购买");
@@ -365,9 +366,9 @@ public class AssetService {
                 map.put(i, Hashing.md5().hashString(collectionId + ":" + i, StandardCharsets.UTF_8).asInt());
             }
             numberSeq.setNumbers(map.entrySet().stream()
-                    .sorted(Map.Entry.comparingByValue())
-                    .map(Map.Entry::getKey)
-                    .collect(Collectors.toList()));
+                                    .sorted(Map.Entry.comparingByValue())
+                                    .map(Map.Entry::getKey)
+                                    .collect(Collectors.toList()));
             numberSeqRepo.save(numberSeq);
         }
         return numberSeq.getNumbers().get(number);
@@ -376,9 +377,9 @@ public class AssetService {
     public Asset createAsset(BlindBoxItem winItem, User user, Long orderId, BigDecimal price, String type,
                              Integer number, Integer holdDays, boolean safeFlag) {
         Collection blindBox = collectionRepo.findDetailById(winItem.getBlindBoxId())
-                .orElseThrow(new BusinessException("盲盒不存在"));
+                                            .orElseThrow(new BusinessException("盲盒不存在"));
         Collection collection = collectionRepo.findDetailById(winItem.getCollectionId())
-                .orElseThrow(new BusinessException("藏品不存在"));
+                                              .orElseThrow(new BusinessException("藏品不存在"));
         if (collection.isMessNumber() && number != null) {
             number = getMessedNumber(collection.getId(), number, collection.getTotal());
         }
@@ -410,17 +411,17 @@ public class AssetService {
         }
         assetRepo.saveAndFlush(asset);
         tokenHistoryRepo.save(TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(winItem.getMinter())
-                .fromUserId(winItem.getMinterId())
-                .fromAvatar(winItem.getMinterAvatar())
-                .toUser((safeFlag ? fakeUser : user).getNickname())
-                .toUserId((safeFlag ? fakeUser : user).getId())
-                .toAvatar((safeFlag ? fakeUser : user).getAvatar())
-                .operation(type)
-                .price(price)
-                .companyId(asset.getCompanyId())
-                .build());
+                                          .tokenId(asset.getTokenId())
+                                          .fromUser(winItem.getMinter())
+                                          .fromUserId(winItem.getMinterId())
+                                          .fromAvatar(winItem.getMinterAvatar())
+                                          .toUser((safeFlag ? fakeUser : user).getNickname())
+                                          .toUserId((safeFlag ? fakeUser : user).getId())
+                                          .toAvatar((safeFlag ? fakeUser : user).getAvatar())
+                                          .operation(type)
+                                          .price(price)
+                                          .companyId(asset.getCompanyId())
+                                          .build());
 
         //绿洲石
         rockRecordService.addRock(user.getId(), price, "购买");
@@ -448,34 +449,34 @@ public class AssetService {
                 userRepo.findById(asset.getOwnerId()).orElseThrow(new BusinessException("用户不存在"))
                 : userRepo.findById(asset.getUserId()).orElseThrow(new BusinessException("用户不存在"));
         Collection collection = Collection.builder()
-                .name(asset.getName())
-                .pic(asset.getPic())
-                .minter(asset.getMinter())
-                .minterId(asset.getMinterId())
-                .minterAvatar(asset.getMinterAvatar())
-                .owner(owner.getNickname())
-                .oasisId(asset.getOasisId())
-                .ownerId(owner.getId())
-                .ownerAvatar(owner.getAvatar())
-                .detail(asset.getDetail())
-                .type(CollectionType.DEFAULT)
-                .source(CollectionSource.TRANSFER)
-                .sale(0)
-                .stock(1)
-                .total(1)
-                .onShelf(true)
-                .salable(false)
-                .price(BigDecimal.valueOf(0))
-                .properties(asset.getProperties())
-                .canResale(asset.isCanResale())
-                .royalties(asset.getRoyalties())
-                .serviceCharge(asset.getServiceCharge())
-                .assetId(id)
-                .number(asset.getNumber())
-                .tags(new HashSet<>())
-                .prefixName(asset.getPrefixName())
-                .companyId(asset.getCompanyId())
-                .build();
+                                          .name(asset.getName())
+                                          .pic(asset.getPic())
+                                          .minter(asset.getMinter())
+                                          .minterId(asset.getMinterId())
+                                          .minterAvatar(asset.getMinterAvatar())
+                                          .owner(owner.getNickname())
+                                          .oasisId(asset.getOasisId())
+                                          .ownerId(owner.getId())
+                                          .ownerAvatar(owner.getAvatar())
+                                          .detail(asset.getDetail())
+                                          .type(CollectionType.DEFAULT)
+                                          .source(CollectionSource.TRANSFER)
+                                          .sale(0)
+                                          .stock(1)
+                                          .total(1)
+                                          .onShelf(true)
+                                          .salable(false)
+                                          .price(BigDecimal.valueOf(0))
+                                          .properties(asset.getProperties())
+                                          .canResale(asset.isCanResale())
+                                          .royalties(asset.getRoyalties())
+                                          .serviceCharge(asset.getServiceCharge())
+                                          .assetId(id)
+                                          .number(asset.getNumber())
+                                          .tags(new HashSet<>())
+                                          .prefixName(asset.getPrefixName())
+                                          .companyId(asset.getCompanyId())
+                                          .build();
         if (asset.getTags() != null) {
             collection.getTags().addAll(asset.getTags());
         }
@@ -582,13 +583,13 @@ public class AssetService {
             asset.setOwnerAvatar(owner.getAvatar());
             asset.setSafeFlag(true);
             tokenHistoryRepo.findByTokenIdOrderByCreatedAtDesc(asset.getTokenId()).stream()
-                    .filter(t -> t.getToUserId().equals(asset.getUserId())).findFirst()
-                    .ifPresent(tokenHistory -> {
-                        tokenHistory.setToUserId(owner.getId());
-                        tokenHistory.setToUser(owner.getNickname());
-                        tokenHistory.setToAvatar(owner.getAvatar());
-                        tokenHistoryRepo.save(tokenHistory);
-                    });
+                            .filter(t -> t.getToUserId().equals(asset.getUserId())).findFirst()
+                            .ifPresent(tokenHistory -> {
+                                tokenHistory.setToUserId(owner.getId());
+                                tokenHistory.setToUser(owner.getNickname());
+                                tokenHistory.setToAvatar(owner.getAvatar());
+                                tokenHistoryRepo.save(tokenHistory);
+                            });
         } else {
             owner = asset.isSafeFlag() ?
                     userRepo.findById(asset.getOwnerId()).orElseThrow(new BusinessException("用户不存在"))
@@ -618,34 +619,34 @@ public class AssetService {
         }
 
         Collection collection = Collection.builder()
-                .name(asset.getName())
-                .pic(asset.getPic())
-                .minter(asset.getMinter())
-                .minterId(asset.getMinterId())
-                .minterAvatar(asset.getMinterAvatar())
-                .owner(owner.getNickname())
-                .ownerId(owner.getId())
-                .oasisId(asset.getOasisId())
-                .ownerAvatar(owner.getAvatar())
-                .detail(asset.getDetail())
-                .type(CollectionType.DEFAULT)
-                .source(CollectionSource.TRANSFER)
-                .sale(0)
-                .stock(1)
-                .total(1)
-                .onShelf(true)
-                .salable(true)
-                .price(price)
-                .properties(asset.getProperties())
-                .canResale(asset.isCanResale())
-                .royalties(asset.getRoyalties())
-                .serviceCharge(asset.getServiceCharge())
-                .assetId(id)
-                .number(asset.getNumber())
-                .tags(new HashSet<>())
-                .prefixName(asset.getPrefixName())
-                .companyId(asset.getCompanyId())
-                .build();
+                                          .name(asset.getName())
+                                          .pic(asset.getPic())
+                                          .minter(asset.getMinter())
+                                          .minterId(asset.getMinterId())
+                                          .minterAvatar(asset.getMinterAvatar())
+                                          .owner(owner.getNickname())
+                                          .ownerId(owner.getId())
+                                          .oasisId(asset.getOasisId())
+                                          .ownerAvatar(owner.getAvatar())
+                                          .detail(asset.getDetail())
+                                          .type(CollectionType.DEFAULT)
+                                          .source(CollectionSource.TRANSFER)
+                                          .sale(0)
+                                          .stock(1)
+                                          .total(1)
+                                          .onShelf(true)
+                                          .salable(true)
+                                          .price(price)
+                                          .properties(asset.getProperties())
+                                          .canResale(asset.isCanResale())
+                                          .royalties(asset.getRoyalties())
+                                          .serviceCharge(asset.getServiceCharge())
+                                          .assetId(id)
+                                          .number(asset.getNumber())
+                                          .tags(new HashSet<>())
+                                          .prefixName(asset.getPrefixName())
+                                          .companyId(asset.getCompanyId())
+                                          .build();
         if (asset.getType().equals(CollectionType.DOMAIN)) {
             collection.setType(CollectionType.DOMAIN);
         }
@@ -674,11 +675,11 @@ public class AssetService {
                 throw new BusinessException("已有订单不可取消");
             }
             collectionRepo.findById(asset.getPublicCollectionId())
-                    .ifPresent(collection -> {
-                        collection.setSalable(false);
-                        collection.setOnShelf(false);
-                        collectionRepo.save(collection);
-                    });
+                          .ifPresent(collection -> {
+                              collection.setSalable(false);
+                              collection.setOnShelf(false);
+                              collectionRepo.save(collection);
+                          });
         }
         asset.setConsignment(false);
         asset.setPublicShow(false);
@@ -709,10 +710,10 @@ public class AssetService {
                 throw new BusinessException("已有订单不可取消");
             }
             collectionRepo.findById(asset.getPublicCollectionId())
-                    .ifPresent(collection -> {
-                        collection.setSalable(false);
-                        collectionRepo.save(collection);
-                    });
+                          .ifPresent(collection -> {
+                              collection.setSalable(false);
+                              collectionRepo.save(collection);
+                          });
         }
         asset.setConsignment(false);
         assetRepo.saveAndFlush(asset);
@@ -737,7 +738,7 @@ public class AssetService {
             cancelConsignment(asset);
         }
         Collection collection = collectionRepo.findById(asset.getPublicCollectionId())
-                .orElseThrow(new BusinessException("无展示记录"));
+                                              .orElseThrow(new BusinessException("无展示记录"));
         collectionRepo.delete(collection);
         // 如果展厅有此藏品
         showCollectionRepo.deleteAllByCollectionId(asset.getPublicCollectionId());
@@ -766,11 +767,11 @@ public class AssetService {
     private User createFakeUser() {
         String name = "0x" + RandomStringUtils.randomAlphabetic(8);
         return userRepo.save(User.builder()
-                .username(name)
-                .nickname(name)
-                .avatar(Constants.DEFAULT_AVATAR)
-                .isPublicShow(true)
-                .build());
+                                 .username(name)
+                                 .nickname(name)
+                                 .avatar(Constants.DEFAULT_AVATAR)
+                                 .isPublicShow(true)
+                                 .build());
     }
 
     public void transfer(Asset asset, BigDecimal price, User toUser, TransferReason reason, Long orderId, boolean safeFlag, Set<Tag> tags) {
@@ -825,17 +826,17 @@ public class AssetService {
         }
 
         TokenHistory tokenHistory = TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(asset.getOwner())
-                .fromUserId(asset.getOwnerId())
-                .fromAvatar(asset.getOwnerAvatar())
-                .toUser(newOwner.getNickname())
-                .toUserId(newOwner.getId())
-                .toAvatar(newOwner.getAvatar())
-                .operation(reason.getDescription())
-                .price(TransferReason.GIFT == reason ? null : price)
-                .companyId(asset.getCompanyId())
-                .build();
+                                                .tokenId(asset.getTokenId())
+                                                .fromUser(asset.getOwner())
+                                                .fromUserId(asset.getOwnerId())
+                                                .fromAvatar(asset.getOwnerAvatar())
+                                                .toUser(newOwner.getNickname())
+                                                .toUserId(newOwner.getId())
+                                                .toAvatar(newOwner.getAvatar())
+                                                .operation(reason.getDescription())
+                                                .price(TransferReason.GIFT == reason ? null : price)
+                                                .companyId(asset.getCompanyId())
+                                                .build();
         tokenHistoryRepo.save(tokenHistory);
 
         //购买者加绿洲石
@@ -855,6 +856,8 @@ public class AssetService {
                 break;
             case TRANSFER:
                 asset.setStatus(AssetStatus.TRANSFERRED);
+            case ASK:
+                asset.setStatus(AssetStatus.TRANSFERRED);
         }
         asset.setOwner(newOwner.getNickname());
         asset.setOwnerId(newOwner.getId());
@@ -897,7 +900,7 @@ public class AssetService {
             UserHistory userHistory = new UserHistory();
             BeanUtils.copyProperties(tokenHistory, userHistory);
             Optional<Asset> asset = assets.stream().filter(a -> a.getTokenId().equals(tokenHistory.getTokenId()))
-                    .findAny();
+                                          .findAny();
             userHistory.setAssetName(asset.map(Asset::getName).orElse(null));
             userHistory.setPic(asset.map(Asset::getPic).orElse(new ArrayList<>()));
             switch (tokenHistory.getOperation()) {
@@ -940,7 +943,7 @@ public class AssetService {
             UserHistory userHistory = new UserHistory();
             BeanUtils.copyProperties(tokenHistory, userHistory);
             Optional<Asset> asset = assets.stream().filter(a -> a.getTokenId().equals(tokenHistory.getTokenId()))
-                    .findAny();
+                                          .findAny();
             userHistory.setAssetName(asset.map(Asset::getName).orElse(null));
             userHistory.setPic(asset.map(Asset::getPic).orElse(new ArrayList<>()));
             switch (tokenHistory.getOperation()) {
@@ -1055,11 +1058,11 @@ public class AssetService {
                     throw new BusinessException("已有订单不可取消");
                 }
                 collectionRepo.findById(asset.getPublicCollectionId())
-                        .ifPresent(collection -> {
-                            collection.setSalable(false);
-                            collection.setOnShelf(false);
-                            collectionRepo.save(collection);
-                        });
+                              .ifPresent(collection -> {
+                                  collection.setSalable(false);
+                                  collection.setOnShelf(false);
+                                  collectionRepo.save(collection);
+                              });
             }
             asset.setConsignment(false);
             asset.setPublicShow(false);
@@ -1099,7 +1102,7 @@ public class AssetService {
                             criteriaBuilder.equal(root.get("consignment"), false),
                             // and has some tagId
                             root.join("tags").get("id").in(tags.stream().map(Tag::getId).toArray()))
-                            .getRestriction(), pageable);
+                         .getRestriction(), pageable);
         } else {
             return assetRepo
                     .findByUserIdAndStatusAndCompanyIdAndNameLikeAndConsignment(userId, AssetStatus.NORMAL, companyId,
@@ -1130,17 +1133,17 @@ public class AssetService {
         User toUser = userRepo.findById(Constants.BLACK_HOLE_USER_ID).orElseThrow(new BusinessException("无记录"));
 
         TokenHistory tokenHistory = TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(asset.getOwner())
-                .fromUserId(asset.getOwnerId())
-                .fromAvatar(asset.getOwnerAvatar())
-                .toUser(toUser.getNickname())
-                .toUserId(toUser.getId())
-                .toAvatar(toUser.getAvatar())
-                .operation(TransferReason.DESTROY.getDescription())
-                .price(null)
-                .companyId(asset.getCompanyId())
-                .build();
+                                                .tokenId(asset.getTokenId())
+                                                .fromUser(asset.getOwner())
+                                                .fromUserId(asset.getOwnerId())
+                                                .fromAvatar(asset.getOwnerAvatar())
+                                                .toUser(toUser.getNickname())
+                                                .toUserId(toUser.getId())
+                                                .toAvatar(toUser.getAvatar())
+                                                .operation(TransferReason.DESTROY.getDescription())
+                                                .price(null)
+                                                .companyId(asset.getCompanyId())
+                                                .build();
         tokenHistoryRepo.save(tokenHistory);
 
         asset.setPublicShow(false);
@@ -1153,15 +1156,15 @@ public class AssetService {
         assetRepo.saveAndFlush(asset);
         //积分记录
         destroyRecordRepo.save(DestroyRecord.builder()
-                .userId(userId)
-                .assetId(asset.getId())
-                .name(asset.getName())
-                .pic(asset.getPic().get(0).getUrl())
-                .record(1)
-                .type(RecordType.OBTAIN)
-                .companyId(asset.getCompanyId())
-                .source(source)
-                .build());
+                                            .userId(userId)
+                                            .assetId(asset.getId())
+                                            .name(asset.getName())
+                                            .pic(asset.getPic().get(0).getUrl())
+                                            .record(1)
+                                            .type(RecordType.OBTAIN)
+                                            .companyId(asset.getCompanyId())
+                                            .source(source)
+                                            .build());
 
         //加积分
         userRepo.addDestroyPoint(userId, 1);
@@ -1200,17 +1203,17 @@ public class AssetService {
         User toUser = userRepo.findById(Constants.BLACK_HOLE_USER_ID).orElseThrow(new BusinessException("无记录"));
 
         TokenHistory tokenHistory = TokenHistory.builder()
-                .tokenId(asset.getTokenId())
-                .fromUser(asset.getOwner())
-                .fromUserId(asset.getOwnerId())
-                .fromAvatar(asset.getOwnerAvatar())
-                .toUser(toUser.getNickname())
-                .toUserId(toUser.getId())
-                .toAvatar(toUser.getAvatar())
-                .operation(TransferReason.DESTROY.getDescription())
-                .price(null)
-                .companyId(asset.getCompanyId())
-                .build();
+                                                .tokenId(asset.getTokenId())
+                                                .fromUser(asset.getOwner())
+                                                .fromUserId(asset.getOwnerId())
+                                                .fromAvatar(asset.getOwnerAvatar())
+                                                .toUser(toUser.getNickname())
+                                                .toUserId(toUser.getId())
+                                                .toAvatar(toUser.getAvatar())
+                                                .operation(TransferReason.DESTROY.getDescription())
+                                                .price(null)
+                                                .companyId(asset.getCompanyId())
+                                                .build();
         tokenHistoryRepo.save(tokenHistory);
 
         asset.setPublicShow(false);
@@ -1223,15 +1226,15 @@ public class AssetService {
         assetRepo.saveAndFlush(asset);
         //积分记录
         DestroyRecord destroyRecord = DestroyRecord.builder()
-                .userId(userId)
-                .assetId(asset.getId())
-                .name(asset.getName())
-                .record(1)
-                .type(RecordType.OBTAIN)
-                .companyId(asset.getCompanyId())
-                .source(source)
-                .remark(remark)
-                .build();
+                                                   .userId(userId)
+                                                   .assetId(asset.getId())
+                                                   .name(asset.getName())
+                                                   .record(1)
+                                                   .type(RecordType.OBTAIN)
+                                                   .companyId(asset.getCompanyId())
+                                                   .source(source)
+                                                   .remark(remark)
+                                                   .build();
         destroyRecord
                 .setPic("video/mp4".equals(asset.getPic().get(0).getType()) ? asset.getPic().get(0).getThumb() : asset
                         .getPic().get(0).getUrl());
@@ -1308,22 +1311,22 @@ public class AssetService {
         new ForkJoinPool(1000).submit(() -> {
             AtomicInteger num = new AtomicInteger();
             assetRepo.findByStatus(AssetStatus.NORMAL).parallelStream()
-                    .forEach(asset -> {
-                        if (asset.getHcTxHash() == null) {
-                            User user = userRepo.findById(asset.getUserId()).orElse(null);
-                            if (user != null) {
-                                if (user.getHcChainAddress() == null) {
-                                    user.setHcChainAddress(hcChainService.createAccount(asset.getUserId()));
-                                }
-                                NFT nft = hcChainService.mint(user.getHcChainAddress(), asset.getTokenId());
-                                asset.setHcTokenId(nft.getTokenId());
-                                asset.setHcTxHash(nft.getTxHash());
-                                asset.setGasUsed(nft.getGasUsed());
-                                assetRepo.saveAndFlush(asset);
-                            }
-                        }
-                        log.info("hcChain:" + num.getAndIncrement());
-                    });
+                     .forEach(asset -> {
+                         if (asset.getHcTxHash() == null) {
+                             User user = userRepo.findById(asset.getUserId()).orElse(null);
+                             if (user != null) {
+                                 if (user.getHcChainAddress() == null) {
+                                     user.setHcChainAddress(hcChainService.createAccount(asset.getUserId()));
+                                 }
+                                 NFT nft = hcChainService.mint(user.getHcChainAddress(), asset.getTokenId());
+                                 asset.setHcTokenId(nft.getTokenId());
+                                 asset.setHcTxHash(nft.getTxHash());
+                                 asset.setGasUsed(nft.getGasUsed());
+                                 assetRepo.saveAndFlush(asset);
+                             }
+                         }
+                         log.info("hcChain:" + num.getAndIncrement());
+                     });
         }).get();
     }
 
@@ -1353,16 +1356,16 @@ public class AssetService {
         assetRepo.saveAndFlush(asset);
 
         assetLockRepo.save(AssetLock.builder()
-                .userId(userId)
-                .phone(user.getPhone())
-                .nickname(user.getNickname())
-                .assetId(assetId)
-                .name(asset.getName())
-                .number(asset.getNumber())
-                .lockAt(asset.getLockAt())
-                .lockTo(asset.getLockTo())
-                .duration(duration)
-                .build());
+                                    .userId(userId)
+                                    .phone(user.getPhone())
+                                    .nickname(user.getNickname())
+                                    .assetId(assetId)
+                                    .name(asset.getName())
+                                    .number(asset.getNumber())
+                                    .lockAt(asset.getLockAt())
+                                    .lockTo(asset.getLockTo())
+                                    .duration(duration)
+                                    .build());
     }
 
     public List<TransactionTopTenDTO> transactionTopTen() {