wangqifan 2 лет назад
Родитель
Сommit
6b07a6b376

+ 2 - 2
src/main/java/com/izouma/nineth/repo/nftdomain/DomainAskRepo.java

@@ -26,8 +26,8 @@ public interface DomainAskRepo extends JpaRepository<DomainAsk, Long>, JpaSpecif
     @Query(nativeQuery = true, value = "select price from domain_ask where domain_order_id = ?1 and status = 'ASKING' order by price desc limit 1")
     BigDecimal findMaxPrice(Long domainOrderId);
 
-    @Query(nativeQuery = true, value = "select count(da.id) count,da.pic_url pic,da.domain_order_id domainOrderId,a.id assetId,da.`name` picName,da.end_time endTime from domain_ask da inner join asset a on a.id = da.asset_id where da.status = 'ASKING' and da.owner_id = ?1 and a.status = 'NORMAL' group by da.asset_id order by a.created_at desc ")
-    List<Map<String, Object>> askGroup(Long userId);
+    @Query(nativeQuery = true, value = "select count(da.id) count,da.pic_url pic,da.domain_order_id domainOrderId,a.id assetId,da.`name` picName,da.end_time endTime from domain_ask da inner join asset a on a.id = da.asset_id where da.status in ?1 and da.owner_id = ?2 and a.status = 'NORMAL' group by da.asset_id order by a.created_at desc ")
+    List<Map<String, Object>> askGroup(Set<DomainAskStatus> domainAskStatuses, Long userId);
 
     int countByAssetIdAndUserIdAndStatusInAndDelFalse(Long assetId, Long userId, Set<DomainAskStatus> statuses);
 

+ 13 - 8
src/main/java/com/izouma/nineth/service/nftdomain/DomainAskService.java

@@ -100,7 +100,11 @@ public class DomainAskService {
 
     public List<Map<String, Object>> getGroups() {
         Long userId = SecurityUtils.getAuthenticatedUser().getId();
-        return domainAskRepo.askGroup(userId);
+        Set<DomainAskStatus> domainAskStatuses = new HashSet<>();
+        domainAskStatuses.add(DomainAskStatus.ASKING);
+        domainAskStatuses.add(DomainAskStatus.REFUNDED);
+        domainAskStatuses.add(DomainAskStatus.FINISH);
+        return domainAskRepo.askGroup(domainAskStatuses, userId);
     }
 
     public void cancel(DomainAsk domainAsk) {
@@ -109,7 +113,8 @@ public class DomainAskService {
             domainAsk.setStatus(DomainAskStatus.CANCELLED);
         }
         if (domainAsk.getStatus() == DomainAskStatus.ASKING) {
-            if (!SecurityUtils.getAuthenticatedUser().getId().equals(domainAsk.getUserId())) {
+            if (!SecurityUtils.getAuthenticatedUser().getId().equals(domainAsk.getUserId()) & !SecurityUtils
+                    .getAuthenticatedUser().getId().equals(domainAsk.getOwnerId())) {
                 throw new BusinessException("该叫价用户id不匹配,不能取消");
             }
             domainAsk.setStatus(DomainAskStatus.REFUNDED);
@@ -139,12 +144,12 @@ public class DomainAskService {
                         .getOwnerId(), domainAskStatuses) > 0) {
             throw new BusinessException("已有通过报价,请勿重复通过!");
         }
-        BigDecimal amount = domainAsk.getPrice()
-//                                 .subtract(BigDecimal.valueOf(1))
-                                     .multiply(BigDecimal
-                                             .valueOf(100 - domainAsk.getRoyalties() - domainAsk.getServiceCharge()))
-                                     .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
-        assetService.transfer(asset, amount,
+//        BigDecimal amount = domainAsk.getPrice()
+////                                 .subtract(BigDecimal.valueOf(1))
+//                                     .multiply(BigDecimal
+//                                             .valueOf(100 - domainAsk.getRoyalties() - domainAsk.getServiceCharge()))
+//                                     .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
+        assetService.transfer(asset, domainAsk.getPrice(),
                 userRepo.findById(domainAsk.getUserId())
                         .orElseThrow(new BusinessException("未找到用户")), TransferReason.ASK, domainAsk
                         .getId());