|
|
@@ -59,6 +59,7 @@ public class AssetService {
|
|
|
private CollectionPrivilegeRepo collectionPrivilegeRepo;
|
|
|
private PasswordEncoder passwordEncoder;
|
|
|
private MintActivityRepo mintActivityRepo;
|
|
|
+ private DestroyRecordRepo destroyRecordRepo;
|
|
|
|
|
|
public Page<Asset> all(PageQuery pageQuery) {
|
|
|
Page<Asset> all = assetRepo
|
|
|
@@ -666,4 +667,52 @@ public class AssetService {
|
|
|
"%" + mintActivity.getCollectionName() + "%", pageable);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public void destroy(Long id, Long userId) {
|
|
|
+ Asset asset = assetRepo.findById(id).orElseThrow(new BusinessException("无记录"));
|
|
|
+ if (!asset.getUserId().equals(userId)) {
|
|
|
+ throw new BusinessException("此藏品不属于你");
|
|
|
+ }
|
|
|
+ if (asset.getStatus() != AssetStatus.NORMAL) {
|
|
|
+ throw new BusinessException("当前状态不可寄售");
|
|
|
+ }
|
|
|
+ if (asset.isPublicShow()) {
|
|
|
+ throw new BusinessException("请先取消公开展示");
|
|
|
+// cancelPublic(asset);
|
|
|
+ }
|
|
|
+
|
|
|
+ User toUser = userRepo.findById(1435297L).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)
|
|
|
+ .build();
|
|
|
+ tokenHistoryRepo.save(tokenHistory);
|
|
|
+
|
|
|
+ asset.setPublicShow(false);
|
|
|
+ asset.setConsignment(false);
|
|
|
+ asset.setPublicCollectionId(null);
|
|
|
+ asset.setStatus(AssetStatus.DESTROYED);
|
|
|
+ asset.setOwner(toUser.getNickname());
|
|
|
+ asset.setOwnerId(toUser.getId());
|
|
|
+ asset.setOwnerAvatar(toUser.getAvatar());
|
|
|
+ assetRepo.save(asset);
|
|
|
+
|
|
|
+ //积分记录
|
|
|
+ destroyRecordRepo.save(DestroyRecord.builder()
|
|
|
+ .userId(userId)
|
|
|
+ .assetId(asset.getId())
|
|
|
+ .record(1)
|
|
|
+ .build());
|
|
|
+
|
|
|
+ //加积分
|
|
|
+ userRepo.addDestroyPoint(userId, 1);
|
|
|
+ }
|
|
|
}
|