From 7da512973b40df83aa48fa9b57b4f365466e253b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 10 一月 2024 14:38:11 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java |   77 ++++++++++++++++++++++++--------------
 1 files changed, 48 insertions(+), 29 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index 2a30a2e..a326513 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -224,7 +224,28 @@
         }
     }
 
+    /**
+     * 鍒嗘璇锋眰涓嬪彂鏉冮檺
+     * @param list
+     */
     private void dealDelListTask(List<Empower> list) {
+        int sublistSize = 100;
+        int startIndex = 0;
+        int endIndex = sublistSize;
+
+        while (startIndex < list.size()) {
+            if (endIndex > list.size()) {
+                endIndex = list.size();
+            }
+            List<Empower> sublist = list.subList(startIndex, endIndex);
+            if(sublist.size()>0){
+                dealDelListTaskDo(sublist);
+            }
+            startIndex = endIndex;
+            endIndex += sublistSize;
+        }
+    }
+    private void dealDelListTaskDo(List<Empower> list) {
         //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
         if(list ==null || list.size()==0){
             return;
@@ -232,43 +253,41 @@
         Date date = new Date();
         //鍒涘缓浠诲姟
         String taskId = hkTaskAddtion();
-        List<Empower> successList = new ArrayList<>();
-        List<Empower> errorList = new ArrayList<>();
+        List<Integer> successList = new ArrayList<>();
+        List<Integer> errorList = new ArrayList<>();
         for(Empower c : list) {
             //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
             if(addTaskData(c,taskId,HKConstants.OPERA_TYPE.DEL.getKey())){
-                successList.add(c);
+                successList.add(c.getId());
             }else{
-                errorList.add(c);
+                errorList.add(c.getId());
             }
         }
         if(successList.size()>0){
             //寮�濮嬫墽琛屼笅鍙�
             boolean status = startTask(taskId);
-            for(Empower model : successList){
-                Empower update = new Empower();
-                update.setId(model.getId());
-                update.setSendDate(date);
-                update.setEditDate(date);
-                update.setHkId(taskId);
-                update.setRemark(status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触");
-                update.setSendInfo(status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触");
-                //涓嬪彂涓�
-                update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
-                empowerMapper.updateById(update);
-            }
+            empowerMapper.update(null,new UpdateWrapper<Empower>()
+                    .lambda()
+                    .set(Empower::getSendDate,date)
+                    .set(Empower::getEditDate,date)
+                    .set(Empower::getSendStatus,status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail)
+                    .set(Empower::getHkId,taskId)
+                    .set(Empower::getSendInfo,status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触")
+                    .set(Empower::getRemark,status?"涓嬪彂浠诲姟鎵ц鎴愬姛":"涓嬪彂浠诲姟鎵ц澶辫触")
+                    .set(Empower::getEditDate,date)
+                    .in(Empower::getId,successList));
         }
-        for(Empower model : errorList){
-            Empower update = new Empower();
-            update.setId(model.getId());
-            update.setSendDate(date);
-            update.setEditDate(date);
-            update.setHkId(taskId);
-            update.setSendStatus(Constants.EmpowerStatus.fail);
-            update.setSendInfo( "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触");
-            update.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触");
-            empowerMapper.updateById(update);
-        }
+
+        empowerMapper.update(null,new UpdateWrapper<Empower>()
+                .lambda()
+                .set(Empower::getSendStatus,Constants.EmpowerStatus.fail)
+                .set(Empower::getSendDate,date)
+                .set(Empower::getEditDate,date)
+                .set(Empower::getHkId,taskId)
+                .set(Empower::getSendInfo, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触")
+                .set(Empower::getRemark, "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触")
+                .set(Empower::getEditDate,date)
+                .in(Empower::getId,errorList));
     }
 
     private void dealNewListTask(List<Empower> list) {
@@ -407,13 +426,13 @@
         queryWrapper.selectAll(Empower.class);
         queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
         queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
-        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
         queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
         queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+        queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
         queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
         queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
+        queryWrapper.isNotNull(Member::getHkId) ;
         queryWrapper.orderByAsc(Empower::getSendDate);
-        queryWrapper.isNotNull(Empower::getMemberHkId) ;
         List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
         return list;
     }

--
Gitblit v1.9.3