Эх сурвалжийг харах

元宇宙展厅协议调整

sunkean 3 жил өмнө
parent
commit
8e3d7d718d

+ 3 - 0
src/main/java/com/izouma/nineth/domain/MetaGameProcess.java

@@ -84,4 +84,7 @@ public class MetaGameProcess extends BaseEntity {
     @Convert(converter = MetaGameAwardConverter.class)
     private MetaGameAward metaGameAward;
 
+    @ApiModelProperty("手机号")
+    @ExcelProperty("手机号")
+    private String phone;
 }

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

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.izouma.nineth.converter.CoordinateConverter;
 import com.izouma.nineth.dto.CoordinateDTO;
+import com.izouma.nineth.dto.MetaAssetDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -44,7 +45,7 @@ public class MetaShowRoomAsset extends BaseEntity {
 
     @Transient
     @ExcelIgnore
-    private Asset asset;
+    private MetaAssetDTO metaAssetDTO;
 
     @Transient
     @ExcelIgnore

+ 68 - 0
src/main/java/com/izouma/nineth/dto/MetaAssetDTO.java

@@ -0,0 +1,68 @@
+package com.izouma.nineth.dto;
+
+import com.izouma.nineth.converter.FileObjectListConverter;
+import com.izouma.nineth.domain.Asset;
+import com.izouma.nineth.domain.FileObject;
+import com.izouma.nineth.enums.AssetStatus;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Convert;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class MetaAssetDTO {
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("状态")
+    @Enumerated(EnumType.STRING)
+    private AssetStatus status;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("持有者")
+    private String owner;
+
+    @ApiModelProperty("铸造者")
+    private String minter;
+
+    @ApiModelProperty("购买hash")
+    private String txHash;
+
+    @ApiModelProperty("转让价格")
+    private BigDecimal sellPrice;
+
+    @ApiModelProperty("元宇宙展厅是否上架")
+    private boolean metaPutOn;
+
+    @ApiModelProperty("图片")
+    @Convert(converter = FileObjectListConverter.class)
+    private List<FileObject> pic;
+
+    public static MetaAssetDTO create(Asset asset) {
+        return MetaAssetDTO.builder()
+                .id(asset.getId())
+                .status(asset.getStatus())
+                .name(asset.getName())
+                .owner(asset.getOwner())
+                .minter(asset.getMinter())
+                .txHash(asset.getTxHash())
+                .sellPrice(asset.getSellPrice())
+                .metaPutOn(asset.isMetaPutOn())
+                .pic(asset.getPic())
+                .build();
+    }
+
+}

+ 9 - 0
src/main/java/com/izouma/nineth/service/MetaGameCopyService.java

@@ -9,10 +9,12 @@ import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.repo.MetaGameCopyRepo;
 import com.izouma.nineth.repo.MetaGameProcessRepo;
 import com.izouma.nineth.repo.MetaZombieRepo;
+import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.utils.JpaUtils;
 import com.izouma.nineth.utils.LotteryUtils;
 import lombok.AllArgsConstructor;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
@@ -30,6 +32,8 @@ public class MetaGameCopyService {
 
     private MetaZombieRepo metaZombieRepo;
 
+    private UserRepo userRepo;
+
     public Page<MetaGameCopy> all(PageQuery pageQuery) {
         return metaGameCopyRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaGameCopy.class), JpaUtils.toPageRequest(pageQuery));
     }
