Przeglądaj źródła

资产转让bug/短信提醒

licailing 3 lat temu
rodzic
commit
72ffb4bc2f

+ 0 - 2
src/main/java/com/izouma/nineth/service/AuctionActivityService.java

@@ -4,7 +4,6 @@ import com.izouma.nineth.annotations.Debounce;
 import com.izouma.nineth.config.RedisKeys;
 import com.izouma.nineth.domain.Asset;
 import com.izouma.nineth.domain.AuctionActivity;
-import com.izouma.nineth.domain.AuctionPassRecord;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.dto.auction.AuctionInputDTO;
@@ -47,7 +46,6 @@ public class AuctionActivityService {
     private final Environment                   env;
     private final TokenHistoryRepo              tokenHistoryRepo;
     private final SysConfigService              sysConfigService;
-    private final AuctionPassRecordRepo         auctionPassRecordRepo;
 
     private final Map<Long, ScheduledFuture<?>> tasks = new HashMap<>();
 

+ 12 - 11
src/main/java/com/izouma/nineth/service/AuctionOrderService.java

@@ -139,10 +139,6 @@ public class AuctionOrderService {
                 Asset asset = assetRepo.findById(auction.getAssetId()).orElseThrow(new BusinessException("资产不存在"));
                 asset.setStatus(AssetStatus.AUCTION_TRADING);
                 assetRepo.save(asset);
-                // 发送短信提醒用户转让成功
-                if (asset.getUserId() != null) {
-                    smsService.sellOut(userRepo.findPhoneById(asset.getUserId()));
-                }
             }
 
             BigDecimal price = AuctionPaymentType.FIXED_PRICE.equals(type) ? auction.getFixedPrice() : auction
@@ -272,6 +268,11 @@ public class AuctionOrderService {
             //转让流程
             assetService.transfer(asset, order.getTotalPrice(), user, TransferReason.AUCTION, order.getId());
 
+            // 发送短信提醒用户转让成功
+            if (asset.getUserId() != null) {
+                smsService.sellOut(userRepo.findPhoneById(asset.getUserId()));
+            }
+
             //用户冲余额
             UserBalance userBalance = userBalanceRepo.findByUserId(asset.getOwnerId())
                     .orElse(UserBalance.builder()
@@ -343,6 +344,13 @@ public class AuctionOrderService {
                     //流拍不退自己的保证金
                     isRefund = true;
 
+                    if (AuctionSource.TRANSFER.equals(order.getSource())) {
+                        //改回资产状态
+                        Asset asset = assetRepo.findById(auction.getAssetId()).orElseThrow(new BusinessException("资产不存在"));
+                        asset.setStatus(AssetStatus.NORMAL);
+                        assetRepo.save(asset);
+                    }
+
                 }
             } else if (AuctionPaymentType.DEPOSIT.equals(order.getPaymentType())) {
                 //删除出价记录
@@ -358,13 +366,6 @@ public class AuctionOrderService {
                 }
             }
 
-            if (AuctionSource.TRANSFER.equals(order.getSource())) {
-                //改回资产状态
-                Asset asset = assetRepo.findById(auction.getAssetId()).orElseThrow(new BusinessException("资产不存在"));
-                asset.setStatus(AssetStatus.NORMAL);
-                assetRepo.save(asset);
-            }
-
             order.setStatus(AuctionOrderStatus.CANCELLED);
             order.setCancelTime(LocalDateTime.now());
             auctionOrderRepo.save(order);

+ 10 - 4
src/test/java/com/izouma/nineth/repo/UserRepoTest.java

@@ -9,6 +9,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.time.LocalDate;
@@ -18,7 +19,10 @@ import java.util.*;
 @SpringBootTest
 public class UserRepoTest {
     @Autowired
-    private UserRepo userRepo;
+    private UserRepo        userRepo;
+    @Autowired
+    private PasswordEncoder passwordEncoder;
+
 
     @Test
     public void testUser() {
@@ -66,8 +70,10 @@ public class UserRepoTest {
 
     @Test
     public void test1() {
-        List<Long> userIds = userRepo.findInvitorByCollectionId(3460186L, 2);
-        System.out.println(userIds.size());
-        userRepo.updateAllByInvitor(userIds);
+//        List<Long> userIds = userRepo.findInvitorByCollectionId(3460186L, 2);
+//        System.out.println(userIds.size());
+//        userRepo.updateAllByInvitor(userIds);
+        User user = userRepo.findById(9972L).orElse(null);
+        System.out.println(passwordEncoder.matches("123456", user.getTradeCode()));
     }
 }

+ 16 - 0
src/test/java/com/izouma/nineth/service/AuctionActivityServiceTest.java

@@ -2,9 +2,12 @@ package com.izouma.nineth.service;
 
 import com.izouma.nineth.ApplicationTests;
 import com.izouma.nineth.domain.AuctionActivity;
+import com.izouma.nineth.dto.auction.AuctionInputDTO;
 import com.izouma.nineth.repo.AuctionActivityRepo;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 
 public class AuctionActivityServiceTest extends ApplicationTests {
@@ -25,4 +28,17 @@ public class AuctionActivityServiceTest extends ApplicationTests {
 
         auctionActivityService.offShelfTask(activity);
     }
+
+    @Test
+    public void test2() {
+        AuctionInputDTO dto = new AuctionInputDTO();
+        dto.setAssetId(206885L);
+        dto.setDeposit(new BigDecimal("0.1"));
+        dto.setStartTime(LocalDateTime.now());
+        dto.setFixedPrice(new BigDecimal("0.01"));
+        dto.setIncrement(new BigDecimal("0.01"));
+        dto.setTradeCode("123456");
+        auctionActivityService.createFromAsset(dto);
+
+    }
 }