xiongzhu 4 лет назад
Родитель
Сommit
f0e87f1ad9

+ 1 - 1
src/main/java/com/izouma/nineth/domain/BlindBoxItem.java

@@ -33,7 +33,7 @@ public class BlindBoxItem extends BaseEntity {
     @ApiModelProperty("图片")
     @Column(columnDefinition = "TEXT")
     @Convert(converter = FileObjectListConverter.class)
-    private List<FileObject> pics;
+    private List<FileObject> pic;
 
     @ApiModelProperty("铸造者")
     @Searchable

+ 2 - 1
src/main/java/com/izouma/nineth/domain/Collection.java

@@ -34,7 +34,7 @@ public class Collection extends BaseEntity {
     @ApiModelProperty("图片")
     @Column(columnDefinition = "TEXT")
     @Convert(converter = FileObjectListConverter.class)
-    private List<FileObject> pics;
+    private List<FileObject> pic;
 
     @ApiModelProperty("铸造者")
     @Searchable
@@ -119,4 +119,5 @@ public class Collection extends BaseEntity {
 
     private int sort;
 
+    private Long assetId;
 }

+ 46 - 3
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -114,7 +114,7 @@ public class AssetService {
                         .minterAvatar(winItem.getMinterAvatar())
                         .name(winItem.getName())
                         .detail(winItem.getDetail())
-                        .pic(winItem.getPics())
+                        .pic(winItem.getPic())
                         .properties(winItem.getProperties())
                         .canResale(winItem.isCanResale())
                         .royalties(winItem.getRoyalties())
@@ -125,7 +125,7 @@ public class AssetService {
                         .gasUsed(nft.getGasUsed())
                         .price(order.getPrice())
                         .status(AssetStatus.NORMAL)
-                        .ipfsUrl(ipfsUpload(winItem.getPics().get(0).getUrl()))
+                        .ipfsUrl(ipfsUpload(winItem.getPic().get(0).getUrl()))
                         .build();
                 assetRepo.save(asset);
                 applicationContext.publishEvent(new CreateAssetEvent(this, true, order, asset));
@@ -161,7 +161,7 @@ public class AssetService {
         User owner = userRepo.findById(asset.getUserId()).orElseThrow(new BusinessException("用户不存在"));
         Collection collection = Collection.builder()
                 .name(asset.getName())
-                .pics(asset.getPic())
+                .pic(asset.getPic())
                 .minter(asset.getMinter())
                 .minterId(asset.getMinterId())
                 .minterAvatar(asset.getMinterAvatar())
@@ -181,10 +181,53 @@ public class AssetService {
                 .canResale(asset.isCanResale())
                 .royalties(asset.getRoyalties())
                 .serviceCharge(asset.getServiceCharge())
+                .assetId(id)
                 .build();
         collectionRepo.save(collection);
         asset.setPublicShow(true);
         asset.setPublicCollectionId(collection.getId());
+        assetRepo.save(asset);
+    }
+
+    public void Consignment(Long id, BigDecimal price) {
+        Asset asset = assetRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        Collection collection = null;
+        if (asset.isPublicShow() && asset.getCollectionId() != null) {
+            collection = collectionRepo.findById(asset.getCollectionId()).orElse(null);
+        }
+        User owner = userRepo.findById(asset.getUserId()).orElseThrow(new BusinessException("用户不存在"));
+        if (collection == null) {
+            collection = Collection.builder()
+                    .name(asset.getName())
+                    .pic(asset.getPic())
+                    .minter(asset.getMinter())
+                    .minterId(asset.getMinterId())
+                    .minterAvatar(asset.getMinterAvatar())
+                    .owner(owner.getNickname())
+                    .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)
+                    .build();
+        }
+        collection.setSalable(true);
+        collection.setPrice(price);
+        collectionRepo.save(collection);
+        asset.setPublicShow(true);
+        asset.setPublicCollectionId(collection.getId());
+        assetRepo.save(asset);
     }
 
     public void cancelPublic(Long id) {

+ 1 - 1
src/main/java/com/izouma/nineth/service/OrderService.java

@@ -100,7 +100,7 @@ public class OrderService {
                 .userId(userId)
                 .collectionId(collectionId)
                 .name(collection.getName())
-                .pic(collection.getPics())
+                .pic(collection.getPic())
                 .detail(collection.getDetail())
                 .properties(collection.getProperties())
                 .category(collection.getCategory())