@@ -55,6 +59,11 @@ public class MetaGameCopyService {
         if (Objects.isNull(metaGameProcess.getUserId())) {
             return MetaRestResult.returnError("Illegal parameter : userId can not be null");
         }
+        String phone = userRepo.findPhoneById(metaGameProcess.getUserId());
+        if (StringUtils.isBlank(phone)) {
+            return MetaRestResult.returnError("phone can not be null");
+        }
+        metaGameProcess.setPhone(phone);
         if (Objects.isNull(metaGameProcess.getMetaGameCopyId())) {
             return MetaRestResult.returnError("Illegal parameter : metaGameCopyId can not be null");
         }

+ 7 - 7
src/main/java/com/izouma/nineth/service/MetaShowRoomAssetService.java

@@ -5,9 +5,7 @@ import com.izouma.nineth.config.Constants;
 import com.izouma.nineth.domain.Asset;
 import com.izouma.nineth.domain.MetaItem;
 import com.izouma.nineth.domain.MetaShowRoomAsset;
-import com.izouma.nineth.dto.MetaRestResult;
-import com.izouma.nineth.dto.MetaServiceResult;
-import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.dto.*;
 import com.izouma.nineth.enums.MetaItemEnum;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.AssetRepo;
@@ -83,7 +81,7 @@ public class MetaShowRoomAssetService {
                 metaShowRoomAssetRepo.deleteByAssetId(asset.getId());
             } else {
                 metaShowRoomAsset.setUrl(whetherTest ? URL_PREFIX_TEST.concat(String.valueOf(asset.getId())) : URL_PREFIX.concat(String.valueOf(asset.getId())));
-                metaShowRoomAsset.setAsset(asset);
+                metaShowRoomAsset.setMetaAssetDTO(MetaAssetDTO.create(asset));
                 newMetaShowRoomAsset.add(metaShowRoomAsset);
             }
         });
@@ -91,7 +89,7 @@ public class MetaShowRoomAssetService {
     }
 
 
-    public MetaRestResult<List<Asset>> noShowRoomAndBlindBox(Long userId) {
+    public MetaRestResult<List<MetaAssetDTO>> noShowRoomAndBlindBox(Long userId) {
         // 查询已上架藏品
         List<Long> assetIds = metaShowRoomAssetRepo.findAssetIdAllByUserId(userId);
         List<MetaItem> metaItems = metaItemRepo.findAllByTypeAndDel(MetaItemEnum.META_SHOW_ROOM, false);
@@ -106,19 +104,21 @@ public class MetaShowRoomAssetService {
             }
         });
         List<Asset> assets;
+        List<MetaAssetDTO> metaAssetDTOS = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(ids)) {
             assets = assetRepo.findAllByIdNotInAndUserIdAndStatusInAndOpened(ids, userId, Constants.META_NORMAL_STATUS, true);
         } else {
             assets = assetRepo.findAllByUserIdAndStatusInAndOpened(userId, Constants.META_NORMAL_STATUS, true);
         }
         if (CollectionUtils.isEmpty(assets) || CollectionUtils.isEmpty(assetIds)) {
-            return MetaRestResult.returnSuccess(assets);
+            return MetaRestResult.returnSuccess(metaAssetDTOS);
         }
         // 查询用户拥有的非展厅非未开启盲盒藏品
         assets.forEach(asset -> {
             asset.setMetaPutOn(assetIds.contains(asset.getId()));
+            metaAssetDTOS.add(MetaAssetDTO.create(asset));
         });
-        return MetaRestResult.returnSuccess(assets);
+        return MetaRestResult.returnSuccess(metaAssetDTOS);
     }
 
     public MetaRestResult<List<Asset>> noBlindBox(Long userId) {

+ 2 - 1
src/main/java/com/izouma/nineth/web/MetaShowRoomAssetController.java

@@ -2,6 +2,7 @@ package com.izouma.nineth.web;
 
 import com.izouma.nineth.domain.Asset;
 import com.izouma.nineth.domain.MetaShowRoomAsset;
+import com.izouma.nineth.dto.MetaAssetDTO;
 import com.izouma.nineth.dto.MetaRestResult;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.repo.MetaShowRoomAssetRepo;
@@ -37,7 +38,7 @@ public class MetaShowRoomAssetController extends BaseController {
     }
 
     @GetMapping("/{userId}/noShowRoomAndBlindBox")
-    public MetaRestResult<List<Asset>> noShowRoomAndBlindBox(@PathVariable Long userId) {
+    public MetaRestResult<List<MetaAssetDTO>> noShowRoomAndBlindBox(@PathVariable Long userId) {
         return metaShowRoomAssetService.noShowRoomAndBlindBox(userId);
     }