From 22d7512ecb341426ecaa5ac8d48d7aa2b37c1059 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 六月 2022 16:27:41 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java b/service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java
index 327a856..b93f05c 100755
--- a/service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/wechat/WeChatPushMessageTemplate.java
@@ -66,6 +66,8 @@
     public static final int DEFAULT_THREAD_NUM = 20;
     public static final int DEFAULT_SUBSCRIBE_PERSON = 100;
 
+    public static final int DEFAULT_QUERY_APP_OWNER_COUNT = 50;
+
     @Autowired
     private INoticeInnerServiceSMO noticeInnerServiceSMOImpl;
 
@@ -248,8 +250,19 @@
         OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
         ownerAppUserDto.setAppType(OwnerAppUserDto.APP_TYPE_WECHAT);
         ownerAppUserDto.setCommunityId(noticeDto.getCommunityId());
-        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
-        doSend(ownerAppUserDtos, noticeDto, templateId, accessToken, weChatDto);
+        int count = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsersCount(ownerAppUserDto);
+
+        double maxPage = Math.ceil(count/DEFAULT_QUERY_APP_OWNER_COUNT)+1;
+
+        for(int page = 0; page < maxPage; page++){
+            ownerAppUserDto.setPage(page+1);
+            ownerAppUserDto.setRow(DEFAULT_QUERY_APP_OWNER_COUNT);
+            List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+            doSend(ownerAppUserDtos, noticeDto, templateId, accessToken, weChatDto);
+        }
+//
+//        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+//        doSend(ownerAppUserDtos, noticeDto, templateId, accessToken, weChatDto);
     }
 
     private void sendFloorOwner(NoticeDto noticeDto, String templateId, String accessToken, SmallWeChatDto weChatDto) {
@@ -347,7 +360,7 @@
             getAllOpenId(accessToken, "", weChatDto);
         }
 
-        List<WechatSubscribeDto> wechatSubscribeDtos = wechatSubscribeV1InnerServiceSMOImpl.queryWechatSubscribes(wechatSubscribeDto);
+        List<WechatSubscribeDto> wechatSubscribeDtos = wechatSubscribeV1InnerServiceSMOImpl.queryDistinctWechatSubscribes(wechatSubscribeDto);
 
         if (wechatSubscribeDtos == null || wechatSubscribeDtos.size() < 1) {
             return;

--
Gitblit v1.8.0