|
|
@@ -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,10 @@ public class AssetService {
|
|
|
break;
|
|
|
case TRANSFER:
|
|
|
asset.setStatus(AssetStatus.TRANSFERRED);
|
|
|
+ break;
|
|
|
+ case ASK:
|
|
|
+ asset.setStatus(AssetStatus.TRANSFERRED);
|
|
|
+ break;
|
|
|
}
|
|
|
asset.setOwner(newOwner.getNickname());
|
|
|
asset.setOwnerId(newOwner.getId());
|
|
|
@@ -897,7 +902,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 +945,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 +1060,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 +1104,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 +1135,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 +1158,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 +1205,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 +1228,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 +1313,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 +1358,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() {
|