瀏覽代碼

考级机构

licailing 4 年之前
父節點
當前提交
aa271e36f6

+ 4 - 1
src/main/java/com/izouma/wenlvju/repo/TrainingInstitutionRepo.java

@@ -15,9 +15,12 @@ public interface TrainingInstitutionRepo extends JpaRepository<TrainingInstituti
     @Transactional
     void softDelete(Long id);
 
-    @Query("select phone from TrainingInstitution where submit = false and phone is not null")
+    @Query(nativeQuery = true, value = "select phone from training_institution where submit = false and phone REGEXP '^[1][35678][0-9]{9}$'")
     List<String> findAllBySubmitFalseAndPhoneIsNotNull();
 
+    @Query(nativeQuery = true, value = "select phone from training_institution where submit = false and phone REGEXP '^[1][35678][0-9]{9}$' limit 2000,2000")
+    List<String> findAllBySubmitFalseAndPhoneIsNotNullLimit();
+
     List<TrainingInstitution> findAllByPhoneIsNull();
 
     @Query(nativeQuery = true, value = "select name from training_institution where name like ?1 limit ?2,?3")

+ 6 - 6
src/main/java/com/izouma/wenlvju/service/TrainingInstitutionService.java

@@ -39,19 +39,19 @@ public class TrainingInstitutionService {
         int count = phones.size() / 950;
         String body = "尊敬的调研对象:\n" +
                 "您好,为贯彻落实国家、省、市关于“双减”工作相关文件精神,了解和掌握我市文化艺术类校外培训机构相关情况,市文旅局决定开展全市文化艺术类校外培训机构网上问卷调查,如从事文化艺术类校外培训,请登录:http://wljtest.izouma.com/h5/trainingInstitution,填写调查问卷,如不从事文化艺术类校外培训,请忽略本条信息,谢谢。\n";
-        for (int i = 0; i < count; i++) {
+        for (int i = 0; i <= count; i++) {
             int start = i * 950;
             int end = start + 950;
-            if (end > count) {
-                end = count;
+            if (end > phones.size()) {
+                end = phones.size();
             }
             List<String> result = phones.subList(start, end);
             String sendPhone = String.join(",", result);
-            System.out.println(sendPhone);
+//            System.out.println(sendPhone);
             njwlSmsService.sendSms(sendPhone, body);
-
+//            System.out.println("start:" + start + ",end:" + end);
             // 睡眠5分钟
-            Thread.sleep(5 * 60 * 1000);
+            Thread.sleep(30 * 1000);
         }
 
     }

+ 11 - 0
src/test/java/com/izouma/wenlvju/web/TrainingInstitutionControllerTest.java

@@ -6,6 +6,7 @@ import com.izouma.wenlvju.converter.StringArrayConverter;
 import com.izouma.wenlvju.domain.TrainingInstitution;
 import com.izouma.wenlvju.dto.PageQuery;
 import com.izouma.wenlvju.repo.TrainingInstitutionRepo;
+import com.izouma.wenlvju.service.TrainingInstitutionService;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -17,6 +18,9 @@ public class TrainingInstitutionControllerTest extends ApplicationTests {
     @Autowired
     private TrainingInstitutionController trainingInstitutionController;
 
+    @Autowired
+    private TrainingInstitutionService trainingInstitutionService;
+
     @Autowired
     private TrainingInstitutionRepo trainingInstitutionRepo;
 
@@ -46,5 +50,12 @@ public class TrainingInstitutionControllerTest extends ApplicationTests {
 //        System.out.println("12".split(","));
     }
 
+    @Test
+    public void test1() throws InterruptedException {
+        List<String> phones = trainingInstitutionRepo.findAllBySubmitFalseAndPhoneIsNotNullLimit();
+        trainingInstitutionService.batchSend(phones);
+
+    }
+
 
 }