فهرست منبع

新增虚拟号段

xiongzhu 4 سال پیش
والد
کامیت
47872975a0
2فایلهای تغییر یافته به همراه41 افزوده شده و 9 حذف شده
  1. 5 1
      src/main/java/com/izouma/nineth/service/IdentityAuthService.java
  2. 36 8
      src/test/java/com/izouma/nineth/AES.java

+ 5 - 1
src/main/java/com/izouma/nineth/service/IdentityAuthService.java

@@ -243,7 +243,11 @@ public class IdentityAuthService {
         } else {
             LocalDate birth = DateTimeUtils.toLocalDate(identityAuth.getIdNo().substring(6, 14), "yyyyMMdd");
             long age = ChronoUnit.YEARS.between(birth, LocalDate.now());
-            if (user.getPhone().startsWith("170")) {
+            if (user.getPhone().startsWith("170") ||
+                    user.getPhone().startsWith("171") ||
+                    user.getPhone().startsWith("162") ||
+                    user.getPhone().startsWith("165") ||
+                    user.getPhone().startsWith("167")) {
                 result.put("status", AuthStatus.FAIL);
                 result.put("reason", "虚拟号");
             } else if (age < 18) {

+ 36 - 8
src/test/java/com/izouma/nineth/AES.java

@@ -1,11 +1,18 @@
 package com.izouma.nineth;
 
+import com.izouma.nineth.domain.IdentityAuth;
+import com.izouma.nineth.dto.UserBankCard;
 import com.izouma.nineth.repo.IdentityAuthRepo;
 import com.izouma.nineth.repo.UserBankCardRepo;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ForkJoinPool;
 import java.util.stream.Collectors;
 
 public class AES extends ApplicationTests {
@@ -17,13 +24,34 @@ public class AES extends ApplicationTests {
     private IdentityAuthRepo identityAuthRepo;
 
     @Test
-    public void aes() {
-        userBankCardRepo.saveAll(userBankCardRepo.findAll().stream()
-                .peek(i -> i.setModifiedAt(LocalDateTime.now()))
-                .collect(Collectors.toList()));
-
-        identityAuthRepo.saveAll(identityAuthRepo.findAll().stream()
-                .peek(i -> i.setModifiedAt(LocalDateTime.now()))
-                .collect(Collectors.toList()));
+    public void aes() throws ExecutionException, InterruptedException {
+
+        new ForkJoinPool(500).submit(() -> {
+            int pageNum = 0;
+            boolean hasNext = true;
+            while (hasNext) {
+                Page<UserBankCard> page = userBankCardRepo.findAll(PageRequest.of(pageNum, 1000));
+                page.getContent().parallelStream().forEach(i -> {
+                    i.setModifiedAt(LocalDateTime.now());
+                    userBankCardRepo.save(i);
+                });
+                pageNum++;
+                hasNext = page.hasNext();
+            }
+        }).get();
+
+        new ForkJoinPool(500).submit(() -> {
+            int pageNum = 0;
+            boolean hasNext = true;
+            while (hasNext) {
+                Page<IdentityAuth> page = identityAuthRepo.findAll(PageRequest.of(pageNum, 1000));
+                page.getContent().parallelStream().forEach(i -> {
+                    i.setModifiedAt(LocalDateTime.now());
+                    identityAuthRepo.save(i);
+                });
+                pageNum++;
+                hasNext = page.hasNext();
+            }
+        }).get();
     }
 }