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