wangqifan 2 سال پیش
والد
کامیت
37476dcb44

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

@@ -219,6 +219,8 @@ public interface CollectionRepo extends JpaRepository<Collection, Long>, JpaSpec
 
     List<Collection> findAllByNameLikeAndSalableAndOnShelf(String name, boolean salable, boolean onshelf);
 
+    Collection findFirstByNameAndSalableAndOnShelf(String name, boolean salable, boolean onshelf);
+
     @Query(nativeQuery = true, value = "update collection_info c set c.hold_days = null where c.name like ?1")
     @Modifying
     @Transactional

+ 25 - 26
src/main/java/com/izouma/nineth/service/DomainOrderService.java

@@ -6,6 +6,7 @@ import com.google.zxing.WriterException;
 import com.izouma.nineth.config.GeneralProperties;
 import com.izouma.nineth.config.RedisKeys;
 import com.izouma.nineth.domain.Asset;
+import com.izouma.nineth.domain.Collection;
 import com.izouma.nineth.domain.DomainOrder;
 import com.izouma.nineth.domain.FileObject;
 import com.izouma.nineth.domain.User;
@@ -16,10 +17,7 @@ import com.izouma.nineth.dto.nftdomain.DomainTop;
 import com.izouma.nineth.enums.*;
 import com.izouma.nineth.event.OrderNotifyEvent;
 import com.izouma.nineth.exception.BusinessException;
-import com.izouma.nineth.repo.AssetRepo;
-import com.izouma.nineth.repo.DomainOrderRepo;
-import com.izouma.nineth.repo.OrderRepo;
-import com.izouma.nineth.repo.UserRepo;
+import com.izouma.nineth.repo.*;
 import com.izouma.nineth.service.storage.StorageService;
 import com.izouma.nineth.utils.ImageUtils;
 import com.izouma.nineth.utils.JpaUtils;
@@ -76,6 +74,7 @@ public class DomainOrderService {
     private GeneralProperties             generalProperties;
     private RocketMQTemplate              rocketMQTemplate;
     private OrderRepo                     orderRepo;
+    private CollectionRepo                collectionRepo;
 
     public Page<DomainOrder> all(PageQuery pageQuery) {
         return domainOrderRepo
@@ -312,30 +311,30 @@ public class DomainOrderService {
         used.forEach(domainOrder -> {
             Map<String, Object> sold = new HashMap<>();
             if (!domainOrder.getDomainName().contains(".uni")) {
-                Asset asset = assetRepo
-                        .findFirstByNameAndStatus("RID元宇宙域名 " + domainOrder.getDomainName(), AssetStatus.NORMAL);
-                if (asset != null) {
-                    if (asset.isConsignment()) {
-                        sold.put("canAsk", false);
-                        sold.put("collectionId", asset.getPublicCollectionId());
-                    } else {
-                        sold.put("canAsk", true);
-                    }
-                    sold.put("id", domainOrder.getId());
-                    sold.put("domain", domainOrder.getDomainName().toLowerCase());
-                    sold.put("endTime", domainOrder.getEndTime());
-                    sold.put("sold", true);
-                    sold.put("isOpenHyperLink", domainOrder.isOpenHyperLink());
-                    if (domainOrder.getHyperLinkType() != null) {
-                        sold.put("HyperLinkType", domainOrder.getHyperLinkType());
-                    }
-                    if (domainOrder.getAddress() != null) {
-                        sold.put("Address", domainOrder.getAddress());
-                    }
-
-                    result.add(sold);
+                Collection collection = collectionRepo
+                        .findFirstByNameAndSalableAndOnShelf("RID元宇宙域名 " + domainOrder.getDomainName(), true, true);
+                if (collection != null) {
+                    sold.put("canAsk", false);
+                    sold.put("collectionId", collection.getId());
+                } else {
+                    sold.put("canAsk", true);
                 }
+                sold.put("id", domainOrder.getId());
+                sold.put("domain", domainOrder.getDomainName().toLowerCase());
+                sold.put("endTime", domainOrder.getEndTime());
+                sold.put("sold", true);
+                sold.put("isOpenHyperLink", domainOrder.isOpenHyperLink());
+                if (domainOrder.getHyperLinkType() != null) {
+                    sold.put("HyperLinkType", domainOrder.getHyperLinkType());
+                }
+                if (domainOrder.getAddress() != null) {
+                    sold.put("Address", domainOrder.getAddress());
+                }
+
+                result.add(sold);
             }
+
+
         });
         return result;
     }