فهرست منبع

开盲盒修改

licailing 3 سال پیش
والد
کامیت
61127bad10

+ 6 - 0
pom.xml

@@ -418,6 +418,12 @@
             <artifactId>commons-validator</artifactId>
             <version>1.7</version>
         </dependency>
+
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-core</artifactId>
+            <version>5.7.21</version>
+        </dependency>
     </dependencies>
 
 </project>

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

@@ -149,6 +149,9 @@ public class Asset extends BaseEntity {
 
     private Long fromAssetId;
 
+    @Transient
+    private boolean opened;
+
     public static Asset create(Collection collection, User user) {
         return Asset.builder()
                 .userId(user.getId())

+ 5 - 4
src/main/java/com/izouma/nineth/domain/Collection.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.domain;
 
 import com.izouma.nineth.annotations.Searchable;
+import com.izouma.nineth.annotations.SearchableOne;
 import com.izouma.nineth.converter.FileObjectConverter;
 import com.izouma.nineth.converter.FileObjectListConverter;
 import com.izouma.nineth.converter.PrivilegeListConverter;
@@ -43,7 +44,7 @@ public class Collection extends BaseEntity {
     private FileObject model3d;
 
     @ApiModelProperty("铸造者")
-    @Searchable
+    @SearchableOne
     private String minter;
 
     @ApiModelProperty("铸造者ID")
@@ -52,11 +53,11 @@ public class Collection extends BaseEntity {
     @ApiModelProperty("铸造者头像")
     private String minterAvatar;
 
-    @ApiModelProperty("铸造者")
-    @Searchable
+    @ApiModelProperty("持有者")
+    @SearchableOne
     private String owner;
 
-    @ApiModelProperty("铸造者ID")
+    @ApiModelProperty("持有者者ID")
     private Long ownerId;
 
     @ApiModelProperty("铸造者头像")

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

@@ -198,7 +198,7 @@ public class Order {
 
     private Long invitor;
 
-    private boolean opened;
+    private boolean opened = true;
 
     @JsonProperty("createdAt")
     public LocalDateTime getCreatedAt() {

+ 2 - 0
src/main/java/com/izouma/nineth/repo/OrderRepo.java

@@ -41,4 +41,6 @@ public interface OrderRepo extends JpaRepository<Order, Long>, JpaSpecificationE
 
     long countAllByPayTimeAfter(LocalDateTime payTime);
 
+    @Query("select assetId from Order where userId = ?1 and opened = false")
+    List<Long> findAllByUserIdAndOpenedFalse(Long userId);
 }

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

@@ -1,5 +1,7 @@
 package com.izouma.nineth.service;
 
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ObjectUtil;
 import com.izouma.nineth.TokenHistory;
 import com.izouma.nineth.config.GeneralProperties;
 import com.izouma.nineth.domain.Collection;
@@ -51,7 +53,18 @@ public class AssetService {
     private GeneralProperties  generalProperties;
 
     public Page<Asset> all(PageQuery pageQuery) {
-        return assetRepo.findAll(JpaUtils.toSpecification(pageQuery, Asset.class), JpaUtils.toPageRequest(pageQuery));
+        Page<Asset> all = assetRepo.findAll(JpaUtils.toSpecification(pageQuery, Asset.class), JpaUtils.toPageRequest(pageQuery));
+        Map<String, Object> query = pageQuery.getQuery();
+        if (ObjectUtil.isNotEmpty(query.get("userId"))) {
+            List<Long> assetId = orderRepo.findAllByUserIdAndOpenedFalse(Convert.convert(Long.class, query.get("userId")));
+            return all.map(asset -> {
+                if (assetId.contains(asset.getId())){
+                    asset.setOpened(false);
+                }
+                return asset;
+            });
+        }
+        return all;
     }
 
     public Asset createAsset(Collection collection, User user, Long orderId, BigDecimal price, String type, Integer number) {