From f2d095dd7f3df56b09564ba46dcaa36d912ae4a8 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期一, 18 三月 2024 18:05:45 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 310 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 192 insertions(+), 118 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 b503299..a0b2d69 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 @@ -63,101 +63,105 @@ if(list == null || list.size() ==0){ return; } - int tryNum = 1; - try { - tryNum = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.RETRY_CONNECT_NUM).getCode()); - }catch (Exception e){ - - } - for(Empower c : list){ - TaskPersonDetailRequest param = new TaskPersonDetailRequest(); - param.setPageNo(1); - param.setPageSize(100); + Thread t1=new Thread(new Runnable() { + @Override + public void run() { + try { + for(Empower c : list){ + TaskPersonDetailRequest param = new TaskPersonDetailRequest(); + param.setPageNo(1); + param.setPageSize(100); // param.setPersonIds(new ArrayList<>()); - param.setPersonIds(new String[]{c.getMemberHkId()}); - param.setTaskId(c.getHkId()); - TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest(); - rec.setResourceIndexCode(c.getDeviceIndexCode()); - rec.setResourceType(c.getDeviceType()); + param.setPersonIds(new String[]{c.getMemberHkId()}); + param.setTaskId(c.getHkId()); + TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest(); + rec.setResourceIndexCode(c.getDeviceIndexCode()); + rec.setResourceType(c.getDeviceType()); // rec.setChannelNos(c.getDeviceChannelNo().split(",")); - param.setResourceInfo(rec); - //鏌ヨ涓嬪彂鐘舵�� - BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param); - if(response!=null - && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) && response.getData()!=null - ) { - if (response.getData().getList() != null - && response.getData().getList().size() > 0) { - TaskPersonDetailResponse model = response.getData().getList().get(0); - if (model != null && StringUtils.equals(model.getPersondownloadResult(), "0")) { - //鏇存柊宸插畬鎴愪笅杞戒换鍔� - String remark = ""; - String cardInfo = "鍗$墖涓嬪彂澶辫触"; - TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail(); - if (d.getCards() != null && d.getCards().size() > 0) { - cardInfo = "鍗$墖锛氥��"; - for (TaskPersonDetailCardInfoResponse card : d.getCards()) { - cardInfo += card.getId() + " "; - } - cardInfo += "銆戜笅鍙戞垚鍔�"; - } - if (d.getFaces() == null || d.getFaces().size() == 0) { - remark = cardInfo + "锛� 涓嶆敮鎸佷汉鑴歌澶囷紒"; - } else { - remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒"; - } - empowerMapper.update(null, new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getId, c.getId()) - .set(Empower::getRemark, remark) - .set(Empower::getSendInfo, remark) - .set(Empower::getSendStatus, Constants.EmpowerStatus.pass)); - } else { - empowerMapper.update(null, new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getId, c.getId()) - .set(Empower::getRemark, "涓嬪彂澶辫触") - .set(Empower::getSendInfo, "涓嬪彂澶辫触") - .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); - } - } else { - //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟 - if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){ + param.setResourceInfo(rec); + //鏌ヨ涓嬪彂鐘舵�� + BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param); + if(response!=null + && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) && response.getData()!=null + ) { + if (response.getData().getList() != null + && response.getData().getList().size() > 0) { + TaskPersonDetailResponse model = response.getData().getList().get(0); + if (model != null && StringUtils.equals(model.getPersondownloadResult(), "0")) { + //鏇存柊宸插畬鎴愪笅杞戒换鍔� + String remark = ""; + String cardInfo = "鍗$墖涓嬪彂澶辫触"; + TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail(); + if (d.getCards() != null && d.getCards().size() > 0) { + cardInfo = "鍗$墖锛氥��"; + for (TaskPersonDetailCardInfoResponse card : d.getCards()) { + cardInfo += card.getId() + " "; + } + cardInfo += "銆戜笅鍙戞垚鍔�"; + } + if (d.getFaces() == null || d.getFaces().size() == 0) { + remark = cardInfo + "锛� 涓嶆敮鎸佷汉鑴歌澶囷紒"; + } else { + remark = "" + cardInfo + "锛屼汉鑴镐笅鍙戞垚鍔燂紒"; + } + empowerMapper.update(null, new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getId, c.getId()) + .set(Empower::getRemark, remark) + .set(Empower::getSendInfo, remark) + .set(Empower::getSendStatus, Constants.EmpowerStatus.pass)); + } else { + empowerMapper.update(null, new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getId, c.getId()) + .set(Empower::getRemark, "涓嬪彂澶辫触") + .set(Empower::getSendInfo, "涓嬪彂澶辫触") + .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); + } + } else { + //濡傛灉鏄凡鍒犻櫎鐨勬暟鎹紝涓嬪彂澶辫触锛堥槻姝㈣澶囩绾匡級锛屽垯灏濊瘯閲嶆柊涓嬪彂浠诲姟 + if(Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){ // && Constants.formatIntegerNum(c.getTryNum())+1 < tryNum ){ - empowerMapper.update(null, new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getId, c.getId()) - .set(Empower::getRemark, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�") + empowerMapper.update(null, new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getId, c.getId()) + .set(Empower::getRemark, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�") // .set(Empower::getHkId,null) // .set(Empower::getSendDate,null) - .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1) - .set(Empower::getSendInfo, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�") - .set(Empower::getSendStatus, Constants.EmpowerStatus.wait)); - }else{ - empowerMapper.update(null, new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getId, c.getId()) - .set(Empower::getRemark, "涓嬪彂澶辫触") - .set(Empower::getSendInfo, "涓嬪彂澶辫触") - .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); - } + .set(Empower::getTryNum,Constants.formatIntegerNum(c.getTryNum())+1) + .set(Empower::getSendInfo, "涓嬪彂澶辫触锛岀瓑寰呴噸鏂板垹闄ゆ潈闄�") + .set(Empower::getSendStatus, Constants.EmpowerStatus.wait)); + empowerMapper.update(null, new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getId, c.getId()) + .set(Empower::getRemark, "鍒犻櫎鏉冮檺涓嬪彂澶辫触") + .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺涓嬪彂澶辫触") + .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); + }else{ + empowerMapper.update(null, new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getId, c.getId()) + .set(Empower::getRemark, "涓嬪彂澶辫触") + .set(Empower::getSendInfo, "涓嬪彂澶辫触") + .set(Empower::getSendStatus, Constants.EmpowerStatus.fail)); + } + } + checkDelMemberTask(c.getMemberId()); + } + } + }catch (Exception e){ - /* empowerMapper.update(null, new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getId, c.getId()) - .set(Empower::getRemark, Constants.equalsInteger(c.getIsdeleted(), Constants.ZERO) ? "涓嬪彂澶辫触" : "鍒犻櫎鏉冮檺鎴愬姛") - .set(Empower::getSendInfo, "鍒犻櫎鏉冮檺鎴愬姛") - .set(Empower::getSendStatus, Constants.equalsInteger(c.getIsdeleted(), Constants.ZERO) ? Constants.EmpowerStatus.fail : Constants.EmpowerStatus.pass)); - */ - } - checkDelMemberTask(c.getMemberId()); - } - } + }finally { + Constants.DEALING_HK_EMPOWER_DETAIL=false; + } + } + }); + t1.start(); + + }catch (Exception e){ e.printStackTrace(); - }finally { - Constants.DEALING_HK_EMPOWER_DETAIL=false; } } @@ -279,30 +283,41 @@ if(list == null || list.size() ==0){ return; } - for(Empower c : list){ - TaskProgressRequest param = new TaskProgressRequest(); - param.setTaskId(c.getHkId()); - //鏌ヨ涓嬪彂鐘舵�� - BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param); - if(response!=null - && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) - && response.getData()!=null - && response.getData().getIsDownloadFinished() != null - && response.getData().getIsDownloadFinished() ){ - //鏇存柊宸插畬鎴愪笅杞戒换鍔� - empowerMapper.update(null,new UpdateWrapper<Empower>() - .lambda() - .eq(Empower::getHkId,c.getHkId() ) - .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" ) - .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) ); - } - } + Thread t1=new Thread(new Runnable() { + @Override + public void run() { + try { + for(Empower c : list){ + TaskProgressRequest param = new TaskProgressRequest(); + param.setTaskId(c.getHkId()); + //鏌ヨ涓嬪彂鐘舵�� + BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param); + if(response!=null + && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) + && response.getData()!=null){ + //鏇存柊宸插畬鎴愪笅杞戒换鍔� + if( response.getData().getIsDownloadFinished() != null + && response.getData().getIsDownloadFinished() ){ + empowerMapper.update(null,new UpdateWrapper<Empower>() + .lambda() + .eq(Empower::getHkId,c.getHkId() ) + .set(Empower::getSendInfo,"浠诲姟宸蹭笅杞藉畬鎴�" ) + .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) ); + + } + } + } + }catch (Exception e1){ + e1.printStackTrace(); + }finally { + Constants.DEALING_HK_EMPOWER_RESULT =false; + } + } + }); + t1.start(); }catch (Exception e){ e.printStackTrace(); - }finally { - Constants.DEALING_HK_EMPOWER_RESULT =false; } - } @@ -311,21 +326,47 @@ * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙� */ @Override - public void syncEmpowerData() { - if(Constants.DEALING_HK_EMPOWER){ - return ; - } - Constants.DEALING_HK_EMPOWER =true; + public Integer syncEmpowerData(Integer endId) { +// if(Constants.DEALING_HK_EMPOWER){ +// return null ; +// } +// Constants.DEALING_HK_EMPOWER =true; try { //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁 - dealDelListTask(getDealList(Constants.ONE)); - //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙� - dealNewListTask(getDealList(Constants.ZERO)); + List<Empower> allList =getAllWaitDealList( endId); + if(allList !=null && allList.size()>0){ + //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁,閲嶆柊涓嬪彂鏈�鏂颁汉鍛樻潈闄愬嵆鍙� +// dealNewListTask(getDealList(Constants.ZERO,endId)); + List<Empower> dellist = new ArrayList<>(); + List<Empower> addlist = new ArrayList<>(); + for(Empower e : allList){ + if(Constants.equalsInteger(e.getIsdeleted(),Constants.ONE)){ + dellist.add(e); + }else { + addlist.add(e); + } + } + Thread t1=new Thread(new Runnable() { + @Override + public void run() { + if(dellist!=null &&dellist.size()>0) { + dealDelListTask(dellist); + } + if(addlist!=null &&addlist.size()>0) { + dealNewListTask(addlist); + } + } + }); + t1.start(); + return allList.get(allList.size()-1).getId(); + } + }catch (Exception e){ e.printStackTrace(); }finally { - Constants.DEALING_HK_EMPOWER =false; +// Constants.DEALING_HK_EMPOWER =false; } + return null; } @Override public void syncEmpowerDataNew(int start,int end) { @@ -405,7 +446,21 @@ .set(Empower::getEditDate,date) .in(Empower::getId,errorList)); } + public class TaskRuner implements Runnable{ + private List<Empower> list ; + @Override + public void run() { + dealNewListTask(list); + } + public List<Empower> getList() { + return list; + } + + public void setList(List<Empower> list) { + this.list = list; + } + } private void dealNewListTask(List<Empower> list) { //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁 if(list ==null || list.size()==0){ @@ -520,7 +575,7 @@ return false; } } - private List<Empower> getDealList(int del ) { + private List<Empower> getDealList(int del ,Integer endId ) { MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Empower.class); queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo); @@ -530,7 +585,26 @@ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId); queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId); queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait); - queryWrapper.eq( Empower::getIsdeleted,del); +// queryWrapper.eq( Empower::getIsdeleted,del); + queryWrapper.gt(Empower::getId,endId); + queryWrapper.orderByAsc(Empower::getId ); +// queryWrapper.orderByAsc(Empower::getCreateDate ); + queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓� + List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper); + return list; + } + private List<Empower> getAllWaitDealList(int endId ) { + MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Empower.class); + queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo); + queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId); + queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode); + queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType); + queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId); + queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId); + queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait); +// queryWrapper.eq( Empower::getIsdeleted,del); + queryWrapper.gt(Empower::getId,endId); queryWrapper.orderByAsc(Empower::getId ); // queryWrapper.orderByAsc(Empower::getCreateDate ); queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓� -- Gitblit v1.9.3