lajiyouxi-xu 2 лет назад
Родитель
Сommit
aba52f9f08

+ 4 - 0
src/main/java/com/izouma/nineth/domain/DomainOrder.java

@@ -89,4 +89,8 @@ public class DomainOrder extends BaseEntity {
 
     @ApiModelProperty("超链地址")
     private String address;
+
+    @Column(name = "current_owner_id")
+    @ApiModelProperty("当前使用nft域名的人的id")
+    private Long CurrentOwnerId;
 }

+ 3 - 1
src/main/java/com/izouma/nineth/repo/AssetRepo.java

@@ -37,7 +37,9 @@ public interface AssetRepo extends JpaRepository<Asset, Long>, JpaSpecificationE
 
     List<Asset> findByCreatedAtBefore(LocalDateTime localDateTime);
 
-    Asset findByCollectionIdAndStatus(Long collectionId,AssetStatus statuses );
+    Optional<Asset> findByCollectionIdAndStatus(Long collectionId,AssetStatus statuses );
+
+    Optional<Asset> findByIdAndStatus(Long collectionId,AssetStatus statuses );
 
     List<Asset> findByConsignmentTrue();
 

+ 2 - 1
src/main/java/com/izouma/nineth/repo/DomainOrderRepo.java

@@ -22,7 +22,8 @@ public interface DomainOrderRepo extends JpaRepository<DomainOrder, Long>, JpaSp
     @Transactional
     void softDelete(Long id);
 
-    List<DomainOrder>  findAllByUserIdAndOpenHyperLinkIsTrue(Long userId);
+    @Query(value="SELECT * FROM domain_order WHERE current_owner_id = :currentOwnerId AND open_hyper_link = true", nativeQuery = true)
+    List<DomainOrder> findAllByCurrentOwnerIdAndOpenHyperLinkIsTrue(Long currentOwnerId);
 
     DomainOrder findByDomainNameAndOrderStatus(String domainName,OrderStatus orderStatus);
 

+ 12 - 11
src/main/java/com/izouma/nineth/web/DomainOrderController.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.web;
 
 import com.izouma.nineth.domain.Asset;
+import com.izouma.nineth.domain.Collection;
 import com.izouma.nineth.domain.DomainOrder;
 import com.izouma.nineth.dto.excel.DomainCountDTO;
 import com.izouma.nineth.dto.nftdomain.DomainResult;
@@ -10,6 +11,7 @@ import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.enums.HyperLinkType;
 import com.izouma.nineth.enums.OrderStatus;
 import com.izouma.nineth.repo.AssetRepo;
+import com.izouma.nineth.repo.CollectionRepo;
 import com.izouma.nineth.service.DomainOrderService;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.exception.BusinessException;
@@ -38,6 +40,7 @@ public class DomainOrderController extends BaseController {
     private DomainOrderService domainOrderService;
     private DomainOrderRepo    domainOrderRepo;
     private AssetRepo          assetRepo;
+    private CollectionRepo     collectionRepo;
 
     @PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
@@ -127,23 +130,21 @@ public class DomainOrderController extends BaseController {
     public void addHyperLink(@RequestParam Long collectionId, @RequestParam("openHyperLink") boolean openHyperLink,
                              @RequestParam("hyperLinkType") HyperLinkType hyperLinkType,
                              @RequestParam("address") String address) {
-        Asset byCollectionIdAndStatus = assetRepo.findByCollectionIdAndStatus(collectionId, AssetStatus.NORMAL);
-        String name = byCollectionIdAndStatus.getName();
-        String result = name.substring(name.indexOf(" ") + 1);
-        DomainOrder byDomainNameAndOrderStatus = domainOrderRepo
-                .findByDomainNameAndOrderStatus(result, OrderStatus.FINISH);
-        byDomainNameAndOrderStatus.setOpenHyperLink(true);
-        byDomainNameAndOrderStatus.setHyperLinkType(hyperLinkType);
-        byDomainNameAndOrderStatus.setAddress(address);
-        domainOrderRepo.save(byDomainNameAndOrderStatus);
-
+       // Collection collection = collectionRepo.findById(collectionId).orElseThrow(new BusinessException("没找到记录"));
+        Asset asset = assetRepo.findByIdAndStatus(collectionId, AssetStatus.NORMAL).orElseThrow(new BusinessException("没找到记录"));
+        DomainOrder domainOrder = domainOrderRepo.findById(asset.getCollectionId()).orElseThrow(new BusinessException("没找到记录"));
+        domainOrder.setOpenHyperLink(openHyperLink);
+        domainOrder.setHyperLinkType(hyperLinkType);
+        domainOrder.setAddress(address);
+        domainOrder.setCurrentOwnerId(SecurityUtils.getAuthenticatedUser().getId());
+        domainOrderRepo.save(domainOrder);
 
     }
 
     //我的超链
     @GetMapping("/showMyHyperLink")
     public List<DomainOrder>  showMyHyperLink(){
-     return domainOrderRepo.findAllByUserIdAndOpenHyperLinkIsTrue(SecurityUtils.getAuthenticatedUser().getId());
+     return domainOrderRepo.findAllByCurrentOwnerIdAndOpenHyperLinkIsTrue(SecurityUtils.getAuthenticatedUser().getId());
     }